➜︎ Retour - Menu API, webhooks et mailhooks
API : créer un client
Menu de la documentation
Votre adresse API et votre clé
Renseignez-les une fois : tous les exemples de ces pages les utilisent, et les boutons « Copier » copient la requête prête à l'emploi. Ils ne quittent pas votre navigateur. La clé n'est gardée que le temps de cette session, sauf si vous cochez cette case : . Dans ce cas, la clé sera aussi conservée dans ce navigateur web. Votre adresse et votre clé sont dans Réglages → API & Make.
Cette page décrit la création d'un client par l'API. Réglage de l'API : Réglages → API & Make.
POST/api/V1/client?api_key=VOTRE_CLE
Cette route crée un client. Avec "clientModif": true, elle fait une création ou une mise à jour : si le client existe déjà, il est modifié au lieu d'être refusé.
Le corps de la requête est un JSON, et l'en-tête Content-Type: application/json est à joindre.
Exemple#
curl -X POST "ADRESSE_API/api/V1/client?api_key=VOTRE_CLE" \
-H "Content-Type: application/json" \
-d '{
"nom": "Dupont",
"prenom": "Martin",
"idExterne": "CRM-4821",
"sectionEntreprise": { "entreprise": "Dupont Services" },
"sectionSocial": {
"email": "achats@dupont-sarl.fr",
"emailPub": true,
"mobile": "0612345678"
},
"sectionAdresse": {
"adresse1": "3 rue des Écoles",
"cp": "29000",
"ville": "Quimper"
}
}'
Le corps de la requête#
Toutes les propriétés sont facultatives, mais le client doit être identifiable : il faut au moins un nom, un prénom, une entreprise ou un contact (email, mobile...).Les propriétés de la fiche
| Propriété | Type | Explications |
|---|---|---|
| clientModif | boolean | false : le client est créé, et refusé s'il existe déjà. true : s'il existe déjà, il est mis à jour ; sinon il est créé. Par défaut false. |
| nom | string | Le nom de famille (80 caractères au maximum). |
| prenom | string | Le prénom (80 caractères au maximum). |
| anniversaire | string | L'anniversaire, jour puis mois, 4 chiffres : 1503 pour le 15 mars. Invalide s'il n'y a pas 4 chiffres, si le jour n'est pas de 1 à 31 ou le mois de 1 à 12. |
| type | string | Le libellé du type de client, tel que dans Melkal (par exemple « PROFESSIONNEL »). S'il est absent, le type par défaut est utilisé. Un libellé inconnu est refusé. |
| tarif | string | Le libellé du tarif du client. S'il est absent, c'est le tarif du type de client. Un libellé inconnu est refusé. |
| suivi | string | Le nom du vendeur qui suit ce client. Un nom inconnu est refusé. |
| compte | string | Le compte comptable du client. Il doit commencer par 411 (ou par 9 ou 0). |
| uuid | string | L'identifiant unique du client (UUID version 4). S'il est absent, Melkal en crée un. Il permet de retrouver le client. |
| idExterne | string | L'identifiant que votre application donne au client (200 caractères au maximum). Il permet d'éviter les doublons et de retrouver le client. |
| ean | string | Le code-barre interne de la carte du client : un EAN 8 valide commençant par 8. S'il est absent, Melkal en crée un. |
| Propriété | Type | Explications |
|---|---|---|
| entreprise | string | Le nom de l'entreprise (150 caractères au maximum). |
| idTva | string | Le numéro de TVA intracommunautaire. |
| adresseLivr | string | L'adresse de livraison. |
| Propriété | Type | Explications |
|---|---|---|
| email emailPub |
string boolean |
L'adresse email, et true si le client accepte de recevoir de la publicité (opt-in). |
| mobile mobilePub |
string boolean |
Le numéro de mobile, et son opt-in. |
| tel | string | Le numéro de téléphone fixe. |
| instagram tiktok x |
string | Les identifiants sur les réseaux sociaux. |
| Propriété | Type | Explications |
|---|---|---|
| remarques | string | Des indications sur l'adresse (code du portail...). |
| adresse1 adresse2 |
string | Les deux lignes d'adresse. |
| cp ville |
string | Le code postal et la ville. |
| Propriété | Type | Explications |
|---|---|---|
| descriptif | string | Le descriptif du client. |
| note1 ... note6 | string | Les six notes de la fiche (leurs titres sont ceux que vous avez choisis dans Melkal). |
Créer ou mettre à jour : comment Melkal retrouve le client#
Avec "clientModif": true, Melkal cherche si le client existe déjà, dans cet ordre, et s'arrête au premier trouvé :- l'UUID ;
- l'idExterne ;
- le code-barre (ean) ;
- le compte comptable ;
- l'email, puis le mobile, le téléphone, et les identifiants Facebook, X, Instagram et TikTok.
Conseil pour éviter les doublons : envoyez toujours votre propre idExterne avec "clientModif": true. Un client déjà créé est alors mis à jour, jamais dupliqué.
La réponse#
Code 200 : le client est créé (ou mis à jour). La réponse donne ses identifiants.{
"uuid": "38D13BD6-4836-4115-B829-B55AC2537B09",
"ean": "80003128",
"id": 312,
"idExterne": "CRM-4821",
"code": "312",
"clientCree": true
}
| Propriété | Type | Explications |
|---|---|---|
| id | integer | L'identifiant du client dans Melkal. |
| code | string | Le numéro (code) du client. |
| uuid | string | L'UUID du client. |
| ean | string | Le code-barre interne du client. |
| idExterne | string | Votre identifiant, s'il y en a un. |
| clientCree | boolean | true si le client vient d'être créé. Absente quand le client existait déjà et a été mis à jour. |
| clientModifie | boolean | true si un client existant a été mis à jour. Présente à la place de clientCree dans ce cas. |
Dernière mise à jour : 13 octobre 2026