➜︎ Retour - Menu API, webhooks et mailhooks
Les erreurs de l'API
Menu de la documentation
Cette page décrit comment l'API de Melkal répond quand quelque chose ne va pas. Réglage de l'API : Réglages → API & Make.
Le format d'une erreur#
Une erreur est un JSON de cette forme, avec le même code HTTP :{
"error": {
"code": "error-401",
"message": "Message de Melkal: cette clé API n'est pas reconnue.",
"status": 401
}
}
Le message est la partie utile : il dit précisément ce qui ne va pas. Le code est général (error-401, error-404 ou error-500), il ne distingue pas les causes.
Les codes HTTP#
| Code HTTP | Signification |
|---|---|
| 200 | La requête est réussie. |
| 401 | La requête est refusée : clé non reconnue, API non activée, mais aussi paramètre ou donnée invalide (type de recherche inconnu, date mal écrite, JSON incorrect, doublon...). Le message précise la cause. |
| 404 | Aucun client ne correspond à la demande. |
| 500 | Erreur interne de Melkal (par exemple une base de données momentanément occupée). Réessayez un peu plus tard. |
Attention : le code 401 sert à tous les refus, pas seulement à l'authentification. Pour savoir si c'est la clé qui est en cause,
lisez le message : « cette clé API n'est pas reconnue » ou « L'API n'est pas activée dans Melkal ».
Les messages d'erreur#
Chaque message commence par « Message de Melkal: ».Communs à toutes les routes
| Code HTTP | Message | Cause |
|---|---|---|
| 401 | cette clé API n'est pas reconnue. | La clé de la requête n'est pas celle de Melkal. Vérifiez qu'elle est complète, sans espace. |
| 401 | L'API n'est pas activée dans Melkal. | L'interrupteur « API activée » est sur Non dans Réglages → API & Make. |
| 500 | erreur interne. | Melkal n'a pas pu traiter la requête. Réessayez. |
| Code HTTP | Message | Cause |
|---|---|---|
| 404 | aucun client trouvé. | Aucun client ne correspond à la valeur recherchée. |
| 401 | le type de recherche est vide ou non valide. | rechercheType est absent ou n'est pas l'une des valeurs permises. |
| 401 | l'id externe indiqué pour la recherche est vide ou non valide. | Recherche par idExterne avec une valeur vide. |
| 401 | le code client Melkal indiqué pour la recherche est vide ou non valide. | Recherche par code avec une valeur vide ou qui n'est pas un nombre. |
| 401 | l'id Melkal indiqué pour la recherche est vide ou non valide. | Recherche par id avec une valeur vide ou qui n'est pas un nombre. |
| 401 | le code-barre indiqué pour la recherche est vide ou non valide. | Recherche par barcode avec une valeur vide. |
| 401 | le lien social indiqué pour la recherche est vide ou non valide. | Recherche par lienSocial avec une valeur vide. |
| 401 | l'UUID indiqué pour la recherche est vide ou non valide. | Recherche par uuid avec une valeur vide ou qui n'est pas un UUID valide. |
| Code HTTP | Message | Cause |
|---|---|---|
| 404 | aucun client trouvé. | Aucun client ne correspond aux filtres, ou la page demandée est après la dernière. |
| 401 | le nombre de clients par page doit être supérieur à 0 et inférieur à 101. | nbParPage est absent, nul ou supérieur à 100. |
| 401 | la date de création est invalide. | dateCrea n'est pas au format AAAA-MM-JJ ou AAAA-MM-JJ HH:MM:SS. |
| 401 | la date de modification est invalide. | Même cause pour dateModif. |
| 401 | la date d'API est invalide. | Même cause pour dateModifAPI. |
| 401 | la date de vente est invalide. | Même cause pour dateVt. |
| 401 | aucun code-barre EAN8/13 valide. | codebarre ne contient aucun code de 8 ou 13 chiffres. |
| 401 | trop de codes-barres dans la requête. | Plus de 100 codes-barres. |
| 401 | aucun UUID valide. | uuid ne contient aucun UUID valide. |
| 401 | trop d'UUID dans la requête. | Plus de 100 UUID. |
| 401 | le token est vide. | token est absent de la requête à clients_token. |
| 401 | Le numéro de page est 0. | page est absent ou vaut 0 : les pages commencent à 1. |
| 401 | Ce token n'est pas valide ou n'est pas un nombre. | Le token n'est pas celui que clients_initial a renvoyé. |
| Code HTTP | Message | Cause |
|---|---|---|
| 401 | le JSON envoyé à Melkal n'est pas valide. | Le corps de la requête n'est pas un JSON correct. |
| 401 | le client n'est pas assez identifiable, il faut au moins le nom ou le prénom ou l'entreprise ou un lien social. | Création : aucune de ces informations n'est fournie. |
| 404 | aucun client trouvé. | Modification : le client à modifier n'existe pas. |
| 401 | le type de client n'est pas valide. | Le libellé de type ne correspond à aucun type de client de Melkal. |
| 401 | le tarif n'est pas valide. | Le libellé de tarif ne correspond à aucun tarif de Melkal. |
| 401 | le vendeur (suivi) n'est pas valide. | Le nom donné dans suivi ne correspond à aucun vendeur. |
| 401 | le code-barres EAN8 n'est pas valide, il doit être de type EAN8 valide et commencer par un 8. | Le code-barre ean n'est pas un EAN 8 valide commençant par 8. |
| 401 | le compte comptable n'est pas valide. | Un compte client doit commencer par 411 (ou par 9 ou 0). |
| 401 | l'UUID n'est pas valide. | uuid n'est pas un UUID (version 4) valide. |
| 401 | l'anniversaire n'est pas valide. | anniversaire n'est pas au format JJMM (jour puis mois). |
| 401 | un client existe déjà avec cette adresse email. | Création sans clientModif : l'email est déjà sur une autre fiche. Mêmes messages pour un numéro de mobile, de téléphone, un identifiant Facebook, X, Instagram, TikTok, un code-barre, un UUID, un compte comptable ou un id externe. |
Que faire ?#
- 401 avec « clé API » : vérifiez la clé et l'interrupteur « API activée ».
- 401 avec un autre message : corrigez la requête selon le message ; ne la renvoyez pas telle quelle.
- 404 : le client n'existe pas (ou la page est vide) ; ce n'est pas une panne.
- 500 : réessayez après quelques secondes. Si l'erreur persiste, contactez l'assistance en indiquant l'heure et la route.
Dernière mise à jour : 13 octobre 2026