Enregistre une expédition : un point d'enlèvement, un destinataire, une marchandise.
C'est l'appel central de l'intégration.
Ce que vous envoyez — identification des parties
Le destinataire et le point d'enlèvement s'expriment de deux façons, au choix, indépendamment
l'un de l'autre :
- Par référence, si la partie existe déjà chez nous — destinataire :
clientId, point d'enlèvement : id.
- En clair, en décrivant la partie dans la requête. Elle est alors créée au passage et réutilisable ensuite.
Le nom du champ diffère entre les deux : destinataire.clientId mais
pointRamassage.id. C'est la source d'erreur la plus fréquente au démarrage —
un champ inconnu est ignoré silencieusement, et la partie part vide.
Ce que vous envoyez — description en clair
| Champ | Type | Description |
| nom | texte | Raison sociale ou nom de la partie. |
| adresse | texte | Adresse d'enlèvement ou de livraison. |
| ville | entier | Code ville du référentiel LVE, transmis à l'onboarding. |
| telephone | texte | Format marocain : 06…, 05…, 07… ou +212…. |
| mail | texte | Optionnel. |
| clientType | texte | Destinataire uniquement : LVE_D livraison à domicile, LVE_G retrait en agence. |
Le point d'enlèvement utilise contactNom, contactTelephone et
contactMail à la place de nom, telephone et mail
pour la personne à joindre sur place.
Ce que vous envoyez — marchandise et service
| Champ | Type | Requis | Règle |
| poids | décimal | oui | Minimum 2. En kilogrammes. |
| port | texte | oui | P port payé par l'expéditeur, D port dû par le destinataire. |
| livraison | texte | oui | D à domicile, G retrait en agence. |
| nature | texte | oui | Normal, Fragile ou Tres fragile. |
| colis | entier | non | Nombre de colis. Zéro ou plus. |
| palettes | entier | non | Avec le détail par format : paletteA, paletteB, paletteC, paletteAutre. |
| espece | décimal | non | Montant à encaisser en espèces à la livraison. |
| cheque | décimal | non | Montant à encaisser par chèque. |
| traite | décimal | non | Montant à encaisser par traite. |
| valeur | décimal | non | Valeur déclarée de la marchandise. |
| longueur | décimal | non | Avec largeur et hauteur, pour l'encombrement. |
| bl | texte | non | Référence de votre bon de livraison, avec nbreBl. |
| commentaire | texte | non | Consigne libre pour l'exploitation. |
| numeroSuivi | texte | non | Votre propre référence, reprise telle quelle. |
Exemple d'appel
POST /demandes
Authorization: Bearer <accessToken>
Content-Type: application/json
{
"destinataire": {
"nom": "Société Exemple",
"telephone": "0600000000",
"adresse": "12 rue de l'Exemple",
"ville": 100,
"clientType": "LVE_D"
},
"pointRamassage": {
"nom": "Entrepôt Nord",
"adresse": "Zone industrielle, lot 4",
"ville": 100,
"contactNom": "Service expédition",
"contactTelephone": "0600000000"
},
"colis": 1,
"poids": 2,
"port": "P",
"livraison": "D",
"nature": "Normal"
}
Ce que vous recevez
{
"success": true,
"data": {
"numero": "…",
"numeroSuivi": "…"
}
}
201 — l'expédition vient d'être créée.
200 avec le message « Commande deja existante » — requête identique déjà traitée, on vous rend la même expédition.
Ce que ça déclenche
- L'expédition entre en circuit au statut
CREEE et un enlèvement est programmé.
- Les parties décrites en clair sont enregistrées et réutilisables par référence ensuite.
- Conservez
numero. C'est la clé de tous les appels suivants — suivi, détail, retour.
Cet appel produit un enlèvement réel. Utilisez le compte de test fourni par
LVE pendant vos développements ; sur le compte de production, chaque appel engage
une exploitation physique.