Aller au contenu principal

API des bons de commande

🚀 Pourquoi utiliser l’API des bons de commande?​

Les bons de commande sont des Ă©lĂ©ments essentiels de la gestion des stocks et de la logistique dans DataDocks. Ils reprĂ©sentent des ententes concernant la livraison de produits vers vos entrepĂŽts (entrants) ou leur expĂ©dition depuis ces derniers (sortants). L’API des bons de commande vous permet de crĂ©er, suivre et gĂ©rer ces documents critiques de façon programmatique, en reliant directement vos systĂšmes de chaĂźne d'approvisionnement Ă  vos opĂ©rations d’entrepĂŽt.

ProblĂšmes rĂ©els rĂ©solus par cette API​

  • Rationalise le traitement des commandes : crĂ©ez et mettez Ă  jour automatiquement les bons de commande Ă  partir de votre systĂšme ERP ou de gestion de commandes
  • AmĂ©liore la visibilitĂ© des stocks : suivez les arrivĂ©es et dĂ©parts attendus avec des informations dĂ©taillĂ©es sur les produits
  • Simplifie la gestion des transporteurs : associez des transporteurs aux bons de commande pour faciliter la logistique
  • Optimise la planification : dĂ©finissez les Ă©chĂ©anciers attendus pour mieux gĂ©rer les ressources de l'entrepĂŽt
  • Active l’analyse avancĂ©e : accĂ©dez Ă  des donnĂ©es structurĂ©es sur les bons de commande pour les rapports et analyses

DĂ©marrage rapide en 5 minutes​

PrĂȘt Ă  crĂ©er votre premier bon de commande via l’API? Suivez ces Ă©tapes simples :

  1. Obtenez votre jeton API auprĂšs du support
  2. Identifiez le sous-domaine de votre emplacement (exemple : votre-entrepot.datadocks.com)
  3. CrĂ©ez un bon de commande de base avec la commande suivante :
Voir l’exemple cURL
curl -X POST \
https://your-warehouse.datadocks.com/api/v1/purchase_orders \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"purchase_order": {
"po_number": "PO-2023-001",
"carrier_name": "Express Logistics",
"outbound": false,
"expected_starts_at": "2023-06-01T08:00:00-04:00",
"expected_ends_at": "2023-06-01T16:00:00-04:00",
"purchase_order_items": [
{
"product_name": "Widgets",
"unit_name": "Pallet",
"quantity": 10,
"weight": 500
}
]
}
}'
  1. C’est terminĂ© ! Votre bon de commande est maintenant dans DataDocks. VĂ©rifiez votre tableau de bord pour le voir.

Aperçu de l’architecture de l’API​

┌─────────────────┐       ┌─────────────────┐       ┌─────────────────┐
│ Votre systĂšme │──────▶│ API DataDocks │──────▶│ OpĂ©rations │
│ (ERP/OMS/TMS) │◀─────── (REST/JSON) │◀─────── EntrepĂŽt (BC/PI)│
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ â–Č
│ │
â–Œ │
┌─────────────────┐
│ Rendez-vous │
│ et horaires │
│ │
└─────────────────┘

Authentification​

Toutes les requĂȘtes API doivent inclure votre jeton API dans l’en-tĂȘte Authorization :

Authorization: Token YOUR_API_TOKEN

Lister les bons de commande​

Objectif​

RĂ©cupĂ©rez une liste paginĂ©e de bons de commande avec possibilitĂ© de filtrage par numĂ©ro de BC. Utilisez ce point de terminaison pour synchroniser les bons de commande avec vos systĂšmes, vĂ©rifier le statut des livraisons attendues ou prĂ©parer des rapports sur l’activitĂ© de l’entrepĂŽt.

Cas d’usage mĂ©tier​

  • Synchroniser les bons de commande avec votre ERP ou systĂšme de gestion des commandes
  • GĂ©nĂ©rer des rapports sur les mouvements de stocks attendus
  • Surveiller les livraisons ou expĂ©ditions Ă  venir
  • Suivre la performance des transporteurs Ă  travers les bons de commande

