Seuls les documents à visibilité client sont exposés par l’API. Les documents
internes (pièces convoyeur, justificatifs RH, etc.) ne sont jamais renvoyés, quel
que soit votre scope.
404 (jamais 403). Les requêtes GET exigent le scope transports:read ; l’ajout de documents (POST) exige transports:write.
Lister les documents d’une mission
string
requis
Identifiant de la mission (
offer_id).boolean
Filtre les documents rattachés à la jambe retour de la mission (aller-retour).
Omettez ce paramètre pour récupérer tous les documents.
Réponse 200
Champs d’un document
string | null
Clé technique stable du document (
document_key). Utilisez-la pour identifier un
type de document (PV de départ, PV signé, bon, facture…) plutôt que le label,
qui est un libellé d’affichage.string | null
Libellé lisible du document, destiné à l’affichage.
string | null
Lien de téléchargement du fichier (PDF généralement). Peut être
null tant que le
document n’a pas encore été produit.string | null
Statut de validation du document. Voir le tableau ci-dessous.
boolean
true si le document concerne la jambe retour de la mission.string | null
Nom de fichier d’origine.
string | null
Date de dépôt du document (ISO 8601).
Statuts d’un document
Documents à signer
string
requis
Identifiant de la mission (
offer_id).Réponse 200
GET /transports/{id}/documents (voir Champs d’un document). Cet endpoint applique simplement un filtre supplémentaire sur les documents qui attendent une signature.
Récupérer le PV signé
Le PV signé est exposé comme tout autre document, viaGET /transports/{id}/documents. Pour le récupérer :
1
Listez les documents de la mission
Appelez
GET /transports/{id}/documents et repérez l’entrée dont la key
correspond au PV signé.2
Vérifiez le statut
Attendez que
status vaille accepted pour être sûr que le PV signé est
finalisé et validé.3
Téléchargez le fichier
Suivez l’
url de l’entrée pour récupérer le PDF.Node.js
Joindre un document à une mission
name (libellé) et un link (URL HTTPS publiquement accessible depuis laquelle MED récupère le fichier).
string
requis
Identifiant de la mission (
offer_id).array
requis
Tableau d’au moins un document. Chaque élément contient :
L’ajout de documents est une opération mutante : pensez à fournir un en-tête
Idempotency-Key pour la rendre rejouable sans doublon. Après un 502 avec
code: relay_timeout, le dépôt a pu aboutir : réessayez avec la même clé et
le même corps, ce nouvel essai ne devrait pas dupliquer les documents. Voir
Idempotence.Réponse 200, 207 Multi-Status ou 422
Chaque document est traité indépendamment, et la réponse détaille le résultat document par document dans data. Un document peut échouer (lien injoignable, format invalide…) sans faire échouer les autres. Le code HTTP résume l’ensemble :
Réponse 207
array
Résultat par document, dans l’ordre de la requête.
Erreurs
Comme partout dans l’API, les erreurs suivent la RFC 9457 (application/problem+json).
Exemple 422
Étapes suivantes
Suivi en temps réel
Positions GPS du convoyeur et étapes planifiées avec ETA.
Webhooks
Recevez
document.added, document.accepted et document.rejected en temps réel.