POST /orders
Crée une ou plusieurs commandes de préparation. Chaque commande reçoit un identifiant unique (orderUniqueID) qui ne peut pas être réutilisé.
Paramètre Type Défaut Description validationOnlyboolfalseSi true, valide sans persister
Champ Type Max Description activityCodestring 3 Code activité activityNamestring 30 Libellé de l’activité orderUniqueIDstring 20 Identifiant unique de la commande. Format : ^(?!.*\s)[A-Z0-9_\-.#/\\]+$ (pas d’espaces) customerOrderPlacementDateDateTime — Date de passation de la commande client
Champ Type Max Requis Description subActivityCodestring 3 Non Code sous-activité operationTypestring 1 Non Type d’opération customerOrderIDstring 30 Non N° de commande client prepOrderGroupIDstring 14 Non Groupe de préparation commandChannelDescriptionstring 50 Non Canal de commande commandTypestring 50 Non Type de commande expectedPrepDateDateTime — Non Date de préparation souhaitée dOManagedCustomerNumberstring 50 Conditionnel N° client géré. Obligatoire si config.CheckCustomer est activé
Champ Type Max Description deliveryAddressLastnamestring 30 Nom du destinataire deliveryAddressAddress1string 35 Adresse ligne 1 deliveryAddressPostalCodestring 20 Code postal deliveryAddressCitystring 50 Ville deliveryAddressCountrystring 2 Code pays ISO 3166-1 alpha-2 deliveryAddressPhonestring 20 Téléphone deliveryAddressEmailstring 100 Email
Champ Type Max Description deliveryAddressTitlestring 5 Civilité deliveryAddressFirstnamestring 30 Prénom deliveryAddressCompanystring 50 Société deliveryAddressAddress2string 35 Adresse ligne 2 deliveryAddressAddress3string 35 Adresse ligne 3 deliveryAddressFaxstring 20 Fax deliveryAddressNameOptionstring 50 Nom complémentaire deliveryAddressCommentstring 200 Commentaire livraison
Mêmes champs que l’adresse de livraison, préfixés par billingAddress :
billingAddressTitle, billingAddressLastname, billingAddressFirstname, billingAddressCompany, billingAddressAddress1 à 3, billingAddressPostalCode, billingAddressCity, billingAddressCountry, billingAddressPhone, billingAddressFax, billingAddressEmail
Tous optionnels.
Champ Type Max Requis Description transportServiceCodestring 50 Oui Code service transport transportCodestring 50 Non Code transport deliveryPickupPointIDstring 25 Non ID du point relais pickupPointCountryCodestring 2 Non Code pays du point relais carrierImposedbool — Non Transporteur imposé
Champ Type Requis Description totalInvoiceHTint Conditionnel Total HT en centimes. Obligatoire hors UE totalInvoiceTTCint Non Total TTC en centimes shippingCostint Conditionnel Frais de port en centimes. Obligatoire hors UE paymentCurrencystring (30) Conditionnel Devise ISO 4217 (ex: "EUR", "USD"). Obligatoire hors UE discountAmountint Non Montant remise en centimes discountRateint Non Taux remise (ex: 10 pour 10%) customerInvoiceNumberstring (30) Non N° facture (défaut : orderUniqueID)
Champ Type Requis Description saturdayDeliveryRequiredbool Non Livraison samedi recipientNotificationbool Non Notification destinataire counterReimbursementRequestedbool Non Contre-remboursement counterReimbursementAmountint Non Montant CR en centimes
Champ Type Max Description deliveryCommentstring 200 Commentaire livraison shippingLabelMessagestring 100 Message étiquette specificGiftMessagestring 200 Message cadeau preparationInstructionsstring 200 Instructions de préparation
Champ Type Max Description customField1, customField2string 200 Texte libre customField3 à customField11string 256 Texte libre customField12 à customField15DateTime — Dates
Champ Type Max Requis Description orderLineIDstring 35 Oui Identifiant de la ligne (doit être > “0”) articleReferencestring 17 Oui Référence article. Doit exister dans le référentiel (erreur 211) quantityToPrepareint — Oui Quantité à préparer. Doit être > 0 (erreur 202) ownerStockCodestring 3 Non Code propriétaire stock unitPriceHTint — Conditionnel Prix unitaire HT en centimes. Obligatoire hors UE unitPriceTTCint — Non Prix unitaire TTC en centimes articleVATRateint — Non Taux TVA (ex: 20 pour 20%) articleVATAmountint — Non Montant TVA en centimes articleOriginCountrystring 15 Conditionnel Pays d’origine. Obligatoire hors UE articleCN23CustomsCodestring 15 Conditionnel Code douane CN23. Obligatoire hors UE articleNatureCN23string 35 Non Nature CN23 attachedLotNumberstring 35 Non N° de lot imposé articleHasSerialNumberbool — Non Article avec n° de série articleHasDLUObool — Non Article avec DLUO articleHasLotNumberbool — Non Article avec n° de lot allowPackagingSubstitutionbool — Non Substitution d’emballage autorisée. Défaut : false gradeCodestring 3 Non Code qualité. Défaut : "STD" articlePreparationCommentstring 100 Non Commentaire préparation articleCommentstring 200 Non Commentaire article articleRequiresIngredientLabelbool — Non Étiquette ingrédients requise customField1, customField2int — Non Champs personnalisés numériques customField3, customField4DateTime — Non Champs personnalisés date customField5 à customField11string 256 Non Champs personnalisés texte customField12string 200 Non Champ personnalisé texte
Champ Type Max Requis Description clientOrderIDstring 30 Oui Identifiant de la sous-commande clientOrderPlacementDateDateTime — Non Date de passation subOrderHeaderstring 30 Non En-tête subOrderClientMessagestring 200 Non Message client subOrderBreakCriterionstring 5 Non Critère de rupture orderEntriesOrderEntry[] — Oui Lignes (au moins une) customField1, customField2int — Non Champs personnalisés numériques customField3, customField4DateTime — Non Champs personnalisés date customField5 à customField11string 256 Non Champs personnalisés texte customField12string 200 Non Champ personnalisé texte
activityCode, activityName, orderUniqueID, customerOrderPlacementDate
Adresse livraison : deliveryAddressLastname, deliveryAddressAddress1, deliveryAddressPostalCode, deliveryAddressCity, deliveryAddressCountry, deliveryAddressPhone, deliveryAddressEmail
transportServiceCode
Au moins une ligne ou une sous-commande
orderUniqueID : ^(?!.*\s)[A-Z0-9_\-.#/\\]+$ — pas d’espaces
deliveryAddressCountry : ISO 3166-1 alpha-2
orderEntries OU orderSubOrders, jamais les deux (erreur 103 )
Chaque sous-commande doit avoir au moins une ligne (erreur 213 )
quantityToPrepare > 0 (erreur 202 )
articleReference doit exister dans le référentiel (erreur 211 )
orderUniqueID ne doit pas déjà exister en base (erreur 203 )
Pas de doublons d’orderUniqueID dans un même envoi (erreur 205 )
orderLineID doit être > "0" (erreur 104 )
Pays UE : FR, MC, DE, AT, BE, BG, CY, HR, DK, ES, EE, FI, GR, HU, IE, IT, LV, LT, LU, MT, NL, PL, PT, RO, SK, SI, SE, CZ
Si le pays de livraison n’est pas dans cette liste, deviennent obligatoires :
totalInvoiceHT, shippingCost, paymentCurrency
Sur chaque ligne : articleOriginCountry, unitPriceHT, articleCN23CustomsCode
Validation code postal / ville via API data.geopf.fr/geocodage/ (Géoplateforme IGN) (erreur 802 )
Monaco : utiliser country = "FR", postalCode = "98000" (pas "MC")
Validation et reformatage E.164 pour les pays : FR, ES, BE, DE, LU, PT, AT, UK, IT, GF, MF, MQ, YT, NL, IE, MC, CH, PL (erreur 207 )
Code Description 103 Présence simultanée de orderEntries et orderSubOrders 104 Format orderUniqueID invalide (regex) ou orderLineID ≤ "0" 201 Champ obligatoire manquant 202 Valeur incorrecte (ex: quantityToPrepare ≤ 0, ForcedPrioDateMinNumberOfDays > 900) 203 orderUniqueID déjà existant en base205 orderUniqueID en doublon dans le même envoi206 Activité non autorisée 207 Numéro de téléphone invalide 211 Article inconnu dans le référentiel 213 Commande ou sous-commande sans ligne 216 Client inconnu dans le référentiel (si config.CheckCustomer activé) 302 Code pays de destination invalide 802 Adresse française non reconnue
"activityName" : " Mon activité " ,
"orderUniqueID" : " CMD-2024-001 " ,
"customerOrderID" : " WEB-12345 " ,
"customerOrderPlacementDate" : " 2024-06-15T10:30:00Z " ,
"transportServiceCode" : " COLISSIMO " ,
"deliveryAddressTitle" : " M. " ,
"deliveryAddressLastname" : " Dupont " ,
"deliveryAddressFirstname" : " Jean " ,
"deliveryAddressAddress1" : " 15 rue de la Paix " ,
"deliveryAddressPostalCode" : " 75002 " ,
"deliveryAddressCity" : " Paris " ,
"deliveryAddressCountry" : " FR " ,
"deliveryAddressPhone" : " 0612345678 " ,
"deliveryAddressEmail" : " jean.dupont@email.com " ,
"articleReference" : " ART-001 " ,
"articleReference" : " ART-002 " ,
curl -X POST " https://api.ezyconnect.com/orders " \
-H " Authorization: Bearer YOUR_TOKEN " \
-H " Content-Type: application/json " \
-d ' [{"activityCode":"001","activityName":"Mon activité","orderUniqueID":"CMD-2024-001","customerOrderPlacementDate":"2024-06-15T10:30:00Z","transportServiceCode":"COLISSIMO","deliveryAddressLastname":"Dupont","deliveryAddressAddress1":"15 rue de la Paix","deliveryAddressPostalCode":"75002","deliveryAddressCity":"Paris","deliveryAddressCountry":"FR","deliveryAddressPhone":"0612345678","deliveryAddressEmail":"jean.dupont@email.com","orderEntries":[{"orderLineID":"1","articleReference":"ART-001","quantityToPrepare":2}]}] '
const response = await fetch ( " https://api.ezyconnect.com/orders " , {
" Authorization " : " Bearer YOUR_TOKEN " ,
" Content-Type " : " application/json "
activityName: " Mon activité " ,
orderUniqueID: " CMD-2024-001 " ,
customerOrderPlacementDate: " 2024-06-15T10:30:00Z " ,
transportServiceCode: " COLISSIMO " ,
deliveryAddressLastname: " Dupont " ,
deliveryAddressAddress1: " 15 rue de la Paix " ,
deliveryAddressPostalCode: " 75002 " ,
deliveryAddressCity: " Paris " ,
deliveryAddressCountry: " FR " ,
deliveryAddressPhone: " 0612345678 " ,
deliveryAddressEmail: " jean.dupont@email.com " ,
orderEntries: [{ orderLineID: " 1 " , articleReference: " ART-001 " , quantityToPrepare: 2 }]
const result = await response . json ();
" activityName " : " Mon activité " ,
" orderUniqueID " : " CMD-2024-001 " ,
" customerOrderPlacementDate " : " 2024-06-15T10:30:00Z " ,
" transportServiceCode " : " COLISSIMO " ,
" deliveryAddressLastname " : " Dupont " ,
" deliveryAddressAddress1 " : " 15 rue de la Paix " ,
" deliveryAddressPostalCode " : " 75002 " ,
" deliveryAddressCity " : " Paris " ,
" deliveryAddressCountry " : " FR " ,
" deliveryAddressPhone " : " 0612345678 " ,
" deliveryAddressEmail " : " jean.dupont@email.com " ,
" orderEntries " : [ { " orderLineID " : " 1 " , " articleReference " : " ART-001 " , " quantityToPrepare " : 2 } ]
response = requests. post (
" https://api.ezyconnect.com/orders " ,
headers = { " Authorization " : " Bearer YOUR_TOKEN " }
using System . Net . Http . Json ;
var client = new HttpClient();
client . DefaultRequestHeaders . Authorization =
new System . Net . Http . Headers . AuthenticationHeaderValue( " Bearer " , " YOUR_TOKEN " );
var orders = new [] { new {
activityCode = " 001 " , activityName = " Mon activité " ,
orderUniqueID = " CMD-2024-001 " ,
customerOrderPlacementDate = " 2024-06-15T10:30:00Z " ,
transportServiceCode = " COLISSIMO " ,
deliveryAddressLastname = " Dupont " ,
deliveryAddressAddress1 = " 15 rue de la Paix " ,
deliveryAddressPostalCode = " 75002 " ,
deliveryAddressCity = " Paris " ,
deliveryAddressCountry = " FR " ,
deliveryAddressPhone = " 0612345678 " ,
deliveryAddressEmail = " jean.dupont@email.com " ,
orderEntries = new [] { new { orderLineID = " 1 " , articleReference = " ART-001 " , quantityToPrepare = 2 } }
var response = await client . PostAsJsonAsync ( " https://api.ezyconnect.com/orders " , orders);
var result = await response . Content . ReadAsStringAsync ();
Console . WriteLine (result);
import java.net.http.HttpClient ;
import java.net.http.HttpRequest ;
import java.net.http.HttpResponse ;
[{"activityCode":"001","activityName":"Mon activité","orderUniqueID":"CMD-2024-001",
"customerOrderPlacementDate":"2024-06-15T10:30:00Z","transportServiceCode":"COLISSIMO",
"deliveryAddressLastname":"Dupont","deliveryAddressAddress1":"15 rue de la Paix",
"deliveryAddressPostalCode":"75002","deliveryAddressCity":"Paris",
"deliveryAddressCountry":"FR","deliveryAddressPhone":"0612345678",
"deliveryAddressEmail":"jean.dupont@email.com",
"orderEntries":[{"orderLineID":"1","articleReference":"ART-001","quantityToPrepare":2}]}]
HttpClient client = HttpClient . newHttpClient () ;
HttpRequest request = HttpRequest . newBuilder ()
. uri ( URI . create ( " https://api.ezyconnect.com/orders " ))
. header ( " Authorization " , " Bearer YOUR_TOKEN " )
. header ( " Content-Type " , " application/json " )
. POST ( HttpRequest . BodyPublishers . ofString ( body ))
HttpResponse < String > response = client . send ( request, HttpResponse . BodyHandlers . ofString ()) ;
System . out . println ( response . body ()) ;
"operationId" : " e5f6a7b8-9012-cdef-3456-789012345678 " ,
"passed" : [ " CMD-2024-001 " ]