Référence de l’API
Modèles de courriel
Stocker des modèles de courriel et publier des versions à envoyer par identifiant ou par alias.
/v1/email-templatesLister les modèles de courriel
email_templates:rSDK Node.jshonkio.emailTemplates.list()Nécessite email_templates:r.
Réponses
- 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.
- 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 { data, error } = await honkio.emailTemplates.list({ limit: 20 })
if (error) throw new Error(error.message)
for (const t of data.data) console.log(t.alias, t.published_version)curl https://api.honkio.ca/v1/email-templates \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/email-templatesCréer un modèle de courriel
email_templates:wSDK Node.jshonkio.emailTemplates.create()Enregistre un brouillon. Un envoi de production utilise un modèle une fois qu’il est publié; un envoi avec une clé de test utilise le brouillon, publié ou non, de sorte qu’une clé de test peut créer et essayer un modèle sans le publier. Un compte peut avoir jusqu’à 200 modèles, y compris ceux créés par /v1/templates (EMAIL_TEMPLATE_LIMIT_REACHED au-delà).
Nécessite email_templates:w.
Corps de la requête
Un nouveau modèle. Il est enregistré comme brouillon : publiez-le avant de vous en servir pour envoyer avec une clé de production.
| Champ | Type | Description |
|---|---|---|
nameobligatoire | string | Un libellé pour vous, jusqu’à 200 caractères.
|
alias | string | Pour envoyer avec lui plutôt qu’avec l’identifiant : de 1 à 63 lettres minuscules, chiffres, - ou _, commençant par une lettre ou un chiffre. null le retire.
|
subjectobligatoire | string | Jusqu’à 998 caractères sur une seule ligne. Les espaces au début et à la fin sont retirés, et un saut de ligne ou tout autre caractère de contrôle devient une espace. Les variables se placent entre doubles accolades, par exemple {{ first_name }}.
|
html | string | Le corps HTML. Un modèle exige html, text ou les deux. Les valeurs des variables sont toujours échappées en HTML.
|
text | string | Le corps en texte brut.
|
from | string | L’expéditeur par défaut. Un envoi peut définir le sien.
|
reply_to | string | string[] | L’adresse de réponse par défaut : une chaîne ou un tableau. Un envoi peut définir la sienne. |
variables[] | object[] | Chaque variable qu’utilise le modèle, avec une valeur de repli au besoin. Un envoi qui en laisse une sans valeur ni valeur de repli est refusé.
|
keyobligatoire | string | Le nom de la variable : jusqu’à 64 caractères.
|
fallback | string | Utilisée quand un envoi ne fournit aucune valeur : jusqu’à 1000 caractères.
|
Réponses
- 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.
- 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 { data: template, error } = await honkio.emailTemplates.create({
name: 'Shipping update',
alias: 'shipping-update',
subject: 'Your order is on its way, {{ firstName }}',
html: '<p>Hi {{ firstName }}, your order has shipped.</p>',
variables: [{ key: 'firstName', fallback: 'there' }],
})
if (error) throw new Error(error.message)
console.log(template.id)curl -X POST https://api.honkio.ca/v1/email-templates \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Shipping update",
"alias": "shipping-update",
"subject": "Your order is on its way, {{ firstName }}",
"html": "<p>Hi {{ firstName }}, your order has shipped.</p>",
"variables": [
{
"key": "firstName",
"fallback": "there"
}
]
}'/v1/email-templates/{idOrAlias}Obtenir un modèle de courriel par identifiant ou par alias
email_templates:rSDK Node.jshonkio.emailTemplates.get()Nécessite email_templates:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idOrAliasobligatoirechemin | string |
|
Réponses
- 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.
- 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 { data, error } = await honkio.emailTemplates.get('shipping-update')
if (error) throw new Error(error.message)
console.log(data.published_version, data.has_unpublished_changes)curl https://api.honkio.ca/v1/email-templates/ID_OR_ALIAS \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/email-templates/{idOrAlias}Modifier le brouillon d’un modèle de courriel
email_templates:mSDK Node.jshonkio.emailTemplates.update()Modifie le brouillon. Les envois de production gardent la version publiée jusqu’à ce que vous publiiez de nouveau; un envoi avec une clé de test utilise le brouillon. L’alias ne fait pas partie du brouillon : sa modification s’applique aux envois immédiatement, de sorte qu’une clé de test ne peut pas le modifier sur un modèle qui a une version publiée (LIVE_KEY_REQUIRED).
Nécessite email_templates:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idOrAliasobligatoirechemin | string |
|
Corps de la requête
Les champs à modifier dans le brouillon. Les envois de production continuent d’utiliser la version publiée jusqu’à ce que vous publiiez de nouveau.
| Champ | Type | Description |
|---|---|---|
name | string | Un libellé pour vous, jusqu’à 200 caractères.
|
alias | string | Pour envoyer avec lui plutôt qu’avec l’identifiant : de 1 à 63 lettres minuscules, chiffres, - ou _, commençant par une lettre ou un chiffre. null le retire.
|
subject | string | Jusqu’à 998 caractères sur une seule ligne. Les espaces au début et à la fin sont retirés, et un saut de ligne ou tout autre caractère de contrôle devient une espace. Les variables se placent entre doubles accolades, par exemple {{ first_name }}.
|
html | string | Le corps HTML. Un modèle exige html, text ou les deux. Les valeurs des variables sont toujours échappées en HTML.
|
text | string | Le corps en texte brut.
|
from | string | L’expéditeur par défaut. Un envoi peut définir le sien.
|
reply_to | string | string[] | L’adresse de réponse par défaut : une chaîne ou un tableau. Un envoi peut définir la sienne. |
variables[] | object[] | Chaque variable qu’utilise le modèle, avec une valeur de repli au besoin. Un envoi qui en laisse une sans valeur ni valeur de repli est refusé. |
keyobligatoire | string | Le nom de la variable : jusqu’à 64 caractères.
|
fallback | string | Utilisée quand un envoi ne fournit aucune valeur : jusqu’à 1000 caractères.
|
Réponses
- 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.
- 403LIVE_KEY_REQUIRED : une clé de test ne peut pas modifier l’alias d’un modèle qui a une version publiée, car des envois de production peuvent utiliser cet alias. Elle peut modifier tous les autres champs du brouillon. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise par cette opération, ou lorsque le compte est suspendu ou fermé.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.emailTemplates.update('shipping-update', { subject: 'Shipped: your order, {{ firstName }}' })
if (error) throw new Error(error.message)curl -X PATCH https://api.honkio.ca/v1/email-templates/ID_OR_ALIAS \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": "Shipped: your order, {{ firstName }}"
}'/v1/email-templates/{idOrAlias}Supprimer un modèle de courriel et ses versions
email_templates:dSDK Node.jshonkio.emailTemplates.remove()Les envois qui nomment le modèle répondent ensuite NOT_FOUND. Refusé avec EMAIL_TEMPLATE_IN_USE tant qu’un courriel programmé l’utilise. Clés de production seulement (LIVE_KEY_REQUIRED).
Nécessite email_templates:d.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idOrAliasobligatoirechemin | string |
|
Réponses
- 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.
- 403LIVE_KEY_REQUIRED : les modèles n’ont pas de mode test, et cette opération change ce que les envois de production reçoivent. Une clé de test peut créer un modèle, modifier son brouillon et envoyer des courriels de test qui utilisent le brouillon. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise par cette opération, ou lorsque le compte est suspendu ou fermé.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.emailTemplates.remove('shipping-update')
if (error) throw new Error(error.message)curl -X DELETE https://api.honkio.ca/v1/email-templates/ID_OR_ALIAS \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/email-templates/{idOrAlias}/publishPublier le brouillon en tant que nouvelle version
email_templates:mSDK Node.jshonkio.emailTemplates.publish()Les envois de production utilisent la nouvelle version immédiatement. Clés de production seulement (LIVE_KEY_REQUIRED) : un envoi avec une clé de test utilise le brouillon et n’exige aucune publication.
Nécessite email_templates:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idOrAliasobligatoirechemin | string |
|
Réponses
- 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.
- 403LIVE_KEY_REQUIRED : les modèles n’ont pas de mode test, et cette opération change ce que les envois de production reçoivent. Une clé de test peut créer un modèle, modifier son brouillon et envoyer des courriels de test qui utilisent le brouillon. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise par cette opération, ou lorsque le compte est suspendu ou fermé.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 { data, error } = await honkio.emailTemplates.publish('shipping-update')
if (error) throw new Error(error.message)
console.log(data.published_version)curl -X POST https://api.honkio.ca/v1/email-templates/ID_OR_ALIAS/publish \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/email-templates/{idOrAlias}/rollbackRepublier une version antérieure en tant que nouvelle version
email_templates:mSDK Node.jshonkio.emailTemplates.rollback()Remplace le brouillon par la version antérieure et la publie. Clés de production seulement (LIVE_KEY_REQUIRED).
Nécessite email_templates:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idOrAliasobligatoirechemin | string |
|
Corps de la requête
La version à publier de nouveau.
| Champ | Type | Description |
|---|---|---|
versionobligatoire | integer | Un numéro de version publiée, tiré de GET /v1/email-templates/{idOrAlias}/versions.
|
Réponses
- 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.
- 403LIVE_KEY_REQUIRED : les modèles n’ont pas de mode test, et cette opération change ce que les envois de production reçoivent. Une clé de test peut créer un modèle, modifier son brouillon et envoyer des courriels de test qui utilisent le brouillon. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise par cette opération, ou lorsque le compte est suspendu ou fermé.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 { data, error } = await honkio.emailTemplates.rollback('shipping-update', { version: 2 })
if (error) throw new Error(error.message)
console.log(data.published_version)curl -X POST https://api.honkio.ca/v1/email-templates/ID_OR_ALIAS/rollback \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"version": 2
}'/v1/email-templates/{idOrAlias}/versionsLister les versions publiées, des plus récentes aux plus anciennes
email_templates:rSDK Node.jshonkio.emailTemplates.versions()Nécessite email_templates:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idOrAliasobligatoirechemin | string |
|
Réponses
- 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.
- 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 { data, error } = await honkio.emailTemplates.versions('shipping-update')
if (error) throw new Error(error.message)
for (const v of data.data) console.log(v.version, v.current)curl https://api.honkio.ca/v1/email-templates/ID_OR_ALIAS/versions \
-H "Authorization: Bearer mk_live_YOUR_KEY"
HonkIO