Noțiuni introductive cu API-urile web Magento (REST și SOAP)

Publicat: 2020-10-06

Cadrul Magento 2 Web API oferă utilizatorilor posibilitatea de a crea noi servicii care pot comunica cu module terțe. Sunt Magento 2 care acceptă serviciile web REST și SOAP bazate pe operațiuni CRUD (creare, citire, actualizare și ștergere).

În acest articol, vom explica pașii inițiali de utilizare a Magento 2 API. Aceste API-uri accelerează puterea de procesare și facilitează transmiterea datelor, cum ar fi produse, clienți sau comenzi, precum și transferul acestora către un sistem terță parte. De asemenea, vă ajută să gestionați inventarul.

Prin automatizarea procesului, utilizarea API-ului vă ajută să scrieți mai puțin cod.

Cuprins

  • Ce sunt Magento Web API-urile?
  • Ce poți face cu API-urile web Magento?
  • Noțiuni introductive: cu Magento 2 Rest API
  • Creați utilizator de serviciu web în Magento 2
  • Autentificare Magento 2 REST API
  • Obțineți module folosind API-ul REST în Magento 2
  • Utilizați serviciile SOAP
  • Servicii SOAP—Autentificare folosind Magento 2
  • Cuvinte finale

Ce sunt Magento Web API-urile?

API-ul web Magento este foarte ușor de înțeles pentru dezvoltatorii care doresc să utilizeze servicii web care ajută la comunicarea cu sistemul Magento. Aceste caracteristici sunt esențiale pentru API:

  • Magento 2 acceptă atât REST (Representational State Transfer) cât și SOAP (Simple Object Access Protocol).
  • Oferă trei tipuri de autentificare: 1) OAuth 1.0a pentru autentificarea aplicațiilor terță parte, 2) metoda de tokenizare pentru autentificarea aplicației mobile și 3) autentificarea de conectare pentru administrare și verificarea clienților.
  • Puteți configura orice API web Magento sau terță parte scriind câteva rânduri de XML.
  • Acceptă filtrarea în câmp a API-ului web care păstrează răspunsul mobil.
  • Cadrul actual se bazează pe CRUD (creare, citire, actualizare, ștergere) și modelul de căutare.

Ce poți face cu API-urile web Magento?

API-urile ajută diversele module să comunice între ele. Ele pot fi folosite pentru a efectua o gamă largă de sarcini. De exemplu:

  • Puteți crea magazine online folosind Magento și le puteți conecta la un sistem fizic precum POS (Point of Sale) pentru a controla inventarul la nivel global
  • Se integrează cu ușurință cu sistemele backend CRM (Customer Relationship Management) sau ERP (Enterprise Resource Planning), cum ar fi Salesforce, Microsoft Dynamics sau alt software de sunet
  • Ajută la conectarea cu CMS (Sistemul de management al conținutului)
  • De asemenea, puteți crea widget-uri JavaScript în backend-ul Magento (panoul de administrare) sau în vitrina Magento

Noțiuni introductive: cu Magento 2 Rest API

Pentru a crea un rol de serviciu web în Magento 2, urmați acești pași simpli:

1. Conectați-vă la Panoul de administrare Magento 2.

2. Accesați Sistem >> Roluri utilizator și faceți clic pe butonul Adăugare rol nou .

Noțiuni introductive cu Magento Web API | Mageworx Magento Blog

3. Introduceți numele rolului .

Noțiuni introductive cu Magento Web API | Mageworx Magento Blog

4. În câmpul Parola dvs. , introduceți parola curentă a administratorului Magento 2.

Noțiuni introductive cu Magento Web API | Mageworx Magento Blog

5. În partea stângă, faceți clic pe Resurse pentru rol. Sub Acces la resurse, selectați doar ceea ce este necesar pentru serviciul dvs. web.

Noțiuni introductive cu Magento Web API | Mageworx Magento Blog

6. După ce ați terminat, apăsați pe Salvare rol.

Creați utilizator de serviciu web în Magento 2

Creați un utilizator nou pentru rolul nou creat urmând acești pași:

1. Accesați Sistem >> Toți utilizatorii, apoi faceți clic pe Adăugare utilizator nou .

Noțiuni introductive cu Magento Web API | Mageworx Magento Blog

2.Introduceți informațiile necesare, inclusiv Nume de utilizator , Nume și Prenume , E- mail și Parolă .

Noțiuni introductive cu Magento Web API | Mageworx Magento Blog

3. În partea stângă, faceți clic pe Rol utilizator și apoi selectați rolul nou creat. După ce ați terminat, faceți clic pe butonul Salvare utilizator .

Noțiuni introductive cu Magento Web API | Mageworx Magento Blog

Autentificare Magento 2 REST API

Aici, voi autentifica API-ul REST prin metoda de autentificare cu simbol. Aceasta implică transmiterea unui nume de utilizator și a unei parole în conexiunea inițială și primirea unui token care va fi salvat într-o variabilă pentru apeluri ulterioare.

 <?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); ?>

Vă rugăm să rețineți: numele de utilizator și parola sunt folosite ca exemplu.

Obțineți module folosind API-ul REST în Magento 2

Puteți prelua date folosind API-ul REST Magento 2. Iată o listă completă de API-uri REST pentru Magento EE și CE.

 <?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); ?>

În codul de mai sus, am trecut deja jetonul (care a fost preluat mai devreme) cu URL-ul API pentru a obține toate modulele instalate pe magazinul Magento 2.

Iată codul complet.

 <?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); ?>

Utilizați serviciile SOAP

Înainte de a intra în serviciile SOAP, este important să aflăm despre convențiile de denumire ale Magento:

  • Trebuie să utilizați CamelCase pentru serviciile de denumire. De exemplu, MyFirstModule
  • Șirul „Service” este omis, ceea ce înseamnă că nu îl puteți utiliza.
  • Prefixul „Magento” și sufixul „Interfață” sunt, de asemenea, escaladate.
  • Dacă numele dvs. „serviciu” este același cu numele „modulului”, numele modulului va fi omis.

Breviar actualizări MageWorx | Blog MageWorx

Deci, asigurați-vă că aveți în vedere aceste puncte.

Servicii SOAP—Autentificare folosind Magento 2

Resursele SOAP pot fi accesate folosind jetoane de acces OAuth prin HTTP. Autentificarea OAuth este similară cu metoda tokenului, dar furnizează un aranjament mai complex. Tokenurile de acces sunt șiruri de caractere care reprezintă o autorizație de acces emisă clientului.

Iată scriptul PHP care explică cum să obțineți un token de acces:

 <?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); ?>

Cuvinte finale

Acest articol a subliniat elementele de bază ale API-urilor web Magento, dar puteți învăța multe altele. Dacă doriți o înțelegere mai fermă a utilizării API-ului Magento 2, atunci ar trebui să explorați modul în care metodele sunt încorporate în Magento 2 și extensiile terță parte. De asemenea, ar trebui să înțelegeți cum să transmiteți informațiile către sistemul necesar.

Deci asta este!

Pentru a experimenta găzduirea Magento mai rapidă cu liniște, consultați această perioadă de încercare gratuită de 3 zile pe DigitalOcean, Vultr și Linode.