Aller au contenu

Maarch2Maarch

Cette page décrit les webservices Maarch2Maarch. Ils permettent à une instance Maarch Courrier d'envoyer un pli numérique SEDA à une autre instance, de recevoir les accusés techniques, et de suivre les retours.

Pré-requis

  • Le module Maarch2Maarch doit être configuré dans custom/{customId}/config/m2m_config.xml ou, à défaut, dans config/m2m_config.xml.
  • L'utilisateur appelant doit avoir les droits requis par la route appelée.
  • L'envoi d'un pli numérique nécessite le privilège manage_numeric_package.
  • La configuration Maarch2Maarch nécessite le privilège admin_parameters.
  • Les endpoints de réception M2M ne sont pas publics. L'instance appelante doit donc fournir une authentification valide, généralement via l'URL de communication M2M du contact ou de la configuration.

Cycle d'échange

  1. L'utilisateur initialise l'écran d'envoi avec GET /rest/messageExchangesInitialization.
  2. L'utilisateur envoie le pli avec POST /rest/resources/{resId}/messageExchange.
  3. L'instance émettrice génère un fichier SEDA, l'enregistre, puis l'envoie à l'URL du destinataire.
  4. L'instance destinataire reçoit le pli sur POST /rest/saveNumericPackage.
  5. L'instance destinataire renvoie un accusé sur POST /rest/saveMessageExchangeReturn.
  6. L'instance destinataire renvoie ensuite une réponse de traitement sur POST /rest/saveMessageExchangeReturn.
  7. Les notifications de suivi sont reçues sur POST /rest/saveMessageExchangeReview.

Capacité utilisée par Maarch2Maarch

Lire les informations publiques de l'instance

GET /rest/authenticationInformations

Cette route est publique. Maarch2Maarch l'utilise pour vérifier si une instance distante prend en charge l'envoi d'un retour.

Champs utiles pour Maarch2Maarch

{
  "maarchUrl": "https://instance-b.example.org",
  "canMaarch2MaarchHandleReturnRequest": true
}

canMaarch2MaarchHandleReturnRequest est conservé pour compatibilité historique.

Correspondance des types SEDA

Type Endpoint récepteur Description
ArchiveTransfer /rest/saveNumericPackage Pli numérique principal ou retour préparé.
Acknowledgement /rest/saveMessageExchangeReturn Accusé technique de réception.
ArchiveTransferReply /rest/saveMessageExchangeReturn Réponse de traitement du pli.
ArchiveModificationNotification /rest/saveMessageExchangeReview Notification de suivi ou d'opération.

Diagnostic des erreurs curl

Lors d'un envoi par URL, l'instance émettrice appelle l'URL stockée dans la communication du destinataire. Le code ajoute ensuite les paramètres extension, size et type, puis transmet le fichier SEDA encodé en base64.

Si l'instance distante renvoie un code HTTP supérieur ou égal à 400, l'instance émettrice remonte une erreur curlRequestErrorProblem. Dans ce cas, le détail de l'erreur correspond souvent à la réponse JSON produite par l'instance destinataire.

Points à vérifier en priorité :

  1. L'URL du contact M2M pointe-t-elle vers la bonne instance ?
  2. Les identifiants M2M sont-ils valides ?
  3. L'utilisateur M2M distant dispose-t-il du privilège manage_numeric_package ?
  4. La configuration distante m2m_config.xml est-elle complète ?
  5. Le type de pièce jointe configuré pour la réception n'est-il pas signed_response ?
  6. Le fichier SEDA transmis contient-il le type attendu par l'endpoint appelé ?