Inviter un transporteur (et gérer la relation)
Comment inviter un transporteur Bordoly à devenir votre partenaire, accepter ou refuser une invitation reçue, et révoquer une relation existante.
Depuis le sprint 4 de l'overhaul facturation/OEM, créer un enlèvement vers un transporteur enregistré sur Bordoly nécessite que la relation producteur ↔ transporteur soit active des deux côtés : vous l'invitez, le transporteur accepte. Cette page décrit le cycle de vie complet de la relation.
Cycle de vie d'une relation producteur-transporteur — de l'invitation à la révocation.
Pourquoi un système d'invitation ?
Avant ce sprint, n'importe quel producteur pouvait créer un enlèvement ciblant n'importe quel SIRET transporteur. Avec l'arrivée des comptes transporteur dans Bordoly, deux problèmes apparaissaient :
- Spam — un producteur malveillant pouvait noyer un transporteur de demandes ;
- Pas de droit de refus en amont — le transporteur ne pouvait refuser qu'au coup par coup chaque demande individuelle.
Le système d'invitation/acceptation explicite résout les deux.
Cycle de vie d'une relation
PENDING_TRANSPORTER_ACCEPT → ACTIVE
→ REJECTED_BY_TRANSPORTER
ACTIVE → REVOKED_BY_PRODUCER (vous révoquez)
→ REVOKED_BY_TRANSPORTER (le transporteur révoque)
Chaque transition est tracée dans le journal d'audit avec son auteur
et son motif, consultable depuis /audit par les administrateurs.
Le cas particulier ACTIVE_AUTO_TD
Si vous créez un enlèvement vers un transporteur qui n'a pas de compte
Bordoly (mais qui existe dans le registre TrackDéchets), Bordoly crée
automatiquement une relation ACTIVE_AUTO_TD silencieuse afin de ne pas
casser vos flux historiques. L'invitation explicite est uniquement
requise lorsque le transporteur est un client Bordoly.
Inviter un transporteur
- Ouvrez
/transporteurs/invitations. - Sélectionnez l'établissement actif si vous appartenez à plusieurs producteurs (sélecteur en haut de page).
- Lors de la prochaine création d'enlèvement vers un transporteur Bordoly non lié, Bordoly affiche une boîte de dialogue d'invitation. Vous pouvez ajouter un message libre (≤ 500 caractères) à destination du transporteur.
- Cliquez sur Envoyer l'invitation. La relation passe en statut
En attente d'acceptationet le transporteur reçoit une notification email.
Limite anti-spam : vous ne pouvez pas envoyer plus de 10 invitations par heure par utilisateur. En cas de révocation ou de refus, un délai de 7 jours s'applique avant de pouvoir ré-inviter le même couple producteur/transporteur.
Accepter ou refuser une invitation reçue
Si votre établissement est destinataire d'une invitation :
- Ouvrez
/transporteurs/invitationsdepuis le compte du transporteur. - La section Invitations reçues liste toutes les demandes en attente avec le SIRET producteur, la date et le message éventuel.
- Cliquez sur Accepter pour activer la relation, ou Refuser et indiquez un motif (5 caractères minimum) qui sera transmis au producteur.
Une fois acceptée, la relation passe en Active et le producteur
peut créer des enlèvements à votre intention.
Révoquer une relation
Les deux côtés peuvent révoquer une relation active à tout moment :
/transporteurs/invitations→ section Mes transporteurs (côté producteur) ou liste des relations actives (côté transporteur).- Cliquez sur Révoquer sur la ligne concernée.
- Indiquez un motif (5 caractères minimum) qui apparaîtra dans l'historique et la notification envoyée à l'autre partie.
Que deviennent les enlèvements en cours ?
Lorsque vous révoquez, Bordoly applique automatiquement la cascade suivante :
| État du BSD au moment de la révocation | Action Bordoly |
|---|---|
SCHEDULED (planifié, pas encore parti) | Annulé automatiquement avec un événement audité |
IN_PROGRESS (BSD en cours sur TrackDéchets) | Préservé jusqu'à completion (continuité légale du BSD) |
REQUEST_SENT (demande envoyée mais pas planifiée) | Reste en attente — vous devrez l'annuler manuellement si nécessaire |
Bloquer un producteur (côté transporteur)
Si un producteur abuse du système d'invitations, vous pouvez le bloquer depuis le portail transporteur. Une fois bloqué, toute nouvelle invitation de ce producteur est refusée immédiatement (le producteur reçoit un message d'erreur 403 BLOCKED) sans que vous soyez sollicité.
Le blocage est réversible (Débloquer) et survit à la révocation / ré-invitation — l'historique des relations passées n'efface pas le blocage.
Que se passe-t-il si je tente de créer un enlèvement sans relation active ?
L'API renvoie une erreur 412 PRECONDITION_FAILED avec le code
NO_TRANSPORTER_LINK et un lien direct vers la page d'invitation.
L'interface web affiche un message clair :
"Aucune relation active avec ce transporteur. Invitez-le depuis /transporteurs/invitations puis attendez son acceptation."
L'invitation peut être lancée directement depuis la même boîte de dialogue.