SENDMESSAGE

Ajouté dans la version 0.16.0.

Le traitement SENDMESSAGE envoie un acquittement PeSIT (F.MESSAGE) à un partenaire distant. Il est utilisé pour les acquittements applicatifs de bout en bout dans les architectures Store and Forward.

Cette tâche est spécifique au protocole PeSIT. Si elle est configurée sur une règle utilisée par un autre protocole, elle est silencieusement ignorée (pas d’erreur de transfert).

Fonctionnement

La tâche ouvre une connexion PeSIT dédiée vers le partenaire, envoie un F.MESSAGE contenant l’identifiant du transfert et un message texte, puis ferme la connexion.

Tous les paramètres sont optionnels. Le partenaire et le compte sont résolus automatiquement depuis les infos de transfert lorsque le mécanisme de routage Store & Forward est configuré (voir ci-dessous).

La tâche peut être configurée systématiquement en post-traitement de toutes les règles de réception PeSIT, sans risque :

  • Si l’émetteur a demandé un acquittement (via replyTo sur son partenaire, ou via PI 61/PI 62), la tâche envoie le F.MESSAGE automatiquement.

  • Si l’émetteur n’a pas demandé d’acquittement (aucune information de retour disponible), la tâche est silencieusement ignorée — le transfert se termine normalement sans erreur.

  • Si le protocole du transfert n’est pas PeSIT, la tâche est également ignorée.

Il n’est donc pas nécessaire d’ajouter une condition à la tâche pour gérer ces cas : le comportement est automatique.

Paramètres

  • to (string, optionnel) — Le nom du partenaire PeSIT distant vers lequel envoyer le message. Si omis, résolu depuis __replyPartner__ dans les infos de transfert (positionné automatiquement via PI 99 REPLY= ou PI 61/PI 62). Supporte la substitution de variables.

  • as (string, optionnel) — Le login du compte distant à utiliser pour l’authentification. Si omis, résolu depuis __replyAccount__ dans les infos de transfert, ou le premier compte disponible sur le partenaire.

  • message (string, optionnel) — Le contenu du F.MESSAGE. Si omis, un message ACK par défaut est généré (ACK transfer <id>). Supporte la substitution de variables (#TRUEFILENAME#, #TRANSFERID#, etc.). Maximum 4096 caractères (PI 91).

Exemples

Acquittement automatique (zéro argument) — le plus simple, recommandé lorsque replyTo est configuré sur le partenaire émetteur :

post:
  - type: SENDMESSAGE

Acquittement avec message personnalisé :

post:
  - type: SENDMESSAGE
    args:
      message: "Fichier #TRUEFILENAME# recu avec succes"

Acquittement explicite (partenaire et compte spécifiés) :

post:
  - type: SENDMESSAGE
    args:
      to: "partenaire-emetteur"
      as: "mon-login"
      message: "ACK transfer #TRANSFERID#"

Note

Si aucun partenaire n’est résolvable (pas de to explicite, pas de __replyPartner__ dans les infos de transfert), la tâche est silencieusement ignorée. Cela signifie que l’émetteur n’a pas demandé d’acquittement. La tâche SENDMESSAGE peut donc être configurée systématiquement en post-traitement sans risque : elle ne s’exécute que quand un ACK a été demandé.

Résolution du partenaire

Lorsque le paramètre to n’est pas renseigné, la tâche résout le partenaire dans l’ordre suivant :

  1. __replyPartner__ dans les infos de transfert (positionné via PI 99 REPLY= ou manuellement)

  2. Premier partenaire PeSIT correspondant au __customerID__ (PI 61)

  3. Premier partenaire PeSIT correspondant au __bankID__ (PI 62)

Lorsque le paramètre as n’est pas renseigné :

  1. __replyAccount__ dans les infos de transfert

  2. Premier compte disponible sur le partenaire résolu

Intégration Store & Forward

Pour une chaîne A → B → C avec acquittement automatique :

  1. Partenaire : configurer replyTo dans la configuration protocolaire de chaque partenaire

  2. Destinataire final (C) : ajouter SENDMESSAGE en post-traitement

  3. Relais (B) : activer relayMessages: true dans la configuration du serveur PeSIT

Voir la section PeSIT pour le détail du mécanisme de routage et de relais automatique.