POST
Signaler un incident
POST /APIs/external/carrier_add_incident.php
Description
Déclare un incident sur une mission en cours. L'incident est tracé et visible dans l'interface Shippinova. Le statut de l'OTR n'est pas modifié automatiquement.
Si l'incident nécessite un changement de statut (refus définitif, annulation…), utilisez ensuite carrier_update_mission_status.php.
Corps de la requête (JSON)
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| otr_id | int | Oui | ID de la mission concernée |
| type_incident | string | Oui | Type d'incident (voir liste ci-dessous, max 80 car.) |
| description | string | Non | Détail libre de l'incident (max 4000 caractères) |
Types d'incident courants :
retard · dommage · refus_destinataire · adresse_incorrecte · vehicule_panne · colis_manquant · autre
Exemple de requête
POST /APIs/external/carrier_add_incident.php
X-API-KEY: votre_cle_transporteur
Content-Type: application/json
{
"otr_id": 1060,
"type_incident": "refus_destinataire",
"description": "Le destinataire était absent. Deuxième tentative prévue demain."
}
Réponse (succès)
{
"success": true,
"incident": {
"id": 55,
"otr_id": 1060,
"otr_number": "OTR-20260728-000001",
"type_incident": "refus_destinataire",
"description": "Le destinataire était absent.",
"date_incident": "2026-07-29T10:15:00",
"resolu": false
}
}
Codes d'erreur
| Code | Signification |
|---|---|
| 401 | Clé API absente |
| 402 | Abonnement inactif (essai terminé ou abonnement résilié) |
| 403 | Clé invalide, ou clé expéditeur utilisée sur un endpoint transporteur |
| 400 | otr_id ou type_incident manquant |
| 404 | Mission introuvable pour votre société |
| 409 | Mission non actionnable (statut final) |
| 429 | Trop de requêtes (120 par minute, 20 000 par jour) ; réessayer après Retry-After |