RequĂȘte HTTP​

GET https://[location_subdomain].datadocks.com/api/v1/purchase_orders

ParamĂštres de requĂȘte​

ParamĂštreTypeObligatoireDescriptionExemple
pageIntegerNonNuméro de page (pagination, valeur par défaut 1)page=2
po_numberStringNonFiltrer par numéro de BC exact (insensible à la case)po_number=A-1000

Format de rĂ©ponse​

La rĂ©ponse contient un tableau d’objets bons de commande, chacun avec les champs suivants :

ChampTypeDescription
idIntegerIdentifiant unique du bon de commande
po_numberStringNuméro du bon de commande
nameStringNom généré automatiquement d'aprÚs les détails du BC
carrier_nameStringNom du transporteur attribué au bon de commande
location_nameStringNom de l'emplacement/entrepĂŽt
outboundBooleanIndique si la commande est sortante (true) ou entrante (false)
expected_starts_atStringTimestamp ISO8601 du début prévu
expected_ends_atStringTimestamp ISO8601 de fin prévue
custom_valuesObjectPaires clé-valeur de champs personnalisés
purchase_order_itemsArrayListe des articles associés à ce bon de commande

Chaque item dans purchase_order_items contient :

ChampTypeDescription
idIntegerIdentifiant unique de l’article
customer_nameStringNom du client associĂ© Ă  l’article
product_nameStringNom du produit
unit_nameStringUnité de mesure (ex. : « Palette », « Boßte »)
quantityNumberQuantité du produit
weightNumberPoids de l’article
custom_valuesObjectPaires clé-valeur de champs personnalisés pour cet article

Exemples de code​

cURL​

Voir l’exemple cURL
# Liste de base
curl -H "Authorization: Token YOUR_API_TOKEN" \
https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders

# Filtrer par numéro de BC
curl -H "Authorization: Token YOUR_API_TOKEN" \
"https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders?po_number=A-1000"

JavaScript​

Voir l’exemple JavaScript
// Utiliser fetch API avec filtre par numéro de BC
const getPurchaseOrders = async (poNumber) => {
const params = new URLSearchParams();
if (poNumber) params.append("po_number", poNumber);

const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders?${params.toString()}`,
{
method: "GET",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
}
);

if (!response.ok) {
const errorData = await response.json();
throw new Error(
`Impossible d’obtenir la liste des bons de commande : ${JSON.stringify(errorData)}`
);
}

return response.json();
};

Exemple de rĂ©ponse​

Voir un exemple de réponse
[
{
"id": 1,
"po_number": "A-1000",
"name": "A-1000-FastCo-Cereal",
"carrier_name": "FastCo",
"location_name": "Toronto",
"outbound": false,
"expected_starts_at": "2020-10-09T13:35:00-04:00",
"expected_ends_at": "2020-10-15T13:35:00-04:00",
"custom_values": {
"expected_at": "2020-10-09",
"travel_type": "Plane",
"forklift_operator": "Joe"
},
"purchase_order_items": [
{
"id": 2,
"customer_name": "FishCo",
"product_name": "Trout",
"unit_name": "Skid",
"quantity": 16,
"weight": 102,
"custom_values": {}
},
{
"id": 1,
"customer_name": "FishCo",
"product_name": "Cereal",
"unit_name": "Skid",
"quantity": 33,
"weight": 581,
"custom_values": {}
}
]
}
]

RĂ©cupĂ©rer un seul bon de commande​

Objectif​

Obtenez l’information dĂ©taillĂ©e d’un bon de commande prĂ©cis par son ID. Utilisez ce point de terminaison lorsque vous avez besoin de toutes les donnĂ©es sur une commande, incluant les lignes d’articles et les champs personnalisĂ©s.

Cas d’usage mĂ©tier​

  • Afficher les dĂ©tails d’un bon de commande dans votre application
  • VĂ©rifier les dĂ©tails avant traitement
  • AccĂ©der Ă  la liste complĂšte des articles de la commande
  • VĂ©rifier les valeurs de champs personnalisĂ©s Ă  des fins d’intĂ©gration

RequĂȘte HTTP​

GET https://[location_subdomain].datadocks.com/api/v1/purchase_orders/:id

Paramùtres d’URL​

ParamĂštreTypeObligatoireDescription
idIntegerOuiIdentifiant unique du bon de commande

RĂ©ponse​

Une requĂȘte rĂ©ussie retourne une rĂ©ponse 200 OK avec l’objet complet du bon de commande, au mĂȘme format que pour la liste.

Exemples de code​

cURL​

Voir l’exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders/1

JavaScript​

Voir l’exemple JavaScript
const getPurchaseOrder = async (purchaseOrderId) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders/${purchaseOrderId}`,
{
method: "GET",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
}
);

