Skip to content

Sous-traitance sans TMS

Le sous-traitant n'a pas de système d'intégration propre — pas de TMS, pas d'équipe technique en mesure d'appeler l'API. C'est le cas typique d'un petit transporteur indépendant. La délégation se fait toujours vers son adresse email, exactement comme dans le scénario sous-traitance avec TMS, mais l'accès s'effectue ensuite via une interface humaine (portail web ou application mobile) plutôt que par appel API direct.

Points clés à retenir :

  • La délégation par email fonctionne même si le destinataire n'a encore aucun compte — l'invitation déclenche la création de compte, pas l'inverse.
  • L'inscription se fait en deux temps (activation par token), sans qu'aucune intégration technique ne soit nécessaire côté sous-traitant.
  • Une fois connecté, le sous-traitant agit via une session humaine classique (portail/app) — jamais via une clé API.
  • Le donneur d'ordre n'a aucune notion de la manière dont son sous-traitant a effectivement signé (QR code, Sign-on-Glass, etc.) — seul le résultat (changement de statut) lui parvient par webhook.
sequenceDiagram
    participant TMS as TMS donneur d'ordre
    participant API as API e-CMR
    participant Sub as Sous-traitant (portail/app, sans TMS)

    TMS->>API: POST /freightdocuments + issue
    API-->>TMS: 200 OK, status=ISSUED

    Note over TMS,Sub: Délégation vers un email sans compte existant
    TMS->>API: POST delegate (role Carrier vers email sous-traitant)
    API-->>TMS: 200 OK, délégation créée (en attente)
    API-)Sub: Email: invitation à activer un compte

    Note over Sub,API: Inscription en 2 temps (aucune intégration technique)
    Sub->>API: Clique le lien, POST registerbyemail
    API-->>Sub: Email avec token d'activation
    Sub->>API: POST completeregistrationbyemail (token, mot de passe)
    API-->>Sub: Compte activé, accès au document débloqué

    Note over Sub,API: Connexion humaine (session), pas de clé API
    Sub->>API: Connexion au portail web ou app mobile
    API-->>Sub: Accès au document délégué (ownPermissions)

    Sub->>API: Consulte les détails via l'interface (arrivée, chargement)
    Sub->>API: Signe la collecte (QR / Sign-on-Glass / code)
    API-->>Sub: status=TRANSIT
    API-)TMS: Webhook STATUS=TRANSIT

    Sub->>API: Signe la livraison via l'app/portail
    API-->>Sub: status=DELIVERED
    API-)TMS: Webhook STATUS=DELIVERED

    Note over TMS,API: Le sous-traitant n'a aucun système à notifier
    TMS->>API: GET /freightdocuments/id/pdf
    API-->>TMS: PDF e-CMR