Implémentation d’un client RESTful avec une Description Guzzle

De nos jours de nombreuses problématiques liées au développement d’un site marchand peuvent voir leur traitement simplifié et externalisé via des API; par exemple le paiement en ligne, la facturation, ou l’envoi d’emails. Dans le cadre de cet article, nous allons créer un service pour s’interfacer avec l’API de facturation de matpe.fr.

MaTPE est un service en ligne de gestion commerciale et de facturation qui permet gérer des comptes clients, des devis et des factures au travers d’une API.

La documentation de l’API appuie chaque instruction disponible d’un exemple d’appel curl. Mais au lieu d’utiliser des appels curl très verbeux et ennuyeux à tester, nous allons utiliser Guzzle, ainsi que son package complémentaire guzzle-services.

Plutôt que de créer chaque méthode de notre API à la main, nous allons utiliser un outil très pratique fourni par le second package « guzzle-services »: la Description. Une Description permet de décrire l’API et ses différents points d’entrées (URL et méthode HTTP) pour obtenir un service tout de suite opérationnel.

Avant de commencer, nous avons défini en paramètre les 5 informations nécessaires à l’utilisation de l’API de MaTpe :

Créons maintenant notre service. Nous savons qu’un appel curl à l’API ressemble à ça :

Il nous faut envoyer des headers spécifiques et traiter le contenu des requêtes exclusivement en JSON. Dans le cadre de l’article, nous allons couvrir quelques méthodes liées à la manipulation de clients :

Notons que l’utilisation de « additionalParameters » nous permet ici de gagner de la place, mais que dans une version un peu plus stricte du service il serait préférable de décrire dans « parameters » chacun des paramètres supportés pour chaque opération.

Ajoutons la dénition du service:

Et c’est tout ! Notre service est déjà prêt à être utilisé :

Partagez cet article