Envoi d'un message / Gestion des erreurs

Méthode SendMessage

Envoi un message transactionnel et renvoie un numéro unique de suivi qui permet ensuite de tracer le message.
Le message est envoyé de manière asynchrone. L’appel de la méthode déclenche une demande d’envoi de message sur le système d’information EMT.
Donc lorsque vous recevez l’id unique de ticket comme valeur de retour de la méthode du web service, le message n’a pas encore été réellement envoyé.
Vous pouvez consulter l'état d'avancement de l'envoi du message via la méthode
GetMessageDeliveryStatusByTicket.

Gestion des pièces jointes

La propriété Attachments de l'objet SendMessageRequest vous permet d'associer une ou plusieurs pièces jointes à votre message.
Le flux binaire de chaque pièce jointe doit impérativement être encodé en base64.
Tout message contenant une pièce jointe vide sera rejeté par l'API (NullValueException sera retourné à l'appelant).

L'ensemble du flux transmis à l'API (avec ou sans pièces jointes) ne peut pas dépasser les 4Mo autorisés.
Le dépassement de cette limite provoquera une erreur du type SoapFault exception coté client SOAP.

Gestion des erreurs

lors de l'appel au webservice
Dans ce cas, une exception SOAP est renvoyée par le webservice. Celle ci va contenir une propriété Detail qui fournira des informations détaillées sur l'erreur.
Les informations disponibles de l'objet Detail:
  • Ticket : un numéro unique identifiant l'erreur qui permettra un suivi du problème
  • Message : le message d'erreur
  • Description : des informations détaillées personnalisées par type d'erreur
  • ErrorCode : un code identifiant le type d'erreur
    • MethodUsageQuotaExceededException : Quota d’appels à la méthode est dépassé. Réessayez ultérieuerement
    • TemplateDoesNotExistException : le template n'existe pas ou a été supprimé
    • MessageContentTypeInvalidException : le messageContentType est invalide
    • InvalidEmailException : l'email du destinataire est syntaxiquement invalide
    • TemplateNotEnabledException : les envois réels ne sont pas autorisés pour ce template
    • InvalidTestRecipientException : le destinataire de test n'a pas été défini dans la partie Administration de l'extranet
    • XmlInvalidException : le xml fourni n'est pas syntaxiquement correct (il peut manquer une balise CDATA, l'encodage n'est pas utf-8, etc...)
    • InvalidRecipientException : L'envoi est refusé car le destinataire :
      • a déjà été constaté en état hardbounce,
      • a déposé une plainte pour SPAM
      • s'est désabonné
      • a reçu au moins 3 messages consécutifs envoyés en état softbounce.
    • DeliverabilityPackDisabledException : Un problème DNS rend le pack délivrabilité inopérable
    • AttachmentNameDuplicatedException : Envoi de pieces jointes portant le même nom
    • InvalidExtensionException : L'extension de la pièce jointe envoyée ne correspond pas à l'extension spécifiée en paramètre du web service
    • NullValueException : un des champs du flux d'entrée est vide ou null
    • UnexpectedException : Erreur inattendue, contacter Dolist pour plus d'information.
de manière asynchrone après l'appel du webservice.
Une erreur peut également se produire durant le traitement du message. Le flux xml fourni en entrée peut être invalide, un élément du contrat peut être mal orthographié ou manquant, etc ...
Dans ce cas, c'est lors de l'appel à GetMessageDeliveryStatusByTicket que vous obtiendrez le statut Error.
Vous pouvez aussi consultez le détail des messages en erreur sur les 7 derniers jours via une interface dédiée sur l'extranet dans Suivi des messages/En erreur

Cliquez ici pour plus d'information sur le suivi des messages