if (!response.ok) {
if (response.status === 404) {
throw new Error(`Bon de commande #${purchaseOrderId} non trouvé`);
}

const errorData = await response.json();
throw new Error(
`Impossible de récupérer le bon de commande : ${JSON.stringify(errorData)}`
);
}

return await response.json();
} catch (error) {
console.error("Erreur lors de la récupération du bon de commande :", error);
throw error;
}
};

CrĂ©er un bon de commande​

Objectif​

CrĂ©er un nouveau bon de commande dans DataDocks. Ce point de terminaison permet d’ajouter des bons de commande et leurs lignes d’articles de façon automatisĂ©e, intĂ©grant ainsi votre systĂšme de gestion de commandes directement aux opĂ©rations de l’entrepĂŽt.

Arbre de dĂ©cision : Quand crĂ©er un BC via API​

┌─────────────────┐
│ Ajouter un BC ? │
└────────┬────────┘
│
▌
┌─────────────────────┐ Oui ┌──────────────────┐
│ IntĂ©gration avec │─────────▶│ IdĂ©al via l’API !│
│ votre ERP/SGC ? │ │ │
└────────┬────────────┘ └──────────────────┘
│ Non
▌
┌─────────────────────┐ Oui ┌────────────────────┐
│ Plusieurs BC Ă  crĂ©er│────────▶│ Utiliser l’import │
│ d’un seul coup ? │ │ en lot │
└────────┬────────────┘ └─────────────────────┘
│ Non
▌
┌─────────────────┐
│ Utiliser l’UI │
│ web │
└─────────────────┘

Cas d’usage mĂ©tier​

  • IntĂ©gration des systĂšmes : CrĂ©er directement des bons de commande via votre ERP ou gestion de commandes
  • Traitement automatisĂ© des commandes : Transformer les commandes de vente en BCs de façon programmĂ©e
  • IntĂ©gration EDI : Convertir des documents EDI 850 en BCs DataDocks
  • IntĂ©gration fournisseurs : Permettre aux fournisseurs de soumettre leurs BC via vos systĂšmes

RequĂȘte HTTP​

POST https://[location_subdomain].datadocks.com/api/v1/purchase_orders

Corps de la requĂȘte​

ParamÚtreTypeOblig.DescriptionContraintesDéfautExemple
po_numberStringOuiNumĂ©ro du bon de commandeDoit ĂȘtre uniqueAucun"PO-2023-001"
carrier_nameStringNon *Nom du transporteurAucunAucun"Express Logistics"
carrier_numberStringNonNumĂ©ro d’entreprise du transporteurDoit correspondre Ă  un transporteurAucun"EXP-001"
location_nameStringNonNom de l’emplacementDoit correspondre à un entrepîtEmplacement actif"Entrepît Toronto"
outboundBooleanNonIndique si la commande est sortanteAucunfalsetrue
expected_starts_atStringNonTimestamp ISO8601 du début prévuFormat ISO8601 valideAucun"2023-06-01T08:00:00-04:00"
expected_ends_atStringNonTimestamp ISO8601 de fin prévueFormat ISO8601 valideAucun"2023-06-01T16:00:00-04:00"
alternate_reference_numberStringNonNuméro de référence secondaireAucunAucun"REF-123"
closedBooleanNonStatut fermé du BCAucunfalsetrue
custom_valuesObjectNon *Valeurs des champs personnalisĂ©sSelon paramĂštres de l’emplacement{}{"department": "Produce"}
purchase_order_itemsArrayNonLignes d’articles du BCAu moins un recommandĂ©[]Voir ci-dessous

