Prévisualiser un modèle d'e-mail
POST /v1/email-templates/{family}/{locale}:preview · autorisation email-templates:write · plan Startup et supérieurs
Rend une version enregistrée, ou un contenu que vous n'avez pas enregistré, avec des données d'exemple, et renvoie le message complet tel que les destinataires le verraient : la mise en page de la plateforme, le bloc de sécurité obligatoire et la marque de la plateforme. Rien n'est enregistré ni envoyé. Le code et le lien d'exemple sont aléatoires à chaque appel. La validation est la même que pour enregistrer un brouillon.
Paramètres de chemin
| Paramètre | Description |
|---|---|
family |
Famille d'e-mails, par exemple verify_email ou email_otp (voir Lister les modèles d'e-mail). |
locale |
Étiquette de langue, par exemple en ou de. |
Requête
Envoyez soit version, soit les champs de contenu, pas les deux.
| Champ | Type | Description |
|---|---|---|
version |
integer | Une version enregistrée à rendre (1 ou plus). |
subject, html, text_body, from_name |
string | Contenu non enregistré, avec les mêmes règles que enregistrer un brouillon. |
Réponse
200 OK
{
"subject": "Confirm your email for Example App",
"html": "<!doctype html><html lang=\"en\">…</html>",
"text": "Confirm your email: https://login.example.com/preview/9f2c…",
"locale": "en"
}
locale est la langue du catalogue utilisée pour les parties propres à la plateforme.
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 400 | unknown_field |
Le corps contient un champ inconnu ou n'est pas un objet JSON. |
| 404 | not_found |
La famille ou la langue est inconnue, ou la version n'existe pas. |
| 403 | plan_feature_unavailable |
Le plan de l'environnement n'inclut pas les modèles d'e-mail personnalisés (Startup et supérieurs ; required_plan indique lequel). |
| 413 | payload_too_large |
Le corps dépasse 2 MiB. |
| 422 | validation_failed |
version et le contenu ont été envoyés ensemble (conflicts_with_content), ou le contenu ne passe pas la validation. |
| 422 | template_forbidden_construct |
Le modèle utilise une construction Liquid hors du bac à sable. |
| 401 | unauthenticated |
L'identifiant est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
L'identifiant n'a pas l'autorisation requise. |
| 429 | rate_limited |
La limite de débit a été dépassée ; réessayez après la durée indiquée par Retry-After. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par Retry-After. |
Exemple
curl -X POST https://api.eu.keenauth.com/v1/email-templates/verify_email/en:preview \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"version":3}'
CLI : keenauth email-templates preview verify_email en --version 3