Site de Aurélien Millet - Actualité du 29 juin 2010

Aller directement au contenu de la page
 
 
DreamHost Hébergement DreamHost : 50$ de réduction lors votre inscription avec le code AMILLET.
 

Actualité du 29 juin 2010

Jun
29

API Magento : quelques notes

Petit oubli, grosse erreur de parsing

Erreur du type

Parse error: syntax error, unexpected T_PUBLIC in
app/code/core/Mage/Api/Model/Server/Adapter/Soap.php on line 134

Il faut ajouter une accolade fermante à la ligne incriminée.

Un appel à la méthode "resources" retourne un tableau vide

Il faut ajouter

else { $this->_renewBySessId($this->_currentSessId); }

à la ligne 51 dans app/code/core/Mage/Api/Model/Session.php.

La façon d'appeler les méthodes du WS SOAP diffère entre la v1 et la v2

Dans la v1 on utilise le nom de la ressource + point + le nom de la méthode, tels qu'on peut les lire dans la doc.

$client = new SoapClient($baseUrl . 'api/?wsdl');
$session = $client->login($apiUser, $apiKey);
$result = $client->call($session, 'directory_country.list');

Dans la v2 il suffit de prendre cette chaine, d'en supprimer les caractères non-alphanumériques et de la passer en lower camel case.

$client = new SoapClient($baseUrl . 'api/v2_soap?wsdl');
$session = $client->login($apiUser, $apiKey);
$result = $client->directoryCountryList($session);

Après il peut y avoir des cas particuliers comme par exemple pour le module Customer : customer.list devient customerCustomerList et non pas customerList comme on pourrait s'y attendre. Si votre premier essai d'appel ne marche pas, rendez-vous dans le module concerné /etc/api.xml, section v2/resources_function_prefix pour voir les alias.

Apparemment la façon d'utiliser les filtres change aussi mais pour le moment je n'ai pas eu à mettre les mains là-dedans donc je vous renvoie à cet article.

 
Revenir en haut de page