Wat is Magento 2 API en hoe deze te gebruiken


Magento API is een soort framework dat ontwikkelaars en integrators een goede methode biedt om webservices te maximaliseren die goed communiceren met het Magneto -systeem. Onder de primaire kenmerken zijn ondersteuning voor SOAP (Simple Object Access Protocol) en REST (Representation State Transfer). De dekking is precies hetzelfde voor zowel zeep als rust in Magento 2.
Er zijn 3 soorten authenticatie: de mobiele applicaties authenticeren via tokens de applicaties van derden die authenticeren via Oath 1.0A. De authenticatie van klanten en beheerders via inloggegevens. Elk account en integratie dient als toegewezen bronnen waartoe ze toegang hebben. Het API -framework bewaakt de oproepen om te controleren of de account is gemachtigd om het verzoek uit te voeren.
Elke magento- of derde partijservice kan via XML worden geconfigureerd in een web -API. Om de web -API te configureren, moet u XML -attributen en elementen definiëren in een configuratiebestand WebAPI.xml. Zodra de service niet in een configuratiebestand is gedefinieerd, wordt deze niet weergegeven. Het framework is verankerd op het Crud -model, dat staat voor het maken, lezen, update en verwijderen. Het systeem ondersteunt geen webhook. Het framework ondersteunt echter het veldfiltering van web -API -reacties om de mobiele bandbreedte beter te behouden. De integratiestijl van Web API helpt een web -API om talloze services tegelijkertijd te bedienen om efficiëntie te bevorderen. De Magento API's kunnen worden gebruikt om taken uit te voeren, zoals: het maken van een winkeltoepassing en het traditionele type applicatie die kan worden gedownload naar een mobiele telefoon of apparaat. Deze applicatie kan door de werknemers in een showroom worden gebruikt om de winkelervaring van de klant te vergemakkelijken. Integratie met CRM (Customer Relationship Management) of ERP (Enterprise Resource Planning) Backend -type systemen zoals Xero of Salesforce. Integratie van CMS (Content Management System). Content -tagging wordt echter nog niet ondersteund. JavaScript -widgets maken in het admin -paneel of Magento -winkel. De widget maakt AJAX -oproepen om toegang te krijgen tot services. De Magento API ondersteunt XML-RPC en SOAP– SOAP dient als het standaardprotocol.

ZEEP

Om verbinding te maken met Magento Soap Web Services, laadt u de WSDL in uw SOAP -client van een van deze URL's: http: // magentohost/API/? WSDL
http: // magentohost/api/soap/? wsdl waar magentohost het domein is voor je magento -host.
Vanaf V1.3 kunt u ook de volgende URL gebruiken om toegang te krijgen tot de Magento API V2, die is toegevoegd om de compatibiliteit met Java en.net te verbeteren: http: // Magentohost/API/V2_SOAP? WSDL = 1 Het volgende PHP -voorbeeld toont hoe je zeepoproepen doe naar de Magento API v1: $ client = new SoapClient ('http: // magentohost/api/soap/? Wsdl'); // Als Somestuff API-authentificatie vereist, // Haal een sessie-token $ session = $ client-> login ('Apiuser', 'Apikey'); $ result = $ client-> call ($ sessie, 'somestuff.method'); $ result = $ client-> call ($ sessie, 'Somestuff.method', 'Arg1'); $ result = $ client-> call ($ sessie, 'Somestuff.method', array ('arg1', 'arg2', 'arg3')); $ result = $ client-> multicall ($ sessie, array (array ('somestuff.method'), array ('somestuff.method', 'arg1'), array ('somestuff.method', array ('arg1', 'arg2')))); // Als u de sessie niet meer nodig hebt $ client-> Endessession ($ sessie);

XML-RPC

Om XML-RPC te gebruiken, laadt u de volgende URL in uw XML-RPC-client: http: // magentohost/api/xmlrpc/waarbij magentohost het domein is voor uw magento-host.
Het volgende PHP-voorbeeld laat zien hoe je XML-RPC-oproepen kunt maken: $ client = new Zend_XMLRPC_Client ('http: // magentohost/api/xmlrpc/'); // Als Somestuff API-authentificatie vereist, // We moeten sessietoken $ session = $ client-> call ('login', array ('apiuser', 'apikey')); $ client-> call ('call', array ($ sessie, 'somestuff.method', array ('arg1', 'arg2', 'arg3'))); $ client-> call ('call', array ($ sessie, 'somestuff.method', 'arg1')); $ client-> call ('call', array ($ sessie, 'somestuff.method')); $ client-> call ('multicall', array ($ sessie, array (array ('somestuff.method', 'arg1'), array ('somestuff.method', array ('arg1', 'arg2')), array ('somestuff.method'))))); // Als u de sessie niet meer nodig hebt $ client-> Call ('Endsession', array ($ sessie)); De XML-RPC ondersteunt alleen versie 1 van de Magento API.

