@email-service/email-service
Version:
email-service is a versatile npm package designed to simplify the integration and standardization of email communications across multiple Email Service Providers (ESPs).
24 lines (23 loc) • 1.2 kB
TypeScript
import type { WebHookResponse } from '../types/email.type.js';
import type { SuppressionReason } from '../types/bulk.type.js';
/**
* Convertit une WebHookResponse normalisée (retournée par `webHookManagement`)
* en entrée prête à persister dans une suppression list côté consommateur.
*
* Retourne `null` si l'event ne doit pas créer d'entrée (DELIVERED, OPENED,
* CLICKED, SOFT_BOUNCE, erreur de parsing, etc.) — le consommateur peut
* ignorer silencieusement.
*
* Mapping (aligné sur les WebHookStatus normalisés par la lib) :
* - `HARD_BOUNCE` → `hard_bounce`
* - `SPAM_COMPLAINT` / `SPAM` → `spam_complaint`
* - `SUBSCRIPTION_CHANGE` → `unsubscribe_marketing` par défaut (conservative :
* on préserve le canal transactionnel). Si `metaData.stream === 'transactional'`
* est présent, on considère `unsubscribe_all` (le destinataire s'est
* désinscrit d'une notif transactionnelle, c'est qu'il ne veut plus rien).
* - autres (DELIVERED, OPENED, CLICKED, SOFT_BOUNCE, DELAYED, REJECTED, …) → null
*/
export declare function normalizeSuppressionFromWebhook(response: WebHookResponse): {
email: string;
reason: SuppressionReason;
} | null;