Courriel
LCAP et suppressions
Le courriel est transactionnel par défaut. Le courriel commercial exige un consentement LCAP au dossier, et les rebonds, les plaintes et les désabonnements ajoutent l’adresse à votre liste de suppression.
LCAP et courriel commercial
Le courriel est transactionnel par défaut : reçus, réinitialisations de mot de passe, alertes et avis de compte. Le courriel transactionnel n’exige aucun consentement enregistré.
Mettez is_commercial à true pour tout ce qui fait la promotion d’un produit ou d’un service. Un courriel commercial va à un seul destinataire, exige un consentement LCAP enregistré pour cette adresse, et porte un pied de page de désabonnement et un en-tête de désabonnement en un clic que les logiciels de courriel respectent. Enregistrez le consentement comme pour les SMS, avec email_address au lieu de phone_number.
Tout courriel de marketing doit définir is_commercial à true. Le champ vaut false par défaut, et un envoi transactionnel atteint aussi les personnes qui se sont désabonnées : un courriel promotionnel envoyé sans ce drapeau contournerait leur désabonnement et le consentement LCAP.
const { data, error } = await honkio.consents.create({
emailAddress: 'ada@example.com',
consentType: 'express',
sourceDescription: 'Newsletter checkbox on acme.ca/signup',
})
if (error) throw new Error(error.message)
console.log(data.status, data.email_address)curl -X POST https://api.honkio.ca/v1/compliance/consents \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"email_address": "ada@example.com",
"consent_type": "express",
"source_description": "Newsletter checkbox on acme.ca/signup"
}'// Before a commercial send: would it pass the CASL check?
const { data, error } = await honkio.consents.check({ emailAddress: 'ada@example.com' })
if (error) throw new Error(error.message)
console.log(data.allowed, data.consentType ?? data.reason)# Before a commercial send: would it pass the CASL check?
curl "https://api.honkio.ca/v1/compliance/consents/check?email_address=ada%40example.com" -H "Authorization: Bearer mk_live_YOUR_KEY"// Then a commercial send to that one address:
const { data, error } = await honkio.emails.send({
from: 'news@mail.acme.ca',
to: 'ada@example.com',
subject: 'Fall sale',
html: '<p>20% off this week.</p>',
isCommercial: true,
})
if (error) throw new Error(error.message)
console.log(data.id)# Then a commercial send to that one address:
curl -X POST https://api.honkio.ca/v1/emails -H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "from": "news@mail.acme.ca", "to": "ada@example.com", "subject": "Fall sale",
"html": "<p>20% off this week.</p>", "is_commercial": true }'DELETE /v1/compliance/consents/email/:address révoque les consentements actifs de cette adresse (exige compliance:m ou compliance:d) ; elle répond 404 NOT_FOUND si aucun n’est actif. Les désabonnements et les suppressions sont distincts et ne sont pas touchés.
Ceci décrit comment l’API applique la LCAP ; ce n’est pas un avis juridique sur vos propres messages.
Suppressions
Les rebonds définitifs et les plaintes pour pourriel ajoutent automatiquement l’adresse à votre liste de suppression, et plus aucun courriel ne lui est envoyé. Un désabonnement l’ajoute aussi, mais bloque seulement les courriels commerciaux : les reçus, les réinitialisations de mot de passe et les autres courriels transactionnels continuent d’arriver. Une adresse que vous bloquez vous-même ne reçoit plus aucun courriel. Vous pouvez lister les suppressions, ou en retirer une lorsque la personne demande à recevoir de vos nouvelles. Les clés de production et de test ont chacune leur propre liste : un envoi en production n’est vérifié que d’après la liste de production.
const { data, error } = await honkio.suppressions.list({ reason: 'hard_bounce' })
if (error) throw new Error(error.message)
for (const s of data.data) console.log(s.email_address, s.reason, s.created_at)curl "https://api.honkio.ca/v1/email-suppressions?reason=hard_bounce" -H "Authorization: Bearer mk_live_YOUR_KEY"// Sent with reason "manual", which every manual suppression has
const { error } = await honkio.suppressions.create({ emailAddress: 'ada@example.com' })
if (error) throw new Error(error.message)curl -X POST https://api.honkio.ca/v1/email-suppressions -H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" -d '{ "email_address": "ada@example.com", "reason": "manual" }'const { error } = await honkio.suppressions.remove('ada@example.com')
if (error) throw new Error(error.message)curl -X DELETE https://api.honkio.ca/v1/email-suppressions/ada%40example.com -H "Authorization: Bearer mk_live_YOUR_KEY"Dossiers de test et de production
Les consentements et les désabonnements de courriel sont tenus séparément pour chaque mode de clé, comme ceux des textos. Un consentement enregistré avec une clé de test laisse passer les courriels commerciaux de test, jamais un courriel en production, et chaque clé liste et vérifie les consentements de son propre mode. Un désabonnement d’un courriel de production est un désabonnement de production ; celui d’un courriel de test, ou une plainte simulée avec complained@test.honkio.ca, est un désabonnement de test que les envois en production ne voient jamais.
Les suppressions sont elles aussi tenues séparément pour chaque mode de clé. Le rebond ou la plainte simulés d’un courriel de test, et le désabonnement d’un courriel de test, ajoutent l’adresse à votre liste de test ; les envois de test sont vérifiés d’après cette liste, et les envois en production ne la voient jamais. Une clé de test liste, ajoute et retire les suppressions de test, et une clé de production celles de production. Dans le tableau de bord, la page Suppressions suit le sélecteur Production/Test.
HonkIO