Vous découvrirez de nombreuses fonctionnalités intéressantes dans la version majeure récente d’OpenCart, allant de la conception totalement réactive en amont et en aval au système de notification d’événements, etc. L'un des plus puissants d'entre eux est l'introduction des API REST..
Dans cette série en deux parties, nous allons explorer la plupart des API disponibles et suivre le processus de création de commande à l'aide de celles-ci. Dans cette première partie, nous verrons comment créer des informations d'identification d'utilisateur d'API et une partie de l'utilisation de l'API de base..
Les API REST permettent aux systèmes tiers d’interagir avec le magasin OpenCart de manière transparente. Que diriez-vous de passer des commandes dans votre magasin en utilisant l'application iOS / Android? En fait, vous pouvez penser à n'importe quel système, quelle que soit la technologie sur laquelle il est construit! L'intégration est maintenant possible avec l'ensemble des API fournies par OpenCart 2.0..
Dans cette partie, je démontrerai l'utilisation des API à l'aide de la bibliothèque PHP cURL. Donc, vous aurez besoin de la bibliothèque PHP cURL installée pour exécuter les exemples. De toute évidence, vous aurez également besoin de la dernière version d'OpenCart, la version 2.0.!
Avant de commencer à utiliser les API, nous devons configurer "l'utilisateur API" pour cela. Sans cela, vous ne pouvez pas y accéder et vous obtiendrez une erreur d'autorisation refusée. Alors, mettons cela en place. Aller vers Système> Utilisateurs> API et ça va lister tous les utilisateurs d'API disponibles.
Clique sur le + bouton en haut à droite pour ajouter un nouvel utilisateur d'API.
Comme vous pouvez le voir, vous devez entrer Nom d'utilisateur, Mot de passe et Statut. Vous pouvez aussi utiliser le produire bouton pour créer une chaîne de mot de passe complexe, comme je l'ai fait! Assurez-vous également que le Statut est réglé sur Activée. Enregistrez les modifications et vous êtes prêt à partir!
Maintenant que nous avons configuré l'utilisateur de l'API, nous pouvons commencer à explorer les API!
Comme nous allons voir les principaux exemples PHP de base tout au long de cette série, assurons-nous de configurer le fichier avec le code commun afin d'éviter toute duplication.!
Allez-y et créez un common.php
déposer et coller le contenu suivant dans ce fichier.
$ valeur) $ params_string. = $ key. '='. $ valeur. '&'; rtrim ($ params_string, '&'); curl_setopt ($ ch, CURLOPT_POST, compte ($ params)); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ params_string); // exécutez post $ result = curl_exec ($ ch); // connexion étroite curl_close ($ ch); return $ result;
Comme vous pouvez le constater, il ne contient qu'une fonction, do_curl_request
, qui fera un appel CURL à l’URL passée par le $ url
argument. Le second argument est un tableau de paramètres au cas où vous auriez besoin de POST les données.
Les autres choses importantes à noter sont les CURLOPT_COOKIEJAR
et CURLOPT_COOKIEFILE
réglages. Ceux-ci définissent le fichier dans lequel les cookies seront stockés et lus. Comme nous devrons faire des appels authentifiés, c'est un must! Bien sûr, vous voulez changer le chemin /tmp/apicookie.txt
en fonction de vos paramètres système. Assurez-vous qu'il est également accessible en écriture par le serveur Web.!
Enfin, la fonction retourne la réponse par la requête CURL!
De toute évidence, la première chose à faire est de démarrer la session, et vous devrez utiliser le s'identifier
méthode. Regardons un exemple. Allez-y et créez un login.php
fichier avec le contenu suivant.
'Demo_api_user', 'mot de passe' => '5fbYF8oDteYSJhMQnXuxGB7jx7Ujk7zjJxuCwDSmZx3NJ47ARxW8Je70bYQrfpsfVamVXaMJ4GtHPxnu1ZX41JQN5Vy6V2XwaS6u5dMO6QDArRBc7P7RnriYyancCowlKVTNVUelIKGKmsTBZiPdcYAHX8n6pnSPvNa1wqfQaieKWux6fFZxIYlCstATe02UtFxvhzF82St2Cw0EhfC2rcFwDjQVAowMG1tGDAsIhz8EZa6ngSreD2qZQnqxg8Lm',); $ json = do_curl_request ($ url, $ fields); $ data = json_decode ($ json); var_dump ($ data);
Premièrement, nous avons inclus le common.php
fichier créé dans la section précédente. Ensuite, le $ url
variable définit l'URL de connexion à l'API du magasin OpenCart. Ensuite, le champs $
array contient les informations d'identification de l'utilisateur de l'API créées précédemment. Enfin, nous appelons le do_curl_request
méthode pour vous connecter.
Si tout est configuré correctement, vous devriez voir un message "Succès: la session de l'API a bien démarré!" message dans la réponse.
Toutes nos félicitations! Vous venez d'utiliser l'API REST de connexion dans OpenCart.!
Alors, maintenant que nous sommes connectés, commençons à ajouter des produits dans notre panier! Créer un fichier add_product.php
avec le contenu suivant.
'51', 'quantité' => '1'); $ json = do_curl_request ($ url, $ fields); $ data = json_decode ($ json); var_dump ($ data);
Encore une fois, des choses assez simples ici! Vous devez passer le product_id
et quantité
paramètres pour ajouter le produit dans le panier. Vous devriez voir le message "Réussite: vous avez modifié votre panier!" message en cas de succès!
Avant de poursuivre, essayons de comprendre comment OpenCart stocke les informations sur le produit dans l'objet panier. Voici à quoi ressemble l'objet cart.
Objet stdClass (… [products] => Array ([0] => Objet stdClass ([clé] => YToxOntzOjEwOiJwcm9kdWN0X2lkIjtpOjUwO30 => ID_produit] => 51 [nom] =.> Produit de démonstration [modèle> = Tableau () [quantité] => 1 [stock] => 1 [expédition] => 1 [prix] => 10,00 $ [total] => 20,00 $ [récompense] => 0))…)
Comme vous pouvez le voir, il est stocké comme un tableau référencé par le des produits
clé. le clé
est également crypté. Ainsi, pour éditer une entrée de produit dans l’objet, vous devez récupérer le fichier associé. clé
en utilisant le product_id
en premier lieu!
Voyons maintenant comment modifier la quantité du produit dans le panier. Créer un fichier edit_product.php
et collez le contenu suivant dans ce fichier.
produits [0] -> clé; // édite le produit dans le "Panier" en utilisant "clé" $ url = 'http: //votre-opencart-store-url/index.php? route = api / cart / edit'; $ champs = tableau ('clé' => $ clé_produit, 'quantité' => '2'); $ json = do_curl_request ($ url, $ fields); $ data = json_decode ($ json); var_dump ($ data);
Nous avons effectué deux appels CURL dans l'exemple ci-dessus. La première consiste à aller chercher tous les produits dans le panier et la seconde à mettre à jour la quantité de produit déjà dans le panier.!
Pour éditer un produit, vous aurez besoin de la clé $
pour le produit, et vous pouvez le trouver en récupérant le tableau complet de produits à partir de la session de panier.
Par souci de simplicité, j'ai récupéré la clé à l'aide de la touche 0
index directement. Mais bien sûr, vous devrez le trouver en utilisant le product_id
.
$ product_key = $ products_data-> products [0] -> key;
Le reste est simple: nous ne faisons que passer le clé
et le quantité
nous aimerions mettre à jour pour le produit! Encore une fois, vous devriez voir "Succès: vous avez modifié votre panier!" dans la réponse pour s'assurer que la quantité est mise à jour correctement.
Donc c'est tout pour aujourd'hui. Dans la suite de ce didacticiel, nous verrons le reste des exemples pour créer une commande.!
Aujourd'hui, nous avons examiné l'importante fonctionnalité "API REST" d'OpenCart. Nous avons suivi le processus de création d’un utilisateur d’API, puis nous avons exploré quelques exemples concrets pour comprendre l’utilisation des API. J'aimerais entendre vos commentaires sur cette fonctionnalité passionnante!