Aller au contenu

Le contact et le canal

Trois notions se distinguent ici, et le domaine tient à ce qu’on ne les confonde pas. Le rattachement de contact dit qu’une personne est l’interlocuteur d’une organisation, pour une fonction et une période. Le point de contact est la coordonnée elle-même — un courriel, un numéro, une adresse postale, un point d’accès technique. L’autorisation de canal dit qu’un point de contact peut servir à une finalité donnée, pendant une période donnée.

Rattacher quelqu’un ne lui donne aucun pouvoir : le pouvoir juridique est un mandat, et l’autorisation applicative relève de l’habilitation. Vérifier un canal ne fait ni l’un ni l’autre — cela dit seulement que la coordonnée est bien celle qu’on croit.

La valeur d’un point de contact est chiffrée à la persistance et n’est jamais restituée dans une liste, une recherche, une résolution ou un événement : ce qui circule est un masque non réversible et l’état de vérification. La valeur en clair s’obtient par un accès distinct et fortement autorisé, pour une action précise et une finalité déclarée — et l’acte est audité.

stateDiagram-v2
  direction LR
  state "Enregistré" as E
  state "Vérifié" as V
  state "Autorisé" as A
  state "Suspendu ou compromis" as S
  [*] --> E : type, valeur chiffrée, usage
  E --> V : vérification datée — publie « pointContactVerifie »
  V --> A : usage et finalité autorisés — publie « canalAutorise »
  A --> S : inutilisable — publie « canalSuspendu »
  V --> S : inutilisable — publie « canalSuspendu »
  S --> [*]

Une suspension a des causes très concrètes : une adresse postale revenue en « n’habite pas à l’adresse indiquée », le point d’accès compromis d’un partenaire. Le canal devient inutilisable et l’historique demeure — on saura toujours qu’on a écrit à cette adresse, et quand.

Une même finalité ne porte jamais deux autorisations qui se chevauchent sur un même point de contact : la règle est vérifiée à la création, pas au moment d’envoyer.

Un rattachement lie une personne à une organisation pour une fonction et une période. Quand l’interlocuteur change, l’ancien rattachement est clos, jamais écrasé : les demandes anciennes continuent de désigner la personne qui les suivait. Une suppléance — un remplacement borné dans le temps — se déclare comme un objet propre, avec sa période.

Plutôt que de laisser chaque domaine choisir lui-même à qui écrire, le domaine résout : on lui donne un acteur, une finalité et éventuellement un type de canal, et il rend les contacts adaptés à ce contexte, à cette date — avec leur masque, leur niveau de vérification et les finalités autorisées. Jamais la valeur.

Canal relation-tiers.contacts-et-canaux.v1. Aucune adresse, aucun numéro, aucun point d’accès n’y figure.

Fait Ce qu’il atteste
contactRattache Une personne est rattachée à une organisation — période, aucun pouvoir implicite
contactRemplace Une suppléance ou un remplacement est établi — rattachements et période
pointContactVerifie Un point de contact est vérifié — type, finalité, niveau, date ; jamais la valeur
canalAutorise Un usage est autorisé — finalité et période ; jamais la valeur
canalSuspendu Un canal devient inutilisable — finalités touchées, effet, raison

Aux garanties communes aux événements, ce canal ajoute que l’ordre est garanti par entité, que le tenant est obligatoire dans l’enveloppe comme dans la partition de transport, et qu’un événement publié ne se supprime jamais : la correction est un fait nouveau qui cite celui qu’il corrige.

La structure exacte des messages est dans le contrat des événements publiés.