În această serie, discutăm API personalizate în Magento.
În prima parte, am creat un modul personalizat complet pentru implementarea API-ului personalizat, în care am creat fișierele necesare pentru a conecta API-urile personalizate furnizate de modulul nostru.
În această a doua și ultima parte, vom trece prin secțiunea din spate pentru a demonstra cum să consumăm API-urile.
Să facem o recapitulare rapidă a primei părți. Iată lista fișierelor pe care le-am creat deja:
De asemenea, dacă ați activat deja modulul nostru personalizat, ar trebui să vedeți că metoda noastră API "customapimoduleProductList" este listată împreună cu celelalte API atunci când vizitați pagina http: // yourmagentostore / api / v2_soap? Wsdl = 1 care conține toate listele API-urile disponibile în Magento.
Magento acceptă "rolurile API" și "utilizatorii API". Avem nevoie de "roluri API" deoarece nu doriți să permiteți accesul utilizatorului la fiecare API al Magento. "Rolurile API" sunt folosite pentru a crea roluri cu permisiuni de acces limitat la resursele API.
De exemplu, puteți crea un rol care permite accesul numai în citire la API-urile "Product Listing". Pe de altă parte, puteți crea un rol care permite modificarea catalogului și va fi atribuit numai utilizatorilor "autorizați"!
În această secțiune, vom crea un demo "Rolul API" și "Utilizatorul API". Mai târziu, le vom folosi pentru a consuma API-urile personalizate furnizate de modulul nostru. Treceți la spatele Magento!
Mergi la Sistem> Servicii Web> (SOAP / XML-RPC) Roluri. Click pe Adăugați un rol nou pentru a crea un nou rol. Sub Informații despre roluri tab, am intrat "Demo Rolul SOAP" în Nume rol camp.
Apoi, sub Resurse pentru resurse , veți vedea diferitele resurse cu casetele de selectare. Faceți clic pe Produse> Date despre produs Caseta de bifat. Aceasta înseamnă că "Rolul SOAP Demo" poate accesa API-urile cu resurse de date "Produs". Faceți clic pe Salvați rolul pentru a salva informațiile privind rolul.
Acum, hai să creăm utilizatorul API și să alocăm rolul "Demo SOAP Role" acelui utilizator. Mergi la Sistem> Servicii Web> (SOAP / XML-RPC) Utilizatori. Click pe Adăugați un utilizator nou pentru a crea un utilizator nou. Sub Informații utilizator , completați informațiile necesare.
Mai mult, în cadrul Rolul utilizatorului selectați fila Demo Rolul SOAP buton de radio. Faceți clic pe Salvați utilizatorul pentru a salva informațiile despre utilizator.
Deci asta a fost - am stabilit rolul necesar și utilizatorul a accesat API-urile Magento!
În această secțiune, vom vedea cum să sunăm API-urile Magento. Sub root-ul documentului, creați un exemplu de fișier PHP și completați-l cu următorul conținut.
autentificare ("soapuser", "soapuser"); $ result = $ client -> customapimoduleProductList (sesiune $); $ Client -> endSession (sesiunea $); echo "„; print_r ($ rezultat); // v1 apel $ client = nou SoapClient ('http://www.yourmagentostore.com/api/soap/?wsdl=1'); $ session = $ client -> login ("soapuser", "soapuser"); $ result = $ client -> apel (sesiune $, 'product.list', array (array ())); $ Client -> endSession (sesiunea $); echo "„; print_r ($ rezultat);Schimbați "http://www.yourmagentostore.com" în adresa Magento Magento. După cum am menționat mai devreme, Magento susține două versiuni ale API-urilor v1 și v2. În acest exemplu, am demonstrat ambele căi.
În modul API v2, mai întâi creați o nouă instanță a clasei "SoapClient". Apoi, numim metoda "login" pentru a vă conecta la magazinul Magento - desigur, va trebui să furnizăm numele de utilizator și parola "Utilizatorului API" create în secțiunea anterioară. În cele din urmă, numim metoda "customapimoduleProductList" pentru a prelua lista de produse!
sesiune de $
variabila este trecută ca parametru de intrare la metoda de revendicare a autenticității metodei. Un lucru important este faptul că "customapimoduleProduct" este prefixul de resurse și "list" este numele metodei.În modul API v1, singura parte diferită este chemarea metodei API. Folosim o metodă generică de "apel", în care un "nume de metodă" și alți parametri sunt transmiși ca argumente. După cum puteți vedea, "produsul" este folosit ca prefix de resurse și "lista" este numele metodei!
Concluzie
Așa că însumează seria! Acum ar trebui să vă simțiți confortabil cu API-urile Magento și puteți crea API personalizate conform cerințelor dvs.! Simțiți-vă libertatea de a vă împărtăși sugestiile și feedbackul!