Chaque article dans purchase_order_items peut inclure :

ParamĂštreTypeOblig.DescriptionContraintesExemple
customer_nameStringNon *Nom du clientAucun"Acme Corp"
customer_numberStringNon *NumĂ©ro d’entreprise du clientDoit correspondre Ă  un client"ACME-001"
product_nameStringNon *Nom du produitAucun"Widgets"
unit_nameStringNon *Unité de mesureAucun"Pallet"
quantityNumberNon *QuantitĂ© du produitDoit ĂȘtre positive10
weightNumberNon *Poids de l’articleDoit ĂȘtre positif500
custom_valuesObjectNon *Champs personnalisĂ©s pour l’articleSelon paramĂštres de l’emplacement{"color": "Blue"}

* Peut ĂȘtre obligatoire selon les prĂ©fĂ©rences de l’emplacement

RĂ©ponse​

Une crĂ©ation rĂ©ussie retourne une rĂ©ponse 200 OK avec l’objet BC complet, incluant l’id gĂ©nĂ©rĂ© et autres valeurs systĂšme.

Exemples de code​

cURL​

Voir l’exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"purchase_order": {
"po_number": "PO-2023-001",
"carrier_name": "Express Logistics",
"outbound": false,
"expected_starts_at": "2023-06-01T08:00:00-04:00",
"expected_ends_at": "2023-06-01T16:00:00-04:00",
"custom_values": {
"department": "Electronics",
"priority": "High"
},
"purchase_order_items": [
{
"product_name": "Laptops",
"unit_name": "Box",
"quantity": 50,
"weight": 250,
"custom_values": {
"model": "XPS 13"
}
},
{
"product_name": "Monitors",
"unit_name": "Pallet",
"quantity": 10,
"weight": 500,
"custom_values": {
"size": "27-inch"
}
}
]
}
}' \
https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders

JavaScript​

Voir l’exemple JavaScript
const createPurchaseOrder = async (purchaseOrderData) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders`,
{
method: "POST",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({ purchase_order: purchaseOrderData }),
}
);

if (!response.ok) {
const errorData = await response.json();
const errorMessages = Object.entries(errorData.errors || {})
.map(([field, messages]) => `${field}: ${messages.join(", ")}`)
.join("\n");

throw new Error(`Échec de la crĂ©ation du bon de commande :\n${errorMessages}`);
}

return await response.json();
} catch (error) {
console.error("Erreur API :", error);
throw error;
}
};

Mettre à jour un bon de commande​

Objectif​

Mettre Ă  jour les dĂ©tails d’un bon de commande existant. Ce point d’API permet de modifier tous les aspects d’un BC, incluant ses articles, ses dates, le transporteur et les champs personnalisĂ©s.

Cas d’usage mĂ©tier​

  • DonnĂ©es Ă  jour : ajuster les dates de livraison ou le transporteur en cas de changement
  • Modifier le contenu : ajouter/retirer/changer des articles selon le besoin
  • Changer le statut du BC : marquer un bon de commande comme terminĂ©/fermĂ©
  • Ajouter des informations de suivi : mettre Ă  jour les champs personnalisĂ©s avec des informations complĂ©mentaires

RequĂȘte HTTP​

PUT https://[location_subdomain].datadocks.com/api/v1/purchase_orders/:id

Paramùtres d’URL​

ParamĂštreTypeObligatoireDescription
idIntegerOuiIdentifiant unique du bon de commande

Corps de la requĂȘte​

Ce corps accepte les mĂȘmes paramĂštres que la crĂ©ation. N’incluez que les champs Ă  modifier.

ScĂ©narios courants​

Mise à jour des dates​

{
"purchase_order": {
"expected_starts_at": "2023-06-05T08:00:00-04:00",
"expected_ends_at": "2023-06-05T16:00:00-04:00"
}
}

Changement de transporteur​

{
"purchase_order": {
"carrier_name": "Fast Transit Inc",
"carrier_number": "FTI-001"
}
}

Fermeture d’un bon de commande​

{
"purchase_order": {
"closed": true
}
}

Mise à jour des articles​

{
"purchase_order": {
"purchase_order_items": [
{
"id": 123,
"quantity": 15
},
{
"product_name": "New Product",
"unit_name": "Box",
"quantity": 5,
"weight": 25
}
]
}
}

Exemples de code​

cURL​

Voir l’exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{
"purchase_order": {
"carrier_name": "Updated Logistics Co",
"expected_starts_at": "2023-06-02T08:00:00-04:00",
"custom_values": {
"tracking_number": "TRK12345"
}
}
}' \
https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders/1

JavaScript​

Voir l’exemple JavaScript
const updatePurchaseOrder = async (purchaseOrderId, updateData) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders/${purchaseOrderId}`,
{
method: "PUT",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({ purchase_order: updateData }),
}
);

