Chargement / Téléchargement de données via API Elbuz
L'API permet d'accéder aux informations stockées dans la base de données du produit logiciel Elbuz. Les éléments peuvent être récupérés, ajoutés, mis à jour et supprimés.
Format d'échange, authentification
- Le format JSON est utilisé pour l'interaction.
- Les requêtes utilisent la méthode POST HTTP.
- Pour l'authentification, un nom d'utilisateur et un mot de passe sont utilisés pour obtenir un jeton.
Informations de base
Limitation d'accès
- Accès API avec indication des adresses IP à partir desquelles l'accès est possible.
- Mode lecture seule (bloque l'accès pour modifier les données).
- Par le nombre de demandes - pas plus de 30 connexions en 60 secondes.
Pagination - mise en page
La sortie des données demandées est paginée. Le nombre maximum d'entrées dépend du type d'élément, la valeur par défaut est de 100 entrées par page. Le paramètre "page" est utilisé pour spécifier le numéro de page.
Lors de la réponse, des "méta" informations sont générées, par exemple :
[méta] => tableau ( [item_scope] => catégorie [total_row] => 474 [page_total] => 5 [page_suivant] => 2 [page_current] => 1 [request_time] => 00:00:00 )
Méta-informations de description :
- item_scope - le type de l'élément demandé
- total_row - nombre total d'éléments
- page_total - nombre total de pages
- page_next - numéro de la page suivante
- page_current - page actuelle
- request_time - temps nécessaire pour obtenir des informations
Sélection des éléments
Selon le type d'élément, différents paramètres sont disponibles qui limitent la sélection des données, par exemple, vous pouvez obtenir des produits d'une certaine catégorie uniquement, pour cela, vous devez passer le paramètre category_id dans lequel vous spécifiez l'ID de catégorie.
Restriction des champs de sortie
Le système vous permet d'augmenter la vitesse de travail pour l'échange d'informations, en ne recevant que les données dont vous avez besoin. Par exemple, une fiche produit peut contenir 150 champs, alors que vous n'avez besoin d'en obtenir que 10, vous pouvez spécifier l'ensemble de champs dont vous avez besoin lors de la demande de données, réduisant ainsi considérablement la quantité de données transférées et augmentant la vitesse de réponse et le temps nécessaire au traitement ultérieur de ces informations sur votre site. À cette fin, le paramètre limit_field est utilisé, dans lequel vous devez répertorier les champs dont vous avez besoin, séparés par des virgules.
Description de l'utilisation de l'API
Adresse de démarrage du service API : https://votre_adresse_de_domaine/admin/index.php?route=
Le paramètre route prend un chemin sur la base duquel le système comprend quelle opération effectuer.
Les valeurs suivantes sont disponibles pour le paramètre route :
- api/login - obtenir un jeton pour commencer
- api/scope/describe - description des champs d'élément
- api/scope/get - obtenir des éléments
- api/scope/add - ajout d'éléments
- api/scope/update - éléments de mise à jour
- api/scope/delete - suppression d'éléments
Le paramètre route peut être complété par le type d'élément sur lequel l'opération est effectuée.
Les valeurs suivantes sont disponibles selon le type d'opération :
- catégorie - catégories de produits
- produit – produits du catalogue de base
- product_price - produits des listes de prix
- attribut - attributs du produit
- attribute_block - blocs d'attributs
- langue - langues
- articles - articles
- fabricant - fabricants
- stock_status - états des stocks
- entrepôt - entrepôts
- magasin - magasins
- entreprise - entreprises
- entrepreneur - entrepreneurs
- contracter_group - groupes de sous-traitants
- monnaie - monnaies
- documents - documents
- document_type - types de documents
- document_status - statuts des documents
- document_payment_status - statuts de paiement
- document_delivery_status - statuts de livraison
Un exemple de lien pour obtenir une liste de catégories de produits : https://your_domain_address/admin/index.php?route=api/scope/get/category
De plus, le type d'élément peut être passé dans le paramètre scope via une requête POST, il n'est alors pas nécessaire de spécifier le type dans le lien.
Créer un utilisateur API, obtenir un jeton
L'échange de données via API s'effectue à l'aide d'un identifiant et d'un mot de passe (token). Pour créer un nouvel utilisateur API, rendez-vous dans le sous-système "Paramètres"
Sélectionnez ensuite "Accéder à l'API Jumper"
Cliquez sur le bouton + pour créer un nouvel utilisateur
Pour commencer à travailler avec l'API, vous devez obtenir un jeton, pour cela, vous devez envoyer une requête POST avec un identifiant et un mot de passe, en spécifiant route=api/login.
Adresse complète:
https://votre_adresse_de_domaine/admin/index.php?route=api/login
Paramètres POST requis :
- nom d'utilisateur - votre nom d'utilisateur
- clé - mot de passe
En réponse, vous recevrez un jeton, qui sera indiqué dans le champ api_token, ce jeton doit être utilisé pour d'autres requêtes à l'API.
Un exemple d'implémentation en PHP (la fonction send_data_to_jumper_api() est un wrapper pour CURL)
Récupération d'éléments
Pour obtenir une liste d'éléments, envoyez une requête POST avec route=api/scope/get.
Adresse complète:
https://votre_adresse_de_domaine/admin/index.php?route=api/scope/get
Paramètres POST requis :
- api_token - le jeton reçu plus tôt
- scope est l'identifiant de l'élément à partir duquel vous souhaitez obtenir des données. Le code de l'élément peut être spécifié dans le lien, auquel cas ce paramètre est facultatif.
Liste des codes d'éléments disponibles :- catégorie - catégories de produits
- produit – produits du catalogue de base
- product_price - produits des listes de prix
- attribut - attributs du produit
- attribute_block - blocs d'attributs
- langue - langues
- articles - articles
- fabricant - fabricants
- stock_status - états des stocks
- entrepôt - entrepôts
- magasin - magasins
- entreprise - entreprises
- entrepreneur - entrepreneurs
- contracter_group - groupes de sous-traitants
- monnaie - monnaies
- documents - documents
- document_type - types de documents
- document_status - statuts des documents
- document_payment_status - statuts de paiement
- document_delivery_status - statuts de livraison
Paramètres facultatifs :
- page - le numéro de page pour obtenir la prochaine liste d'enregistrements
- limit_field - liste des champs pour limiter la sortie
- extend - obtenir des données étendues. Par exemple, lors de la réception d'une fiche produit, vous pouvez développer les informations et recevoir des données supplémentaires telles que :
- attribut – attributs du produit
- image - photo du produit
- catégorie - liste des catégories où se trouve le produit
- extend_limit_field_attribute - liste de champs pour limiter la sortie d'informations étendues sur les attributs
- extend_limit_field_image - une liste de champs pour limiter la sortie d'informations étendues sur la photo
- extend_limit_field_category - une liste de champs pour limiter la sortie d'informations étendues sur les catégories
Exemple d'implémentation PHP
Ajouter des éléments
Pour ajouter un nouvel élément, envoyez une requête POST avec route=api/scope/add.
Adresse complète:
https://votre_adresse_de_domaine/admin/index.php?route=api/scope/add
Paramètres POST requis :
- api_token - le jeton reçu plus tôt
- scope est l'identifiant de l'élément à ajouter. Le code de l'élément peut être spécifié dans le lien, auquel cas ce paramètre est facultatif.
Liste des codes d'éléments disponibles :- catégorie - catégories de produits
- produit – produits du catalogue de base
- product_price - produits des listes de prix
- attribut - attributs du produit
- attribute_block - blocs d'attributs
- articles - articles
- fabricant - fabricants
- documents - documents
- name - le nom de l'élément (selon le type d'élément, différents champs peuvent être passés)
Exemple d'implémentation PHP
Mise à jour des éléments
Pour mettre à jour un élément, envoyez une requête POST avec route=api/scope/update.
Adresse complète:
https://votre_adresse_de_domaine/admin/index.php?route=api/scope/update
Paramètres POST requis :
- api_token - le jeton reçu plus tôt
- scope est l'identifiant de l'élément à mettre à jour. Le code de l'élément peut être spécifié dans le lien, auquel cas ce paramètre est facultatif.
Liste des codes d'éléments disponibles :- catégorie - catégories de produits
- produit – produits du catalogue de base
- monnaie - poulets de monnaie
- entrepreneur - entrepreneurs
- name - le nom de l'élément (selon le type d'élément, différents champs peuvent être passés)
Exemple d'implémentation PHP
Suppression d'éléments
Pour supprimer un élément, envoyez une requête POST avec route=api/scope/delete.
Adresse complète:
https://votre_adresse_de_domaine/admin/index.php?route=api/scope/delete
Paramètres POST requis :
- api_token - le jeton reçu plus tôt
- scope est l'identifiant de l'élément à supprimer. Le code de l'élément peut être spécifié dans le lien, auquel cas ce paramètre est facultatif.
Liste des codes d'éléments disponibles :- catégorie - catégories de produits
- produit – produits du catalogue de base
- attribut - attributs du produit
- attribute_block - blocs d'attributs
- entrepreneur - entrepreneurs
- articles - articles
- fabricant - fabricants
- documents - documents
- ID d'élément (selon le type d'élément, un nom de champ différent est utilisé)
Exemple d'implémentation PHP
Description des champs d'élément
Pour obtenir la description des champs d'élément, envoyez une requête POST avec route=api/scope/describe.
Adresse complète:
https://votre_adresse_de_domaine/admin/index.php?route=api/scope/describe
Paramètres POST requis :
- api_token - le jeton reçu plus tôt
- scope est l'identifiant de l'élément par lequel les informations doivent être obtenues. Le code de l'élément peut être spécifié dans le lien, auquel cas ce paramètre est facultatif.
Liste des codes d'éléments disponibles :- produit – produits du catalogue de base
- product_price - produits des listes de prix
- fabricant - fabricants
- entrepreneur - entrepreneurs
- documents - documents
- utilisateur - utilisateurs (employés)
- entreprise - entreprises
Exemple d'implémentation PHP
Exemple d'API étendue, langage PHP
Des exemples détaillés d'utilisation de l'API à l'aide du langage PHP sont disponibles sur ce lien .
Vous pouvez tester différents modes de fonctionnement, pour cela vous devez activer la variable souhaitée pour activer le bloc de code responsable de l'opération et de l'élément requis.