Correo electrónico transaccional

Si tienes el complemento de correo electrónico transaccional, puedes enviar correos electrónicos a través de una dirección IP dedicada para obtener recibos de comercio, actualizaciones de cuentas, cambios de servicio y otras transacciones comerciales esenciales.

Los correos electrónicos transaccionales son interacciones basadas en relaciones, a diferencia de los correos electrónicos de marketing, que generalmente se usan para promocionar contenido.

Métodos para enviar correo electrónico transaccional

Hay tres maneras de implementar correo electrónico transaccional:

Método Vista general Ejemplo de uso
Correo electrónico transaccional en la aplicación Crea correos electrónicos transaccionales usando el editor de correo electrónico de HubSpot.

Esto proporciona los mismos beneficios de los correos electrónicos estándar de HubSpot, como contenido inteligente, personalización y plantillas.

Más información sobre cómo configurar correos electrónicos transaccionales en la aplicación.
Envía un correo electrónico de actualización de política a tus clientes con un enlace a una nueva página de política. Esta es una actualización de servicio, no un correo electrónico de marketing, por lo que no necesitas incluir enlaces de suscripción (por ejemplo, enlaces CAN-SPAM). No necesitas usar ninguna propiedad o información personalizada de sistemas externos.
API SMTP
Envía correos electrónicos transaccionales a través de tu propio sitio o aplicación mientras también haces seguimiento del rendimiento de los correos electrónicos y creas información de contacto dentro de HubSpot. La capacidad opcional para crear información de contacto se basa en la creación del token de smtp.

Más información en la sección API SMTP a continuación 

Enviar un correo electrónico de confirmación de registro de cuenta desde un sistema de correo electrónico transaccional separado, además de hacer seguimiento del rendimiento de los correos electrónicos y crear contactos en HubSpot.
API de envío individual Una combinación de correo electrónico transaccional y API SMTP.

Crea correos electrónicos transaccionales usando el editor de correo electrónico de HubSpot y agrega tokens externos personalizados a tu correo electrónico que puedes enviar a HubSpot a través de la API.

Más información en la API de envío individual abajo 
Envía un correo electrónico de recibo de compra a tu cliente usando HubSpot. El correo electrónico se activa cuando se realiza la compra y pasa valores personalizados de otro sistema (por ejemplo, artículo comprado y total de compra). Además, hace seguimiento del rendimiento de este correo electrónico en HubSpot.

Nota: no se hará seguimiento de los contactos con copia en un correo electrónico transaccional y el correo no aparecerá en la cronología del contacto con copia.

API SMTP

El correo electrónico transaccional enviado usando la API SMTP se activa automáticamente según criterios específicos, como hacer una compra en un sitio web de comercio electrónico. Esta API se integra con cualquier sistema interno o de terceros para activar el correo electrónico e incorporar datos almacenados fuera de HubSpot (por ejemplo, información de envío o precio de compra). El correo se envía desde tu sistema, pero está con códigos de seguimiento de HubSpot que permiten el seguimiento completo de las interacciones y la medición.

Para enviar un correo usando la API SMTP, debes usar un token API SMTP para obtener credenciales de inicio de sesión para el servidor SMTP de HubSpot. Una vez que inicies sesión en el servidor, puedes enviar el correo electrónico a SMTP. Si no has creado tokens API SMTP, primero deberás generar un nuevo token. Si ya has creado tokens API SMTP, descubre los diferentes métodos para obtener tus tokens a través de la API. Después de obtener tu token, descubre cómo iniciar sesión en el servidor SMTP de HubSpot.

Cualquier dominio que utilices como dirección de remitente de tus correos electrónicos debe estar conectado como un dominio de envío de correo electrónico en HubSpot. Encontrarás un error si envías correos electrónicos transaccionales a través de la API SMTP usando un dominio que no está autorizado a enviar en nombre de tu cuenta de HubSpot.

Nota: todos los métodos de la API SMTP requieren un token de OAuth para la autenticación.

Si lo prefieres, todos los métodos a continuación para crear, recuperar, eliminar y restablecer contraseñas para tokens de API SMTP se pueden hacer dentro de tu cuenta de HubSpot, en lugar de la API.

Crear un nuevo token API SMTP

Para crear un nuevo token API SMTP, haz una solicitud POST a /marketing/v3/transactional/smtp-tokens/.

El cuerpo de la solicitud debe ser un objeto con formato JSON con las siguientes propiedades:

  • createContact: indica si se debe crear un contacto para destinatarios de correo electrónico.
  • campaignName: un nombre para la campaña asociada con el token API SMTP.

