📨Fonction : Send Email
Objectif
Cette fonction Xano envoie un email transactionnel en utilisant l'API Resend, en récupérant le contenu de l'email à partir d'un modèle et en insérant du contenu dynamique. Elle inclut une gestion d'erreurs robuste et une collecte complète des variables pour le débogage.
Inputs
email
: L'adresse email du destinataire (type : email)dynamic_content
: Un objet contenant le contenu dynamique à insérer dans l'email (type : object)transactional_emails_id
: L'ID du modèle d'email à utiliser (type : integer)
Étapes de la fonction
Get Record From
transactional_emails
:Recherche l'enregistrement dans la table
transactional_emails
en utilisant l'ID fourniRetourné comme :
current_email
Get Record From
messages
:Recherche un message d'erreur avec le nom interne "no_email_template_found"
Retourné comme :
error_notemplate
Précondition :
Condition :
var:current_email|is_empty == false
Message d'erreur :
var:error_notemplate.message
API Request To Resend:
URL : https://api.resend.com/emails
Méthode : POST
Paramètres :
from
:%s <%s>
(nom de l'expéditeur et email)to
:input:email
subject
:var:current_email.subject
html
:var:current_email.content
(avec remplacement dynamique)
Headers :
Authorization: Bearer
env:resend_api_key
Content-Type: application/json
Timeout : 10 secondes
Retourné comme :
send_email
Get Record From
messages
:Recherche un message d'erreur avec le nom interne "email_not_sent"
Retourné comme :
error_email
Vérifier que l'email a bien été envoyé et que ça a fonctionné:
Précondition :
var:send_email.response.status != 400
Message d'erreur :
var:error_email.message
Payload :
type
:var:error_email.type
input
:var:error_email.input
Type d'erreur : Standard
Get Variables:
Récupère toutes les variables de la fonction
Retourné comme :
__all_vars
Fonctionnement
La fonction récupère le modèle d'email à partir de l'ID fourni.
Elle vérifie que le modèle existe, sinon elle renvoie une erreur.
Elle prépare la requête à l'API Resend en insérant le contenu dynamique dans le modèle d'email.
Elle envoie la requête à l'API Resend pour envoyer l'email.
Elle vérifie le statut de la réponse de l'API Resend.
Si le statut n'est pas 400 (ce qui indique un succès), elle considère que l'email a été envoyé avec succès.
En cas d'erreur (statut 400), elle prépare un message d'erreur avec des détails supplémentaires.
Enfin, elle récupère toutes les variables de la fonction pour un éventuel débogage ou traitement ultérieur.
Response
La fonction retourne toutes les variables de la fonction dans __all_vars
, accessible via la clé send_email
dans la réponse.
Gestion des erreurs
La fonction inclut plusieurs niveaux de gestion des erreurs :
Vérification de l'existence du modèle d'email avant l'envoi.
Capture des erreurs potentielles lors de l'appel à l'API Resend.
Vérification du statut de la réponse après l'envoi de l'email.
Chaque étape de vérification est associée à un message d'erreur spécifique, permettant une identification précise du problème en cas d'échec.
Utilisation
Cette fonction est utilisée pour envoyer des emails transactionnels personnalisés aux utilisateurs. Elle peut être appelée à différents moments dans l'application, par exemple lors de l'inscription d'un utilisateur, de la réinitialisation d'un mot de passe, ou de l'envoi de notifications importantes.
Cette fonction offre une gestion robuste des erreurs et une collecte complète des variables, ce qui la rend particulièrement utile pour le débogage et le suivi des emails transactionnels dans l'application.
Dernière mise à jour