Supprimer un message
Supprimer un message envoyé à partir de son numéro de suivi, par exemple quand il est parti au mauvais destinataire.
Prérequis
Le numéro de suivi du message :
- dans la réponse de l'envoi :
RecipientsAnswer, un numéro par destinataire. Voir Plusieurs destinataires ; - ou dans les journaux : champ
TrackingId.
Exemple
DeleteMessageByTrackingId retourne true quand le serveur accepte la suppression.
var args = new DeleteMessageByTrackingIdArgs
{
EndPointUri = endpoint,
Serial = serial, ApiUser = apiUser, ApiPassword = apiPassword,
TrackingId = trackingId,
CultureId = "fr-CA",
};
bool supprime;
try
{
supprime = MessageHelper.DeleteMessageByTrackingId(args);
}
catch (Exception ex) // erreurs réseau : elles ne sont pas interceptées par le SDK
{
journal.LogError(ex, "Suppression impossible");
supprime = false;
}
À savoir
| Point | Détail |
|---|---|
| Effet | Le message est détruit sur le serveur et ses fichiers ne sont plus téléchargeables : le lien du destinataire ne mène plus à aucun message. Son journal reste, avec le statut Destroy (3) et une activité qui porte l'adresse IP de l'appel. |
| Avis | Le titulaire de la licence reçoit un courriel qui confirme la destruction. |
| Résultat | Un booléen seulement. Un échec ne dit pas pourquoi : numéro inconnu, accès refusé ou erreur réseau. |
| Erreurs réseau | .NET les laisse remonter sous forme d'exception ; Python et PHP retournent false. |
| Plusieurs destinataires | Chaque destinataire reçoit son propre exemplaire du message, avec son numéro de suivi : la suppression ne vise que le destinataire de ce numéro. Pour retirer le message à tous, supprimez chaque numéro. |
| Vos messages seulement | Seuls les messages envoyés avec votre licence peuvent être supprimés, pas ceux d'un autre utilisateur de votre organisation. |
| Ce qui est déjà ouvert | La suppression ne peut rien contre ce que le destinataire a déjà lu ou téléchargé. |
| Traçabilité | Journalisez chaque suppression : qui l'a demandée, quand et le numéro de suivi, sans le contenu du message. |
Erreurs fréquentes
| Symptôme | Cause probable | Solution |
|---|---|---|
| Retourne false | Numéro de suivi inconnu, identifiant du message passé à la place du numéro de suivi, ou environnement erroné | Vérifiez la provenance du numéro et l'environnement. |
| Retourne false avec un numéro valide | Message d'un autre utilisateur, message déjà supprimé, ou licence sans la permission des journaux | Vérifiez l'expéditeur et l'état du message dans les journaux. |
| Python : retourne false sans erreur | Numéro passé sous forme de chaîne | Passez un uuid.UUID. |
| .NET : exception à l'appel | Erreur réseau | Interceptez-la, comme dans l'exemple. |
Et ensuite
- Journaux : vérifier l'état du message
- Codes de statut