La respuesta incluye el objeto token de SMTP, que contiene:

  • id: nombre de usuario para iniciar sesión en el servidor SMTP de HubSpot.
  • createdBy: dirección de correo electrónico del usuario que envió la solicitud de creación de token.
  • password: la contraseña para iniciar sesión en el servidor SMTP de HubSpot.
  • emailCampaignId: el identificador asignado a la campaña proporcionada en la solicitud de creación de token.
  • createdAt: la marca de tiempo generada cuando se crea un token.
  • createContact: indica si se debe crear un contacto para los destinatarios de correo electrónico.
  • campaignName: el nombre de la campaña asociada con el token.

Con tu token creado, puedes iniciar sesión en el servidor SMTP de HubSpot usando los valores de id y contraseña.

La contraseña de un token solo se puede recuperar en el momento de la creación. Si pierdes la contraseña o quieres establecer una contraseña nueva, deberás restablecer la contraseña del token

Nota: los tokens de la API SMTP generados a través de la API pública vencen después de 12 meses. Una vez vencidos, se eliminan automáticamente. Los tokens creados directamente en tu cuenta de HubSpot no vencen automáticamente.

Recuperar tokens de SMTP

A continuación, aparecen los métodos disponibles para obtener datos de token usando la API.

Lista de tokens de API SMTP por campaña

Para obtener una lista de tokens por nombre de campaña u obtener un solo token por ID de campaña, realiza una solicitud de GET a /marketing/v3/transactional/smtp-tokens.

También tendrás que incluir un parámetro campaignName o emailCampaignId con la solicitud. Puedes encontrar todos los detalles de la solicitud en la pestaña Puntos finales en la parte superior de este artículo.

Detalles de la respuesta

La respuesta contiene results y paging como sus campos de nivel superior:

  • results: una recopilación de SmtpApiTokenView que contiene:
    • id: nombre de usuario para iniciar sesión en el servidor SMTP de HubSpot.
    • createdBy: dirección de correo electrónico del usuario que envió la solicitud de creación de token.
    • emailCampaignId: el identificador asignado a la campaña proporcionada en la solicitud de creación de token.
    • createdAt: la marca de tiempo generada cuando se crea un token.
    • createContact: indica si se debe crear un contacto para los destinatarios de correo electrónico.
    • campaignName: el nombre de la campaña asociada con el token.
  • paging: contiene un campo next.after que se puede usar para solicitar más resultados.

Consulta un solo token API SMTP

Para consultar un solo token API SMTP por ID, realiza una solicitud de GET a  /marketing/v3/transactional/smtp-tokens/{tokenId}.

Detalles de la respuesta

La respuesta incluye SmtpApiTokenView, que contiene:

  • id: nombre de usuario para iniciar sesión en el servidor SMTP de HubSpot.
  • createdBy: dirección de correo electrónico del usuario que envió la solicitud de creación de token.
  • emailCampaignId: el identificador asignado a la campaña proporcionada en la solicitud de creación de token.
  • createdAt: la marca de tiempo generada cuando se crea un token.
  • createContact: indica si se debe crear un contacto para los destinatarios de correo electrónico.
  • campaignName: el nombre de la campaña asociada con el token.

 

Administrar tokens existentes

Después de crear tokens, puedes restablecer una contraseña o eliminar el token usando la API.

Restablecer contraseña

Para restablecer una contraseña de token, realiza una solicitud POST  /marketing/v3/transactional/smtp-tokens/{tokenId}/password-reset.

La respuesta incluye SmtpApiTokenView, que contiene:

  • id: nombre de usuario para iniciar sesión en el servidor SMTP de HubSpot.
  • createdBy: dirección de correo electrónico del usuario que envió la solicitud de creación de token.
  • emailCampaignId: el identificador asignado a la campaña proporcionada en la solicitud de creación de token.
  • createdAt: la marca de tiempo generada cuando se crea un token.
  • createContact: indica si se debe crear un contacto para los destinatarios de correo electrónico.
  • campaignName: el nombre de la campaña asociada con el token.

Eliminar un token

Para eliminar un token de API SMTP, realiza una solicitud de DELETE  /marketing/v3/transactional/smtp-tokens/{tokenId}. 

La respuesta no incluye ningún contenido.

 

Iniciar sesión en el servidor SMTP de HubSpot