if (!response.ok) {
const errorData = await response.json();
throw new Error(
`Échec de la mise à jour du bon de commande : ${JSON.stringify(errorData)}`
);
}

return await response.json();
} catch (error) {
console.error("Erreur lors de la mise Ă  jour du bon de commande :", error);
throw error;
}
};

Supprimer tous les articles du BC​

Pour retirer toutes les lignes d’un bon de commande, ajoutez le paramùtre clear_po_items avec la valeur true:

{
"purchase_order": {
"clear_po_items": "true",
"purchase_order_items": [
{
"product_name": "New Product",
"unit_name": "Box",
"quantity": 10
}
]
}
}

Cela supprimera tous les articles existants et les remplacera par ceux fournis (le cas échéant).

Supprimer un bon de commande​

Objectif​

Supprimer un bon de commande du systĂšme. Ce point de terminaison permet d’éliminer des BC devenus inutiles.

Points importants​

Avant de supprimer un BC, considĂ©rez ce qui suit :

  • Il ne doit pas ĂȘtre associĂ© Ă  des rendez-vous actifs
  • La suppression est dĂ©finitive et irrĂ©versible
  • Il est souvent prĂ©fĂ©rable de marquer le bon de commande comme "fermĂ©" plutĂŽt que de le supprimer

Cas d’usages mĂ©tiers​

  • Nettoyage de donnĂ©es de test : enlever les BC fictifs ou de test
  • Élimination des doublons : nettoyage lors des dĂ©duplications de donnĂ©es
  • Entretien du systĂšme : suppression des vieux enregistrements inutilisĂ©s

RequĂȘte HTTP​

DELETE https://[location_subdomain].datadocks.com/api/v1/purchase_orders/:id

Paramùtres d’URL​

ParamĂštreTypeObligatoireDescription
idIntegerOuiIdentifiant unique du bon de commande

RĂ©ponse​

Une suppression réussie retourne 204 No Content, indiquant que la suppression a été effectuée avec succÚs.

Exemples de code​

cURL​

Voir l’exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
-X DELETE \
https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders/1

JavaScript​

Voir l’exemple JavaScript
const deletePurchaseOrder = async (purchaseOrderId) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/purchase_orders/${purchaseOrderId}`,
{
method: "DELETE",
headers: {
Authorization: "Token YOUR_API_TOKEN",
},
}
);

if (!response.ok) {
if (response.status === 404) {
throw new Error(`Bon de commande #${purchaseOrderId} non trouvé`);
}

const errorData = await response.json();
throw new Error(
`Échec de la suppression du bon de commande : ${JSON.stringify(errorData)}`
);
}

return true; // Suppression réussie
} catch (error) {
console.error("Erreur lors de la suppression du bon de commande :", error);
throw error;
}
};

RĂ©solution automatique des entitĂ©s​

RĂ©solution du transporteur​