API -methoden

De volgende tabel bevat de API-methoden die kunnen worden aangeroepen vanuit uw SOAP- of XML-RPC-client op de Magento V1 API. Beschrijving Retourwaarde Startsession () Start de API -sessie en retour Session -ID. String Endsession (SessionId) Beëindig de API -sessie. Boolean Login (Apiuser, Apikey) Start de API -sessie, retourneer de sessie -ID en autoriseer de API -gebruiker. String Call (SessionId, ResourcePath, Array -argumenten) roep de API -bron aan die is toegestaan ​​in de huidige sessie. Zie opmerking hieronder. Gemengde multicall (SessionID, array -oproepen, array -opties) roepen de methoden van de API -bron aan die zijn toegestaan ​​voor de huidige sessie. Zie opmerkingen hieronder. Array Resources (SessionId) Retourneer een lijst met beschikbare API -bronnen en methoden die zijn toegestaan ​​voor de huidige sessie. Array GlobalFaults (SessionId) Retourneer een lijst met foutberichten en hun codes die niet afhankelijk zijn van een bron. Array Resourcefaults (SessionId, ResourCename) Retourneer een lijst met de opgegeven bronnenfoutberichten, als deze bron is toegestaan ​​in de huidige sessie. Array Opmerking: voor oproep en multicall, als er geen sessie is opgegeven, kunt u alleen bronnen aanroepen die niet worden beschermd door ACL. Opmerking: voor Multicall, als de optie “Break” is opgegeven, breekt multicall -breekt bij de eerste fout.
De Magento SOAP API V2 ondersteunt de methoden Call () en Multicall () niet en biedt in plaats daarvan een afzonderlijke methode voor elke API -bron.

Globale API -fouten

De volgende tabel bevat foutcodes die van toepassing zijn op alle SOAP/XML-RPC API-oproepen. Foutcode Foutbericht 0 Onbekende fout 1 Interne fout. Zie Log voor meer informatie. 2 Toegang geweigerd. 3 Ongeldig API -pad. 4 Resource Path is niet oproepbaar.

Soap API -versie V2

Sinds Magento 1.3 is versie V2 van de SOAP API ook beschikbaar. Het belangrijkste verschil tussen V1 en V2 is dat het in plaats van de methodenoproep en multicall te gebruiken, het afzonderlijke methoden heeft voor elk van de acties.
Overweeg bijvoorbeeld de volgende PHP -code met behulp van SOAP V1. $ params = array (array ('status' => array ('eq' => 'in behandeling'), 'customer_is_guest' => array ('eq' => '1')))); $ result = $ client-> call ($ sessionid, 'sales_order.list', $ params); Met SOAP V2 zou de volgende code gelijkwaardig zijn. $ params = array ('filter' => array (array ('key' => 'status', 'value' => 'ining'), array ('key' => 'customer_is_guest', 'value' => ' 1 '))); $ result = $ client-> SalesOrderList ($ sessionId, $ params); Merk op dat de WSDL voor SOAP V1 en SOAP V2 anders zijn.
Merk op dat in SOAP V1 het aanpassen van de API niet inhield de WSDL te wijzigen. In SOAP V2 zijn wijzigingen in de WSDL vereist. U kunt de SOAP V2 API configureren als WS-I-compatibel in het menu Systeemconfiguratie. Om dit te doen, set services> Magento Core API> WS-I naleving van JA. Merk op dat de WSDL voor de SOAP V2 API anders is in WS-I conforme modus. Met behulp van de WS-I-conforme SOAP V2 API WSDL is het eenvoudig om automatisch clientklassen te genereren voor Java, .NET en andere talen met behulp van de standaardbibliotheken.

badges

Let’s connect

We hebben altijd zin in nieuwe en uitdagende projecten. We gaan graag met je in gesprek!