A continuación, aparecen los detalles de la sesión en el servidor SMTP de HubSpot, usando el nombre de usuario (id) y la contraseña proporcionada por tu token.

  • Nombre de host de SMTP:
    • Si no estás en la UE, usa smtp.hubapi.com para el nombre del host.
    • Si estás en la UE, usa smtp-eu1.hubapi.com para el nombre del host.
  • Puerto SMTP:
    • Para STARTTLS, puedes usar el puerto 25 o 587.
    • Para TLS directo, usa el puerto 465.
  • Nombre del usuario SMTP: proporcionada en el campo ID
  • Contraseña SMTP: proporcionada en el campo de contraseña

 

API de envío individual

La API de envío individual envía correos electrónicos de plantillas creados en la herramienta de correo electrónico de HubSpot usando una solicitud POST con formato JSON. Cualquier correo electrónico enviado a través de esta API se asociará automáticamente con registros de contactos según la dirección de correo electrónico. Si no hay contacto con una dirección de correo electrónico coincidente, se creará un nuevo contacto con ese correo. Si quieres enviar correos electrónicos sin crear contactos, usa la API SMTP.

Crear y publicar tu plantilla de correo electrónico

La API de envío individual envía correos electrónicos de plantillas creados en la herramienta de correo electrónico de HubSpot usando una solicitud POST con formato JSON. Cualquier correo electrónico enviado a través de esta API se asociará automáticamente con registros de contactos según la dirección de correo electrónico. Si no hay contacto con una dirección de correo electrónico coincidente, se creará un nuevo contacto con ese correo. Si quieres enviar correos electrónicos sin crear contactos, usa la API SMTP.

