Créer une mission
Crée une mission de transport. La persistance canonique passe par le relai
interne (RTDB pro/offers), ce qui rend la mission visible mobile/admin/appel
d’offre. Émet l’événement transport.created.
Autorisations
Clé API liée à un groupe (med_live_… en production, med_test_… en test).
Fournie en clair une seule fois à la création depuis le profil client.
En-têtes
Clé d'idempotence fournie par le client. Rejouer la même clé avec un body
identique renvoie la réponse en cache (Idempotent-Replayed: true). La même
clé avec un body différent renvoie 409.
Corps
Requête de création d'une mission.
Point d'enlèvement (adresse, date, horaires, contact). Le champ address est en texte libre, géocodé côté serveur : indiquez-le le plus précis possible (numéro + rue + code postal + ville) pour éviter toute ambiguïté de distance/prix. L'adresse RÉSOLUE est renvoyée dans la réponse (pickup) — vérifiez-la.
Point de livraison (adresse, date, horaires, contact). address en texte libre, géocodé serveur (voir pickup). L'adresse RÉSOLUE est renvoyée dans la réponse (delivery).
Facturation simplifiée (company_name, email, address, siret?).
Type de transport.
Caractéristiques du véhicule.
Trajet retour (optionnel). Le départ du retour est AUTOMATIQUEMENT le lieu de LIVRAISON de l'aller (le convoyeur repart de là où il a livré) : ne renseignez donc QUE la destination du retour (return_trip.delivery), jamais un point de départ.
Réponse
Mission créée.
Identifiant de la mission (offer_id).
"scheduled"
Adresse d'enlèvement RÉSOLUE effectivement utilisée pour la mission.
Adresse de livraison RÉSOLUE effectivement utilisée pour la mission.
Adresses résolues du retour si présent, sinon null.
