Référence de l’API
Conformité / LCAP
Gestion du consentement LCAP et des désabonnements.
/v1/compliance/consentsLister les enregistrements de consentement des abonnés du compte
compliance:rSDK Node.jshonkio.consents.list()Nécessite compliance:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
phone_numberrequête | string | |
email_addressrequête | string | Limiter aux consentements par courriel de cette adresse. Le consentement par courriel sera offert au lancement du produit courriel. |
statusrequête | string |
|
pagerequête | integer |
|
limitrequête | integer |
|
Réponses
200Une page d’enregistrements de consentement, du plus récent au plus ancien. Aucun total n’est renvoyé.
Champ Type Description data[]obligatoireobject[] idobligatoirestring accountIdobligatoirestring channelobligatoirestring - Une valeur parmi : SMS | EMAIL
phoneNumberobligatoirestring - Peut être null
emailAddressobligatoirestring - Peut être null
consentTypeobligatoirestring - Une valeur parmi : EXPRESS | IMPLIED
statusobligatoirestring - Une valeur parmi : ACTIVE | EXPIRED | REVOKED
sourceDescriptionobligatoirestring - Peut être null
sourceIpobligatoirestring - Peut être null
sourceUrlobligatoirestring - Peut être null
relationshipTypeobligatoirestring - Peut être null
expiresAtobligatoirestring - Format : date-time
- Peut être null
grantedAtobligatoirestring - Format : date-time
revokedAtobligatoirestring - Format : date-time
- Peut être null
revokedReasonobligatoirestring - Peut être null
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 422VALIDATION_ERROR : la requête n’a pas passé la validation ; details indique les champs en cause.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
- 501EMAIL_COMING_SOON : le consentement par courriel sera offert au lancement du produit courriel (renvoyé uniquement pour une requête email_address).Le corps d’erreur standard.
Exemple
const { data, error } = await honkio.consents.list({ status: 'ACTIVE', limit: 50 })
if (error) throw new Error(error.message)
console.log(data.data.length)curl https://api.honkio.ca/v1/compliance/consents \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/compliance/consentsEnregistrer le consentement LCAP pour un numéro de téléphone ou une adresse courriel
compliance:wSDK Node.jshonkio.consents.create()Enregistre un consentement exprès ou tacite conformément aux articles 6 à 10 de la LCAP. Obligatoire avant d’envoyer des messages commerciaux.
Nécessite compliance:w.
Corps de la requête
| Champ | Type | Description |
|---|---|---|
phone_number | string | Numéro de téléphone E.164 de l’abonné |
email_address | string | Adresse courriel de l’abonné (canal courriel). Le consentement par courriel sera offert au lancement du produit courriel.
|
consent_typeobligatoire | string |
|
source_description | string | Comment et où le consentement a été obtenu (obligatoire pour le consentement exprès)
|
source_ip | string | Adresse IP de l’abonné au moment du consentement
|
source_url | string | URL où le consentement a été obtenu
|
relationship_type | string | Type de relation d’affaires (requis pour le type implied, soit le consentement tacite ; p. ex. "purchase")
|
last_transaction_date | string | Date de la dernière transaction (consentement tacite : l’expiration est calculée à partir de cette date)
|
expires_at | string | Date d’expiration explicite (date ou date-heure ISO 8601) d’un consentement tacite. Remplace l’expiration calculée à partir de last_transaction_date. Refusée pour le consentement exprès, qui n’expire jamais (LCAP, art. 10). |
Réponses
201Réponse par défaut
Champ Type Description statusstring phone_numberstring email_addressstring expires_atstring Moment où ce consentement expire (consentement tacite seulement) ; null pour un consentement exprès.
- Peut être null
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 422INVALID_PHONE_NUMBER, EMAIL_INVALID_ADDRESS ou VALIDATION_ERROR (fournissez exactement un seul des champs phone_number ou email_address ; le consentement exprès exige source_description et n’accepte pas expires_at ; le consentement tacite exige relationship_type).Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
- 501EMAIL_COMING_SOON : le consentement par courriel sera offert au lancement du produit courriel (renvoyé uniquement pour une requête email_address).Le corps d’erreur standard.
Exemple
const { error } = await honkio.consents.create({
phoneNumber: '+1613XXXXXXX',
consentType: 'express',
sourceDescription: 'Website opt-in form',
})
if (error) throw new Error(error.message)curl -X POST https://api.honkio.ca/v1/compliance/consents \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+1613XXXXXXX",
"consent_type": "express",
"source_description": "Website opt-in form"
}'/v1/compliance/consents/checkVérifier si un numéro de téléphone ou une adresse courriel dispose d’un consentement LCAP valide
compliance:rSDK Node.jshonkio.consents.check()Un consentement que cette vérification trouve expiré est marqué EXPIRED par la vérification elle-même, et pas seulement par une tâche en arrière-plan : cet appel peut donc écrire, et non seulement lire.
Nécessite compliance:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
phone_numberrequête | string | |
email_addressrequête | string | Vérifier une adresse courriel plutôt qu’un numéro de téléphone. Le consentement par courriel sera offert au lancement du produit courriel. |
Réponses
200Indique si un envoi au numéro de téléphone ou à l’adresse courriel franchirait le contrôle de la LCAP. Un seul des champs phone_number/email_address est présent, selon le sujet interrogé. consentType et reason sont en camelCase et mutuellement exclusifs.
Champ Type Description phone_numberstring email_addressstring allowedobligatoireboolean consentTypestring Présent si l’opération est autorisée.
- Une valeur parmi : EXPRESS | IMPLIED
reasonstring Présent si l’opération n’est pas autorisée.
- Une valeur parmi : OPT_OUT | NO_CONSENT | CONSENT_EXPIRED
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 422INVALID_PHONE_NUMBER, EMAIL_INVALID_ADDRESS ou VALIDATION_ERROR (fournissez exactement un seul des champs phone_number ou email_address).Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
- 501EMAIL_COMING_SOON : le consentement par courriel sera offert au lancement du produit courriel (renvoyé uniquement pour une requête email_address).Le corps d’erreur standard.
Exemple
const { data, error } = await honkio.consents.check({ phoneNumber: '+1613XXXXXXX' })
if (error) throw new Error(error.message)
console.log(data.allowed, data.reason)curl https://api.honkio.ca/v1/compliance/consents/check \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/compliance/consents/{phone}Révoquer le consentement LCAP pour un numéro de téléphone
compliance:mdSDK Node.jshonkio.consents.revoke()Révoque les enregistrements de consentement pour le numéro donné. Remarque : les désabonnements sont distincts. Utilisez POST /opt-outs pour bloquer également les envois futurs.
Nécessite compliance:m ou compliance:d (l’une ou l’autre).
Paramètres
| Paramètre | Type | Description |
|---|---|---|
phoneobligatoirechemin | string |
Réponses
- 204Tous les consentements actifs du numéro sont révoqués.
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 404NOT_FOUND : aucun consentement actif pour le numéro.Le corps d’erreur standard.
- 422INVALID_PHONE_NUMBER.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
const { error } = await honkio.consents.revoke({ phoneNumber: '+1613XXXXXXX' })
if (error) throw new Error(error.message)curl -X DELETE https://api.honkio.ca/v1/compliance/consents/PHONE \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/compliance/consents/email/{address}Révoquer le consentement LCAP pour une adresse courriel
compliance:mdSDK Node.jshonkio.consents.revoke()Révoque les consentements courriel ACTIVE de l’adresse. Les désabonnements et les entrées de la liste de suppression sont distincts.
Nécessite compliance:m ou compliance:d (l’une ou l’autre).
Paramètres
| Paramètre | Type | Description |
|---|---|---|
addressobligatoirechemin | string |
Réponses
- 204Tous les consentements actifs de l’adresse courriel sont révoqués.
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 404NOT_FOUND : aucun consentement actif pour l’adresse courriel.Le corps d’erreur standard.
- 422EMAIL_INVALID_ADDRESS.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
- 501EMAIL_COMING_SOON : le consentement par courriel sera offert au lancement du produit courriel.Le corps d’erreur standard.
Exemple
const { error } = await honkio.consents.revoke({ emailAddress: 'sam@example.com' })
if (error) throw new Error(error.message)curl -X DELETE https://api.honkio.ca/v1/compliance/consents/email/ADDRESS \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/compliance/opt-outsLister les enregistrements de désabonnement
compliance:rNécessite compliance:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
phone_numberrequête | string | |
from_numberrequête | string | |
pagerequête | integer |
|
limitrequête | integer |
|
Réponses
200Une page d’enregistrements de désabonnement, du plus récent au plus ancien. Aucun total n’est renvoyé.
Champ Type Description data[]obligatoireobject[] idobligatoirestring accountIdobligatoirestring channelobligatoirestring - Une valeur parmi : SMS | EMAIL
phoneNumberobligatoirestring - Peut être null
fromNumberobligatoirestring Le numéro d’envoi à partir duquel l’abonné s’est désabonné (SMS).
- Peut être null
fromAddressobligatoirestring - Peut être null
emailAddressobligatoirestring - Peut être null
keywordUsedobligatoirestring STOP, UNSUBSCRIBE, etc. ; null pour un désabonnement enregistré au moyen de l’API.
- Peut être null
optedOutAtobligatoirestring - Format : date-time
reinstatedAtobligatoirestring - Format : date-time
- Peut être null
reinstateKeywordobligatoirestring - Peut être null
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 422VALIDATION_ERROR : la requête n’a pas passé la validation ; details indique les champs en cause.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl https://api.honkio.ca/v1/compliance/opt-outs \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/compliance/opt-outsEnregistrer manuellement un désabonnement pour un numéro de téléphone
compliance:wNécessite compliance:w.
Corps de la requête
| Champ | Type | Description |
|---|---|---|
phone_numberobligatoire | string | Numéro qui se désabonne (abonné) |
from_numberobligatoire | string | Votre numéro d’envoi visé par leur désabonnement |
Réponses
201Désabonné.
Champ Type Description statusobligatoirestring - Une valeur parmi : opted_out
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403PHONE_NUMBER_NOT_OWNED : une clé de production a enregistré un désabonnement à partir d’un numéro que le compte ne détient pas.Le corps d’erreur standard.
- 422INVALID_PHONE_NUMBER ou VALIDATION_ERROR.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X POST https://api.honkio.ca/v1/compliance/opt-outs \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+1613XXXXXXX",
"from_number": "+1416XXXXXXX"
}'
HonkIO