Primero, configura tu correo electrónico en HubSpot. Después de crear el correo electrónico, puedes establecer los detalles del destinatario, incluyendo cualquier propiedad de contacto o personalización establecida en la plantilla de correo electrónico, en el cuerpo de la solicitud de API. Para de poder realizar la solicitud de API, necesitarás el ID del correo electrónico:

  • Si dejas el correo electrónico redactado sin publicarlo, puedes obtener el ID de correo electrónico de la URL cuando estés en el editor de correo electrónico. El ID es el valor numérico final antes del carácter de barra oblicua final (/) en la URL (por ejemplo, https://app.hubspot.com/email/ {PORTAL_ID}/edit/{EMAIL_ID}/settings).

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

  • Si publicas tu correo electrónico, puedes copiar el ID de correo electrónico desde la página de detalles del correo.

Screen Shot 2020-04-15 at 1.00.37 PM

Nota: HubSpot no guarda el código HTML/JSON enviado a través de esta API. Puedes revisar la plantilla de correo electrónico desde la cronología del contacto del destinatario, pero si quieres mantener un registro del contenido del correo electrónico, se recomienda agregar un destinatario con copia oculta al correo electrónico.

Envía el correo electrónico utilizando la API de envío único

Para enviar un correo electrónico con la API de envío individual, realiza una solicitud POST a /marketing/v3/transactional/single-email/send.

La respuesta contiene los siguientes campos:

    • requestedAt: la marca de tiempo de cuando se solicitó el envío.
  • status: el estado de la solicitud de envío. Incluye PENDING, PROCESSING, CANCELED y COMPLETE.

Solicitar propiedades

El cuerpo de la solicitud debe ser un objeto con formato JSON con las siguientes propiedades:

  • emailId
  • message
  • contactProperties
  • customProperties

emailId

El campo emailId contiene el ID de contenido del correo transaccional, que se puede encontrar en la herramienta de correo electrónico de HubSpot.

message

El campo de mensaje es un objeto JSON que contiene cualquier cosa que deseas anular. Como mínimo, debes incluir el campo to.

Campo de objeto de mensaje:

  • to: el destinatario del correo electrónico
  • from: el encabezado «De» para el correo electrónico. Puedes definir un nombre de remitente con el siguiente formato: “De”:“Nombre del remitente <sender@hubspot.com>”
  • sendId: el ID de un envío específico. Solo se enviará un correo electrónico sendId con un envío determinado por cuenta, por lo que puedes incluir este campo para evitar envíos de correos duplicados.
  • replyTo: una lista JSON de valores de encabezado de “Responder a” para el correo electrónico.
  • cc: una lista JSON de direcciones de correo electrónico para enviar como CC.
  • bcc: una lista JSON de direcciones de correo electrónico para enviar como CCO.

contactProperties

El campo contactProperties es un mapa JSON de valores de propiedad de contacto. Cada valor de propiedad de contacto contiene un nombre y valor. Cada propiedad se establecerá en el registro de contacto y será visible en la plantilla en:

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

Usa estas propiedades cuando desees establecer una propiedad de contacto mientras estás enviando el correo electrónico. Por ejemplo, cuando envíes un recibo, es recomendable que establezcas una propiedad last_paid_date, ya que el envío del recibo tendrá información sobre el último pago.

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

customProperties

El campo customProperties es un mapa JSON de valores clave de propiedad. Estas propiedades generalmente se relacionan con el correo electrónico en sí; no con el contacto que recibe el correo electrónico. Estos no aparecerán en la versión de página web del correo electrónico ni en la vista del correo electrónico de la cronología del contacto. Estas propiedades tampoco se almacenan en HubSpot y solo se incluirán en el correo electrónico enviado.

Se puede hacer referencia a cada clave en el campo customProperties en la plantilla utilizando una expresión HubL para los campos contenidos dentro de la variable custom (por ejemplo, {{custom.NAME_OF_PROPERTY}}).

Por ejemplo, si tu plantilla de correo electrónico hace referencia a dos propiedades: purchaseUrl y productName; podrías proporcionar los valores asociados para estas propiedades con el siguiente cuerpo de solicitud:

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

Puedes hacer referencia a estas propiedades en tu plantilla de correo electrónico:

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

El campo customProperties solo admite matrices cuando se usa con contenido de correo electrónico programable. En tu plantilla de correo electrónico, puedes hacer referencia a los elementos definidos en tu campo customProperties usando una expresión HubL (por ejemplo, usando un bucle for para representar cada elemento en una lista). Por ejemplo, si las CustomProperties que incluyó en el cuerpo de la solicitud se estructuraron como el siguiente fragmento de código JSON a continuación:

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

Puedes hacer referencia a los valores de cada elemento en exampleArray con el siguiente código HubL:

<!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>

Una vez enviado, el correo electrónico transaccional representaría el contenido de la plantilla de correo electrónico programable asociada de la siguiente manera:

example-transactional-email-with-customProperties-array

Consulta el estado de un envío de correo electrónico

Para obtener el estado del envío de correo electrónico, realiza una solicitud GET a https://api.hubapi.com/marketing/v3/email/send-statuses/{statusId}

La respuesta contiene los siguientes campos:

    • sendResult: una enumeración que representa el estado de envío del correo electrónico. Los valores posibles se enumeran a continuación.
    • requestedAt: la marca de tiempo desde que se solicitó el envío.
  • startedAt: la marca de tiempo cuando el envío comenzó a procesarse.
  • completedAt: la marca de tiempo cuando el envío finalizó.
  • statusId: un identificador que se puede usar para consulta el estado del envío.
  • status: el estado de la solicitud de envío. Incluye PENDING, PROCESSING, CANCELED y COMPLETE.
  • eventId: si se envía, el ID y la marca de tiempo creados del evento enviado.

sendResult

El sendResult es una enumeración que refleja el resultado de un intento de envío de correo electrónico. Sus valores posibles son:

  • SENT: el correo se envió correctamente.
  • QUEUED: el correo se puso en cola y se enviará a medida que se procese la cola.
  • PORTAL_SUSPENDED: debido a violaciones de la Política de uso aceptable, el correo electrónico del cliente de HubSpot ha sido suspendido.
  • INVALID_TO_ADDRESS: la dirección del destinatario no es válida. Este error también se producirá si intentas enviar un correo con cualquiera de los siguientes prefijos basados en roles en la dirección de correo electrónico: abuse, no-reply, noreply, root, spam, security, undisclosed-recipients, unsubscribe, inoc, postmaster o privacy.
  • BLOCKED_DOMAIN: el dominio no puede recibir correos electrónicos de HubSpot en este momento.
  • PREVIOUSLY_BOUNCED: el destinatario rebotó previamente y la lógica de envío no generó ningún envío.
  • PREVIOUS_SPAM: el destinatario marcó previamente un correo similar como spam.
  • INVALID_FROM_ADDRESS: la dirección De no es válida.
  • MISSING_CONTENT: el emailId no es válido o el emailId corresponde a un correo electrónico que no se configuró para envío único.
  • MISSING_TEMPLATE_PROPERTIES: hay propiedades configuradas en la plantilla que no se han incluido en las customProperties enviadas en la solicitud.

¿Te resultó útil este artículo?
Con este formulario puedes enviar tu opinión sobre nuestros documentos para desarrolladores. Si tienes comentarios sobre el producto de HubSpot, puedes enviarlos al Foro de ideas.