E-mails transactionnels

Si vous disposez du module complémentaire d'e-mails transactionnels, vous pouvez envoyer des e-mails avec une adresse IP dédiée pour des reçus commerciaux, des mises à jour de compte, des modifications des conditions d'utilisation et d'autres transactions essentielles.

Les e-mails transactionnels sont destinés aux interactions relationnelles, contrairement aux e-mails marketing qui sont généralement utilisés pour promouvoir du contenu.

Méthodes d'envoi d'e-mails transactionnels

Il existe trois façons d'envoyer un e-mail transactionnel :

Méthode Vue d'ensemble Exemple de cas d'utilisation
E-mail transactionnel dans l'application Créez des e-mails transactionnels à l'aide de l'éditeur d'e-mails de HubSpot.

Vous profitez des mêmes avantages que les e-mails HubSpot standard, tels que le contenu intelligent, la personnalisation et les modèles.

Découvrez-en davantage sur la configuration d'e-mails transactionnels dans l'application.
Envoyez un e-mail de mise à jour de politique à vos clients avec un lien vers une nouvelle page de politique. Il s'agit d'une mise à jour du service client, et non d'un e-mail marketing. Vous n'avez donc pas à inclure les liens d'abonnement (par exemple, liens CAN-SPAM). Vous n'avez pas besoin d'utiliser toutes les propriétés personnalisées ou informations de systèmes externes.
API SMTP
Envoyez un e-mail transactionnel à l'aide de votre propre site ou de votre application, tout en suivant les performances de l'e-mail et en créant des informations de contact dans HubSpot. La création facultative d'informations de contact repose sur la création du jeton SMTP.

Découvrez-en davantage dans la section API SMTP ci-dessous .

Envoyez un e-mail de confirmation de création de compte à partir d'un système d'e-mail transactionnel distinct, tout en suivant les performances de l'e-mail et en créant des contacts dans HubSpot.
API d'envoi unique Il s'agit d'une combinaison entre l'envoi d'e-mails transactionnels dans l'application et via l'API SMTP.

Créez des e-mails transactionnels à l'aide de l'éditeur d'e-mails de HubSpot et ajoutez des jetons externes personnalisés à votre e-mail que vous pouvez envoyer à HubSpot via l'API.

Découvrez-en davantage dans la section API d'envoi unique ci-dessous.
Envoyez un e-mail de reçu d'achat à votre client via HubSpot. L'e-mail est déclenché lorsque l'achat est effectué et les valeurs personnalisées sont transmises depuis un autre système (par exemple, l'élément acheté et le montant total des achats). Suivez également les performances de cet e-mail dans HubSpot.

Remarque : Tous les contacts en copie sur un e-mail transactionnel ne seront pas suivis et l'e-mail n'apparaîtra pas sur la chronologie de la fiche d'informations d'un contact en copie.

API SMTP

L'e-mail transactionnel envoyé à l'aide de l'API SMTP est automatiquement déclenché par des critères spécifiques, comme un achat sur un site web d'e-commerce. Cette API s'intègre à tous les systèmes internes ou tiers afin de déclencher l'e-mail et d'intégrer des données stockées en dehors de HubSpot (par exemple, informations de livraison ou prix d'achat). L'e-mail est envoyé depuis votre système, mais est encadré par les codes de suivi HubSpot qui permettent le suivi et l'évaluation des engagements.

Pour envoyer un e-mail à l'aide de l'API SMTP, vous devez utiliser un jeton d'API SMTP pour obtenir des identifiants de connexion au serveur SMTP de HubSpot. Une fois que vous vous connectez au serveur, vous pouvez envoyer l'e-mail sur SMTP. Si vous n'avez créé aucun jeton d'API SMTP, vous devez d'abord générer un nouveau jeton. Si vous avez déjà créé des jetons d'API SMTP, découvrez les différentes méthodes pour obtenir vos jetons via l'API. Après avoir obtenu votre jeton, découvrez comment vous connecter au serveur SMTP de HubSpot.

