Magento Web API'lerine Başlarken (REST & SOAP)
Yayınlanan: 2020-10-06Magento 2 Web API çerçevesi, kullanıcılara üçüncü taraf modüllerle iletişim kurabilen yeni hizmetler oluşturma fırsatı sunar. Bunlar Magento 2'dir, CRUD işlemlerine (oluşturma, okuma, güncelleme ve silme) dayalı REST ve SOAP web servislerini destekler.
Bu yazıda Magento 2 API kullanmanın ilk adımlarını açıklayacağız. Bu API'ler, işlem gücünü hızlandırır ve ürünler, müşteriler veya siparişler gibi verilerin iletilmesini ve ayrıca üçüncü taraf bir sisteme aktarılmasını kolaylaştırır. Ayrıca envanteri yönetmenize yardımcı olur.
API kullanımı süreci otomatikleştirerek daha az kod yazmanıza yardımcı olur.
İçindekiler
- Magento Web API'leri nedir?
- Magento Web API'leriyle Neler Yapabilirsiniz?
- Başlarken: Magento 2 Rest API ile
- Magento 2'de Web Hizmeti Kullanıcısı Oluşturun
- Magento 2 REST API Kimlik Doğrulaması
- Magento 2'de REST API Kullanan Modülleri Alın
- SABUN Hizmetlerini Kullanın
- SOAP Servisleri―Magento 2 Kullanarak Kimlik Doğrulama
- Son sözler
Magento Web API'leri nedir?
Magento web API'si, Magento sistemiyle iletişim kurmaya yardımcı olan web hizmetlerini kullanmak isteyen geliştiriciler için anlaşılması çok kolaydır. Bu özellikler API'nin anahtarıdır:
- Magento 2, hem REST'i (Temsili Durum Transferi) hem de SOAP'ı (Basit Nesne Erişim Protokolü) destekler.
- Üç tür kimlik doğrulama sunar: 1) üçüncü taraf uygulama kimlik doğrulaması için OAuth 1.0a, 2) mobil uygulama kimlik doğrulaması için simgeleştirme yöntemi ve 3) yönetim ve müşteri doğrulaması için oturum açma kimlik bilgisi.
- Birkaç satır XML yazarak herhangi bir Magento veya üçüncü taraf web API'sini yapılandırabilirsiniz.
- Mobil yanıtı koruyan web API'sinin alan filtrelemesini destekler.
- Mevcut çerçeve, CRUD (oluşturma, okuma, güncelleme, silme) ve arama modeline dayanmaktadır.
Magento Web API'leriyle Neler Yapabilirsiniz?
API'ler, çeşitli modüllerin birbirleriyle iletişim kurmasına yardımcı olur. Çok çeşitli görevleri gerçekleştirmek için kullanılabilirler. Örneğin:
- Magento'yu kullanarak çevrimiçi mağazalar oluşturabilir ve envanteri küresel olarak kontrol etmek için bunları POS (Satış Noktası) gibi fiziksel bir sistemle bağlayabilirsiniz.
- Salesforce, Microsoft Dynamics veya diğer ses yazılımları gibi CRM (Müşteri İlişkileri Yönetimi) veya ERP (Kurumsal Kaynak Planlama) arka uç sistemleriyle kolayca entegre edin
- CMS (İçerik Yönetim Sistemi) ile bağlantı kurmaya yardımcı olur
- Ayrıca Magento arka ucunda (Yönetici paneli) veya Magento vitrininde JavaScript widget'ları oluşturabilirsiniz.
Başlarken: Magento 2 Rest API ile
Magento 2'de bir web hizmeti rolü oluşturmak için şu kolay adımları izleyin:
1.Magento 2 Yönetici Panelinde oturum açın.
2.Sistem >> Kullanıcı Rolleri'ne gidin ve Yeni Rol Ekle düğmesine tıklayın.
3. Rol adını girin.
4. Parolanız alanına, Magento 2 Yöneticinizin mevcut parolasını girin.
5.Sol tarafta, Rol Kaynakları'na tıklayın. Kaynak Erişimi altında, yalnızca web hizmetiniz için gerekli olanı seçin.
6. Tamamlandığında, Rolü Kaydet'e basın.
Magento 2'de Web Hizmeti Kullanıcısı Oluşturun
Aşağıdaki adımları izleyerek yeni oluşturulan rol için yeni bir kullanıcı oluşturun:
1.Sistem >> Tüm Kullanıcılar'a gidin ve ardından Yeni Kullanıcı Ekle'ye tıklayın.
2.Kullanıcı Adı , Adı ve Soyadı , E-posta ve Şifre dahil olmak üzere gerekli bilgileri girin.
3. Sol tarafta, Kullanıcı Rolü öğesine tıklayın ve ardından yeni oluşturulan rolü seçin. Bittiğinde, Kullanıcıyı Kaydet düğmesini tıklayın.
Magento 2 REST API Kimlik Doğrulaması
Burada, belirteç doğrulama yöntemiyle REST API'nin kimliğini doğrulayacağım. Bu, ilk bağlantıda bir kullanıcı adı ve şifre iletmeyi ve sonraki aramalar için bir değişkene kaydedilecek bir belirteci almayı içerir.
<?php //API URL for authentication $apiURL="http://magento-91647-257956.cloudwaysapps.com/index.php/rest/V1/integration/admin/token"; //parameters passing with URL $data = array("username" => "username", "password" => "********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); ?>
Lütfen dikkat: Kullanıcı adı ve şifre örnek olarak kullanılmıştır.
Magento 2'de REST API Kullanan Modülleri Alın
Magento 2 REST API'sini kullanarak veri alabilirsiniz. Magento EE ve CE için REST API'lerinin tam listesi.
<?php //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourgeneratedUrl'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>
Yukarıdaki kodda, tüm modülleri Magento 2 mağazasına yüklemek için belirteci (daha önce alınmış olan) API URL'siyle zaten geçtim.
İşte tam kod.
<?php //API URL for authentication $apiURL="URL"; //parameters passing with URL $data = array("username" => "username", "password" => "*********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); //******************************************// //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourURL'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>
SABUN Hizmetlerini Kullanın
SOAP hizmetlerine girmeden önce Magento'nun adlandırma kurallarını öğrenmek önemlidir:
- Adlandırma hizmetleri için CamelCase'i kullanmanız gerekir. Örneğin, MyFirstModule
- "Hizmet" dizesi atlanmıştır, yani onu kullanamazsınız.
- "Magento" öneki ve "Arayüz" soneki de yükseltilir.
- 'Hizmet' adınız 'modül' adıyla aynıysa, modül adı atlanacaktır.
Bu nedenle, bu noktaları aklınızda tuttuğunuzdan emin olun.
SOAP Servisleri―Magento 2 Kullanarak Kimlik Doğrulama
SOAP kaynaklarına HTTP üzerinden OAuth erişim belirteçleri kullanılarak erişilebilir. OAuth kimlik doğrulaması, belirteç yöntemine benzer ancak daha karmaşık bir düzenleme sağlar. Erişim belirteçleri, istemciye verilen erişim yetkisini temsil eden dizelerdir.
Erişim belirtecinin nasıl alınacağını açıklayan PHP betiği:
<?php $opts = [ 'http'=> [ 'header' => 'Authorization: Bearer 36849300bca4fbff758d93a3379f1b8e' ] ]; $wsdlUrl = 'http://magento.ll/soap/default?wsdl=1&services=testModule1AllSoapAndRestV1'; $serviceArgs = ["id" => 1]; $context = stream_context_create($opts); $soapClient = new SoapClient($wsdlUrl, ['version' => SOAP_1_2, 'stream_context' => $context]); $soapResponse = $soapClient->testModule1AllSoapAndRestV1Item($serviceArgs); ?>
Son sözler
Bu makale, Magento web API'lerinin temellerini özetledi, ancak öğrenebileceğiniz daha çok şey var. Magento 2 API kullanımı hakkında daha sıkı bir kavrayış istiyorsanız, yöntemlerin yerleşik Magento 2 ve üçüncü taraf uzantılarının nasıl olduğunu araştırmalısınız. Ayrıca bilgiyi gerekli sisteme nasıl ileteceğinizi de anlamalısınız.
İşte bu kadar!
Daha hızlı Magento barındırma deneyimini gönül rahatlığıyla yaşamak için DigitalOcean, Vultr ve Linode'daki bu 3 günlük ücretsiz denemeye göz atın.