API

L’API de BoxHero permet aux développeurs d’intégrer nos capacités de gestion des stocks à des applications externes pour une récupération et une interaction efficaces des données.


Référence de l’API

Pour une documentation détaillée des points de terminaison, veuillez visiter : https://rest.boxhero-app.com/docs/apiarrow-up-right


Point de terminaison

Toutes les requêtes API doivent être adressées à l’URL de base suivante : https://rest.boxhero-app.com

Authentification

Toutes les requêtes API doivent inclure un Authorization en-tête avec un Jeton Bearer:

Pour obtenir un jeton API :

  1. Connectez-vous à votre compte BoxHero sur l’ordinateur (Web).

  2. Accédez à Paramètres > Intégrations.

  3. Générez un nouveau jeton API.

Faire des requêtes

Voici un exemple de requête API pour récupérer des produits.

Limites de fréquence

Pour garantir la stabilité du système, nous imposons les limites de fréquence suivantes :

  • 5 requêtes par seconde pour chaque point de terminaison.

Une fois la limite de fréquence atteinte, vous verrez un message d’erreur avec les éléments suivants :

  • X-Ratelimit-Limit - Nombre maximal de requêtes par minute

  • X-Ratelimit-Remaining - Requêtes restantes

  • X-Ratelimit-Reset - Temps restant (en secondes) avant la réinitialisation du nombre de requêtes


Réponses

Succès

Les réponses avec des codes de statut HTTP dans la plage 200 indiquent un traitement réussi de l’API.

Erreur

Les codes de statut dans la plage 400 ou 500 indiquent des échecs de requête API :

  • Plage 400 : erreur côté client due aux informations fournies avec la requête (par exemple, paramètres requis manquants).

  • Plage 500 : erreur côté serveur.

Exemple de réponse d’erreur :

  • id : Un identifiant unique pour identifier l’erreur.

  • type : Un code sous forme d’URL qui identifie le type d’erreur.

  • title : Fournit le contenu de l’erreur sous une forme lisible par l’humain.

  • correlation_id : Indique l’identifiant de la requête associée à l’erreur.

  • autres : Des champs supplémentaires peuvent être inclus pour fournir des informations additionnelles, telles que « given » dans l’exemple.

Types d’erreurs courants

Type
Description

/errors/not-found

Ressource demandée introuvable (par exemple, un élément avec un identifiant spécifique n’existe pas).

/errors/invalid-request

Paramètres invalides dans la requête.

/errors/invalid-team-mode

La requête demandée ne peut pas être traitée dans le mode d’équipe actuel (par exemple, utilisation de l’ emplacement API de recherche dans Mode de base).

/errors/tokens/required

Jeton API manquant.

/errors/tokens/invalid

Jeton API invalide (par exemple, le jeton API a expiré).

/errors/too-many-requests

Limite de fréquence dépassée.

/errors/unhandled

Erreur côté serveur non résolue.

/errors/core/usage-limit-exceeded

Limite d’utilisation atteinte. Mise à niveau du forfait requise.

Pagination

Pour les points de terminaison renvoyant de grands ensembles de données (par exemple, listes d’éléments, listes de transactions), l’API de vue en liste limite le nombre d’éléments renvoyés dans une seule requête via la pagination. Nous utilisons une pagination basée sur un curseur :

circle-info

Pour déterminer si la pagination est requise, vérifiez si des paramètres liés à la pagination sont présents dans le corps de la requête du point de terminaison dans la documentation de l’API.

Paramètres de pagination

  • has_more : Un booléen qui indique si des données supplémentaires existent au-delà de la page actuelle.

  • cursor : Fournit la valeur du curseur pour récupérer la page suivante.

Récupérer la page suivante

  • Vérifiez si has_more est true. Cela signifie qu’une autre page est disponible.

  • Si true, envoyez une autre requête en incluant cursor={received cursor value} dans les paramètres. Cela renverra les données suivantes.

  • Répétez jusqu’à ce que has_more est false pour récupérer la liste complète.


Support et commentaires

Si vous rencontrez des problèmes ou avez besoin de fonctionnalités API supplémentaires, veuillez contacter notre équipe d’assistancearrow-up-right. Nous accueillons favorablement vos commentaires pour améliorer l’API et vos demandes de nouvelles fonctionnalités.

Mis à jour