Tous les domaines que vous utilisez comme adresses d'expéditeur pour vos e-mails doivent être connectés comme domaines d'envoi d'e-mails dans HubSpot. Une erreur se produira si vous envoyez des e-mails transactionnels via l'API SMTP via un domaine qui n'est pas autorisé à envoyer des e-mails au nom de votre compte HubSpot.

Remarque : Toutes les méthodes de l'API SMTP nécessitent un jeton OAuth pour l'authentification.

Si vous préférez, toutes les méthodes ci-dessous pour créer, récupérer, supprimer et réinitialiser les mots de passe pour les jetons d'API SMTP peuvent être effectuées dans votre compte HubSpot, plutôt que dans l'API.

Créer un nouveau jeton d'API SMTP

Pour créer un jeton d'API SMTP, effectuez une demande POST à /marketing/v3/transactional/smtp-tokens/.

Le corps de la demande doit être un objet JSON avec les propriétés suivantes :

  • createContact : indique si un contact doit être créé pour les destinataires.
  • campaignName : un nom pour la campagne associée au jeton d'API SMTP.

La réponse comprend un objet de jeton SMTP, qui contient :

  • id : nom d'utilisateur pour la connexion au serveur SMTP de HubSpot.
  • createdBy : adresse e-mail de l'utilisateur qui a envoyé la demande de création de jeton.
  • password : le mot de passe pour la connexion au serveur SMTP de HubSpot.
  • emailCampaignId : l'identifiant affecté à la campagne fournie dans la demande de création de jeton.
  • createdAt : l'horodatage généré lors de la création d'un jeton.
  • createContact : indique si un contact doit être créé pour les destinataires.
  • campaignName : le nom de la campagne associée au jeton.

Grâce à votre jeton créé, vous pouvez vous connecter au serveur SMTP de HubSpot à l'aide des valeurs id et password.

Le mot de passe du jeton ne peut être récupéré qu'au moment de la création. Si vous perdez le mot de passe ou que vous souhaitez définir un nouveau mot de passe, vous devez réinitialiser le mot de passe du jeton

Remarque : Les jetons d'API SMTP générés via l'API publique expirent après 12 mois. Une fois expirés, ils sont automatiquement supprimés. Les jetons créés directement dans votre compte HubSpot n'expirent pas automatiquement.

Récupérer des jetons SMTP

Voici les méthodes disponibles pour obtenir les données de jeton en utilisant l'API.

Lister les jetons d'API SMTP par campagne

Pour obtenir une liste de jetons par nom de campagne ou obtenir un jeton unique selon son ID de campagne, effectuez une demande GET à /marketing/v3/transactional/smtp-tokens.

Vous devez également inclure un paramètre campaignName ou emailCampaignId avec la demande. Vous pouvez trouver tous les détails de la demande dans l'onglet Points de terminaison en haut de cet article.

Détails de la réponse

La réponse contient results et paging comme champs de premier niveau :

  • results : un ensemble de SmtpApiTokenView contenant :
    • id : nom d'utilisateur pour la connexion au serveur SMTP de HubSpot.
    • createdBy : adresse e-mail de l'utilisateur qui a envoyé la demande de création de jeton.
    • emailCampaignId : l'identifiant affecté à la campagne fournie dans la demande de création de jeton.
    • createdAt : l'horodatage généré lors de la création d'un jeton.
    • createContact : indique si un contact doit être créé pour les destinataires.
    • campaignName : le nom de la campagne associée au jeton.
  • paging : contient un champ next.after qui peut être utilisé pour demander plus de résultats.

Demander un jeton unique d'API SMTP

Pour modifier un jeton d'API SMTP par ID, effectuez une demande GET à /marketing/v3/transactional/smtp-tokens/{tokenId}.

Détails de la réponse

La réponse comprend SmtpApiTokenView, qui contient :

  • id : nom d'utilisateur pour la connexion au serveur SMTP de HubSpot.
  • createdBy : adresse e-mail de l'utilisateur qui a envoyé la demande de création de jeton.
  • emailCampaignId : l'identifiant affecté à la campagne fournie dans la demande de création de jeton.
  • createdAt : l'horodatage généré lors de la création d'un jeton.
  • createContact : indique si un contact doit être créé pour les destinataires.
  • campaignName : le nom de la campagne associée au jeton.

 