Lors de la crĂ©ation ou la modification d’un bon de commande, vous pouvez fournir soit carrier_name, soit carrier_number (ou les deux) :

  • Si vous fournissez carrier_number, le systĂšme essayera de trouver un transporteur correspondant via son numĂ©ro d’entreprise
  • Si une correspondance est trouvĂ©e, le nom et l’ID du transporteur seront automatiquement associĂ©s au BC
  • Sinon, la valeur fournie sera utilisĂ©e comme carrier_name

RĂ©solution du produit​

Pour la crĂ©ation ou mise Ă  jour d’articles du bon de commande :

  • Si le nom du produit correspond Ă  un produit existant (insensible Ă  la case), celui-ci sera utilisĂ©
  • Sinon, l’article sera créé mais sera peut-ĂȘtre non liĂ© Ă  un produit enregistrĂ©
  • contactez le support si vous souhaitez crĂ©er un produit inexistant

RĂ©solution de l’unité​

Comme pour les produits :

  • Si le nom de l’unitĂ© correspond Ă  une unitĂ© existante (insensible Ă  la case), elle sera utilisĂ©e
  • Sinon, l’article n’aura pas d’association de type d’unitĂ© valide
  • contactez le support si l’unitĂ© n’existe pas encore

Bonnes pratiques​

Gestion des donnĂ©es​

  • Utilisez des numĂ©ros de BC uniques : assurez-vous que chaque BC a un identifiant unique
  • Fournissez les numĂ©ros d’entreprise des transporteurs : pour une association fiable avec un transporteur
  • Validez les donnĂ©es cĂŽtĂ© client : effectuez des validations de base avant l’envoi
  • PrivilĂ©giez le statut "fermĂ©" : marquez les BCs comme fermĂ©s plutĂŽt que de les supprimer
  • GĂ©rez adĂ©quatement les champs personnalisĂ©s : utilisez seulement ceux configurĂ©s pour votre emplacement

Optimisation de performance​

  • Inclure toutes les donnĂ©es pertinentes : si possible, envoyez tous les dĂ©tails en une seule requĂȘte API
  • Utiliser les opĂ©rations groupĂ©es : regroupez les modifications de BC liĂ©es ensemble
  • Soyez prĂ©cis dans vos requĂȘtes : utilisez les filtres disponibles pour limiter le volume de donnĂ©es transfĂ©rĂ©es

ProblĂšmes frĂ©quents et dĂ©pannage​

  • UnicitĂ© du numĂ©ro de BC : les numĂ©ros doivent ĂȘtre uniques par emplacement
  • Formatage des dates : toutes les dates doivent ĂȘtre au format ISO8601 (ex. : « 2023-06-01T08:00:00-04:00 »)
  • Association des transporteurs : vĂ©rifiez le numĂ©ro d’entreprise pour une association automatique correcte
  • Types des champs personnalisĂ©s : Les champs JSON demeurent en JSON, les autres sont convertis en chaĂźnes
  • Suppression des articles : utilisez le paramĂštre clear_po_items pour effacer/redĂ©finir tous les articles

Gestion des erreurs​

Code d’erreurDescriptionCause possible
400RequĂȘte invalideValeurs ou format incorrects
404IntrouvableID du bon de commande inexistant
422Entité non traitableValidation échouée (ex : champ requis manquant)
401Non autoriséJeton API invalide ou manquant
403InterditPermissions insuffisantes

Exemple de rĂ©ponse d’erreur​

{
"errors": {
"po_number": ["ne peut pas ĂȘtre vide"],
"purchase_order_items": ["doit contenir au moins un article"]
}
}

Aide et support​

Si vous rencontrez des problùmes qui ne sont pas couverts dans cette documentation :

  1. VĂ©rifiez la rĂ©ponse d’erreur : la plupart des erreurs API incluent des indications prĂ©cises sur la cause
  2. VĂ©rifiez les permissions : assurez-vous que votre jeton API a les autorisations nĂ©cessaires
  3. Testez par Ă©tapes : dĂ©composez les opĂ©rations complexes pour isoler la cause du problĂšme