Description

Modifie un ordre de transport tant qu'il n'a pas été validé (statut create). Seuls les champs envoyés sont modifiés.

Clé API expéditeur dans l'en-tête X-API-KEY (ou Authorization: Bearer).

Corps de la requête (JSON)

ChampTypeObligatoireDescription
otr_id ou otr_numberint / stringOuiOTR à modifier
carrier_idintNonNouveau transporteur (partenaire avec un abonnement actif)
matchcodestringNonNouveau client destinataire : l'adresse de livraison est reprise de sa fiche
pickup_date / delivery_datestringNonMêmes règles qu'à la création
unitsarrayNonRemplace toutes les unités (au moins une)
packagingarrayNonRemplace tous les emballages
Adresses, références, créneau, instructions, notesNonMêmes champs qu'à la création

Le client se change uniquement par matchcode (pas par client_id). Le statut ne se modifie pas par cet endpoint.

Exemple de requête

curl -X POST "https://shippinova.com/APIs/external/update_otr.php" \
  -H "X-API-KEY: votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{ "otr_id": 123, "delivery_date": "2026-01-26T09:00", "notes": "Quai 3" }'

Réponse (succès)

{
  "success": true,
  "otr_id": 123
}

Un tableau warnings est ajouté si une date tombe un week-end.

Codes d'erreur

CodeSignification
401Clé API absente
403Clé invalide, ou clé transporteur utilisée sur un endpoint expéditeur
400Champ invalide, matchcode inconnu, ou aucun champ à modifier (VALIDATION_ERROR)
403OTR déjà validé : il n'est plus modifiable
404OTR introuvable, ou d'une autre société
422Transporteur qui n'est pas votre partenaire ou sans abonnement actif (CARRIER_NOT_ALLOWED)
429Trop de requêtes (120 par minute, 20 000 par jour) ; réessayer après le délai Retry-After