Gérer les jetons existants

Après avoir créé des jetons, vous pouvez réinitialiser un mot de passe ou supprimer le jeton en utilisant l'API.

Réinitialiser le mot de passe

Pour réinitialiser un mot de passe de jeton, effectuez une demande POST à /marketing/v3/transactional/smtp-tokens/{tokenId}/password-reset.

La réponse comprend SmtpApiTokenView, qui contient :

  • id : nom d'utilisateur pour la connexion au serveur SMTP de HubSpot.
  • createdBy : adresse e-mail de l'utilisateur qui a envoyé la demande de création de jeton.
  • emailCampaignId : l'identifiant affecté à la campagne fournie dans la demande de création de jeton.
  • createdAt : l'horodatage généré lors de la création d'un jeton.
  • createContact : indique si un contact doit être créé pour les destinataires.
  • campaignName : le nom de la campagne associée au jeton.

Supprimer un jeton

Pour supprimer un jeton d'API SMTP, effectuez une demande DELETE à  /marketing/v3/transactional/smtp-tokens/{tokenId}. 

La réponse ne comprend aucun contenu.

 

Se connecter au serveur SMTP de HubSpot

Voici les détails pour la connexion au serveur SMTP de HubSpot, en utilisant le nom d'utilisateur (id) et le mot de passe fourni par votre jeton.

  • Nom d'hôte SMTP :
    • Si vous ne résidez pas dans l'UE, utilisez smtp.hubapi.com pour le nom d'hôte.
    • Si vous résidez dans l'UE, utilisez smtp-eu1.hubapi.com pour le nom d'hôte.
  • Port SMTP :
    • Pour STARTTLS, vous pouvez utiliser le port 25 ou 587.
    • Pour le TLS direct, utilisez le port 465.
  • Nom utilisateur SMTP : fourni dans le champ d'ID
  • Mot de passe SMTP : fourni dans le champ de mot de passe

 

API d'envoi unique

L'API d'envoi unique envoie des e-mails reposant sur des modèles créés dans l'outil E-mails de HubSpot à l'aide d'une demande POST au format JSON. Tous les e-mails envoyés via l'API seront automatiquement associés à des fiches d'informations de contact en fonction de l'adresse e-mail. S'il n'y a aucun contact avec une adresse e-mail correspondante, un nouveau contact avec cette adresse e-mail sera créé. Si vous souhaitez envoyer des e-mails sans créer de contacts, utilisez l'API SMTP.

Créer et publier votre modèle d'e-mail

L'API d'envoi unique envoie des e-mails reposant sur des modèles créés dans l'outil E-mails de HubSpot à l'aide d'une demande POST au format JSON. Tous les e-mails envoyés via l'API seront automatiquement associés à des fiches d'informations de contact en fonction de l'adresse e-mail. S'il n'y a aucun contact avec une adresse e-mail correspondante, un nouveau contact avec cette adresse e-mail sera créé. Si vous souhaitez envoyer des e-mails sans créer de contacts, utilisez l'API SMTP.

Commencez par configurer votre e-mail dans HubSpot. Après la création de l'e-mail, vous pouvez définir les détails du destinataire, y compris les propriétés de contact ou personnalisées configurées dans le modèle d'e-mail, dans le corps de la demande de l'API. Avant de pouvoir effectuer la demande d'API, vous aurez besoin de l'ID de l'e-mail :

  • Si vous laissez l'e-mail en tant que brouillon sans le publier, vous pouvez obtenir l'ID d'e-mail à partir de l'URL lorsque vous êtes dans l'éditeur d'e-mail. L'ID est la valeur numérique finale avant la barre oblique finale (/) dans l'URL (par exemple, https://app.hubspot.com/email/{PORTAL_ID}/edit/{EMAIL_ID}/settings).

email-id-for-drafted-single-send-api-email

  • Si vous publiez votre e-mail, vous pouvez copier l'identifiant de l'e-mail à partir de la page de détails de l'e-mail.

Screen Shot 2020-04-15 at 1.00.37 PM

Remarque : HubSpot n'enregistre pas le code HTML/JSON envoyé via cette API. Vous pouvez consulter le modèle d'e-mail à partir de la chronologie du contact destinataire, mais si vous souhaitez conserver un enregistrement du contenu de l'e-mail, il est recommandé d'ajouter un contact en copie cachée à l'e-mail.

Envoyer votre e-mail à l'aide de l'API à envoi unique

Pour envoyer un e-mail avec l'API d'envoi unique, effectuez une demande POST à /marketing/v3/transactional/single-email/send.

La réponse contient les champs suivants :

    • requestedAt : l'horodatage de la demande de l'envoi.
  • status : le statut de la demande d'envoi. Comprend PENDING, PROCESSING, CANCELED et COMPLETE.

Propriétés de demande

Le corps de la demande doit être un objet JSON avec les propriétés suivantes :

  • emailId
  • message
  • contactProperties
  • customProperties

emailId

Le champ emailId contient l'ID de contenu de l'e-mail transactionnel, qui peut être trouvé dans l'outil E-mails de HubSpot.

Message

Le champ message est un objet JSON contenant tout élément que vous souhaitez remplacer. Au minimum, vous devez inclure le champ to.

Champs d'objet du message :

  • to : le destinataire de l'e-mail.
  • from : l'en-tête de l'e-mail. Vous pouvez définir un nom d'expéditeur avec le format suivant : "from":"Sender Name <sender@hubspot.com>".
  • sendId : l'ID d'un envoi particulier. Un seul e-mail avec un champ sendId sera envoyé par compte. Vous pouvez donc inclure ce champ pour éviter les envois en double.
  • replyTo : une liste JSON des valeurs de l'en-tête Répondre à pour l'e-mail.
  • cc : une liste JSON des adresses e-mail à mettre en copie.
  • bcc : une liste JSON des adresses e-mail à mettre en copie cachée.

contactProperties

Le champ contactProperties est un mappage JSON de valeurs de propriétés de contact. Chaque propriété de contact contient les champs name et value. Chaque propriété sera définie sur la fiche d'informations du contact et visible dans le modèle sous :

name-token-in-template-for-transactional-email

Utilisez ces propriétés si vous souhaitez définir une propriété de contact tout en envoyant l'e-mail. Par exemple, lors de l'envoi d'un reçu, vous souhaiterez peut-être définir une propriété last_paid_date, puisque l'envoi du reçu contiendra des informations sur le dernier paiement.

{ "emailId": 4126643121, "message": { "to": "jdoe@hubspot.com" "sendId": "6" }, "contactProperties": { "last_paid_date": "2022-03-01", "firstname": "jane" } }

customProperties

Le champ customProperties est un mappage JSON de propriétés clé-valeur. Ces propriétés sont généralement liées à l'adresse e-mail elle-même, et non au contact qui reçoit l'e-mail. Elles n'apparaîtront pas dans la version web de l'e-mail ni dans la vue de l'e-mail depuis la chronologie du contact. Ces propriétés ne sont pas non plus stockées dans HubSpot et seront uniquement incluses dans l'e-mail envoyé.

Chaque clé du champ customProperties peut être référencée dans le modèle à l'aide d'une expression HubL pour les champs contenus dans la variable custom (par exemple,{{custom.NAME_OF_PROPERTY}}).

Par exemple, si votre modèle d'e-mail fait référence à deux propriétés, purchaseUrl et productName, vous pouvez fournir les valeurs associées à ces propriétés avec le corps de demande suivant :

{ "emailId": 4126643121, "message": { "to": "jdoe@hubspot.com" "sendId": "6" }, "customProperties": { "purchaseUrl": "https://example.com/link-to-product", "productName": "vanilla" } }

Vous pouvez ensuite référencer ces propriétés dans votre modèle d'e-mail :

<!doctype html> <html> <p> Congrats on purchasing some of the best ice cream around. </p> <a href={{custom.purchaseUrl}}>{{custom.productName}}</a> </html>

Le champ customProperties ne prend en charge que les tableaux utilisés avec un contenu d'e-mail programmable. Dans votre modèle d'e-mail, vous pouvez référencer les éléments définis dans votre champ customProperties en utilisant une expression HubL (par exemple, en utilisant une boucle for pour restituer chaque élément dans une liste). Par exemple, si les propriétés personnalisées que vous avez incluses dans votre corps de demande ont été structurées comme le bloc de texte JSON ci-dessous :

{ "emailId": 4126643122, "message": { "to": "jdoe@hubspot.com" "sendId": "7" }, "customProperties": { "exampleArray": [ {"firstKey": "someValue", "secondKey": "anotherValue"}, {"firstKey": "value1", "secondKey": "value2" } ] } }

Vous pouvez ensuite référencer les valeurs de chaque élément dans exampleArray avec le code HubL suivant :

<!doctype html> <html> <p> Thanks for your recent purchase! Here are the details of the items you'll be receiving: </p> <ul> {% for item in custom.exampleArray %} <li>First key: {{ item.firstKey }}, Second key: {{item.secondKey}}</li> {% endfor %} </ul> </html>

Une fois envoyé, l'e-mail transactionnel rendra le contenu du modèle d'e-mail programmable associé comme suit :

example-transactional-email-with-customProperties-array

Demander le statut d'un e-mail envoyé

Pour obtenir le statut de l'envoi d'e-mail, effectuez une demande GET à https://api.hubapi.com/marketing/v3/email/send-statuses/{statusId}

La réponse contient les champs suivants :

    • sendResult : une énumération qui représente le statut d'envoi de l'e-mail. Les valeurs possibles sont énumérées ci-dessous.
    • requestedAt : l'horodatage de la demande de l'envoi.
  • startedAt : l'horodatage du début du traitement de l'envoi.
  • completedAt : l'horodatage de la finalisation de l'envoi.
  • statusId : un identifiant qui peut être utilisé pour interroger le statut de l'envoi.
  • status : le statut de la demande d'envoi. Comprend PENDING, PROCESSING, CANCELED et COMPLETE.
  • eventId : en cas d'envoi, l'ID et l'horodatage de création de l'événement d'envoi.

sendResult

sendResult est une énumération qui reflète le résultat d'une tentative d'envoi d'e-mail. Les valeurs possibles sont :

  • SENT : l'e-mail a été correctement envoyé.
  • QUEUED : l'e-mail a été placé dans la file d'attente et sera envoyé lors du traitement de celle-ci.
  • PORTAL_SUSPENDED : en raison d'une violation de la Politique d'utilisation acceptable, l'e-mail du client HubSpot a été suspendu.
  • INVALID_TO_ADDRESS : l'adresse du destinataire n'est pas valide. Cette erreur se produira également si vous tentez d'envoyer un e-mail avec l'un des préfixes basés sur les rôles suivants dans l'adresse e-mail : abuse, no-reply, noreply, root, spam, security, undisclosed-recipients, unsubscribe, inoc, postmaster ou privacy.
  • BLOCKED_DOMAIN : le domaine ne peut pas recevoir d'e-mails de HubSpot pour le moment.
  • PREVIOUSLY_BOUNCED : le destinataire a précédemment fait l'objet d'un rejet et la logique d'envoi n'a entraîné aucun envoi.
  • PREVIOUS_SPAM : le destinataire a précédemment été marqué comme spam.
  • INVALID_FROM_ADDRESS : l'adresse d'expéditeur n'est pas valide.
  • MISSING_CONTENT : emailId n'est pas valide ou emailId correspond à un e-mail qui n'a pas été défini pour l'envoi unique.
  • MISSING_TEMPLATE_PROPERTIES : des propriétés définies dans le modèle n'ont pas été incluses dans le champ customProperties envoyé dans la demande.

Cet article vous a-t-il été utile ?
Ce formulaire est destiné à recueillir les avis sur la documentation pour les développeurs. Si vous souhaitez faire part de votre avis sur les produits HubSpot, veuillez le partager sur le forum des idéesde la communauté.