Webhooks

La API de Webhooks permite suscribirse a eventos que ocurren en una cuenta de HubSpot con la integración instalada. En lugar de hacer una llamada de API cuando ocurre un evento en una cuenta conectada, HubSpot puede enviar una solicitud HTTP a un punto de terminación que configures. Puedes configurar eventos suscritos en la configuración de tu aplicación o usar los puntos de terminación que se detallan a continuación. Los webhooks pueden ser más escalables que la interrogación frecuente por cambios, especialmente para aplicaciones con una gran base instalada.

El uso de la API de Webhooks requiere de lo siguiente:

  • Debes configurar una aplicación de HubSpot para usar webhooks mediante la suscripción a los eventos sobre los que deseas recibir notificaciones y la especificación de una URL para enviar esas notificaciones. Consulta la documentación de requisitos previos para obtener más detalles sobre cómo crear una aplicación.
  • Debes implementar un punto de terminación de HubSpot disponible públicamente y seguro (HTTPS) para esa URL que pueda manejar las cargas útiles del webhook especificadas en esta documentación.

Los webhooks se configuran para una aplicación de HubSpot, no para cuentas individuales. Cualquier cuenta que instale tu aplicación a través del flujo de OAuth se suscribirá a las suscripciones a webhook de la aplicación.

Puedes suscribirte a eventos de objetos de CRM, que incluyen contactos, empresas, negocios, tickets, productos y elementos de línea, así como eventos de conversación.

Nota:

Alcances

Para usar webhooks para suscribirte a eventos de CRM, tu aplicación deberá estar configurada para requerir el alcance de crm.objects.contacts.read. Tu aplicación deberá estar configurada para requerir el alcance de conversaciones.read para suscribirse a eventos de conversaciones.

Debes configurar estos alcances antes de crear una suscripción a webhook. Consulta la documentación de OAuth para obtener más detalles sobre los alcances y la configuración de la URL de autorización para tu aplicación.

Si tu aplicación ya está usando webhooks, no podrás eliminar el alcance de crm.objects.contacts.read o conversations.read hasta que elimines todas las suscripciones de webhook de tu aplicación.

Configuración de webhook

Antes de configurar tus suscripciones de webhook, debes especificar una URL a la que se enviarán esas notificaciones. Sigue las instrucciones de las secciones a continuación para obtener información sobre cómo configurar completamente las suscripciones para tu aplicación.

Nota:

  • La configuración de Webhook puede ser almacenada en cache hasta por cinco minutos. Cuando se realizan cambios en la URL del webhook, en los límites de concurrencia o en la configuración de suscripción, puede tardar hasta cinco minutos para ver tus cambios entren en vigencia.
  • HubSpot establece un límite de concurrencia de 10 solicitudes al enviar datos de eventos de suscripción asociados con una cuenta que instaló tu aplicación. Este límite de concurrencia es el número máximo de solicitudes en curso que HubSpot intentará a la vez. Cada solicitud puede contener hasta 100 eventos.

Administrar la configuración de tu cuenta de desarrollador

 Puedes administrar tu URL y el límite de supresión a través de la página de configuración de tu aplicación en tu cuenta de desarrollador

  • En tu cuenta de desarrollador, navega al panel de tu aplicación.
  • Haz clic en el nombre de la aplicación para la que deseas configurar los webhooks. 
    app_id_list
  • En el menú de la barra lateral izquierda, ve a Webhooks.
  • En el campo URL de destino, escribe la URL a la que HubSpot realizará una solicitud POST cuando se desencadenen eventos.
  • Utiliza la configuración de Supresión de eventos para ajustar el número máximo de eventos que HubSpot intentará enviar. 

webhook_settings

  • Haz clic en Guardar

Administrar la configuración a través de API

Puedes usar los siguientes puntos de terminación y tu clave de API de desarrollador para configurar de forma programática la configuración de webhook para una aplicación.

Para ver cualquier configuración de webhook configurada actualmente para una aplicación, realiza una solicitud GET a webhooks/v3/{appId}/settings.

Deberás incluir el ID de la aplicación en la solicitud, que puedes encontrar debajo del nombre de la aplicación en tu panel de control de Aplicaciones o en la pestaña Autenticación en la configuración de tu aplicación.

El objeto de configuración contiene los siguientes campos:

Use this table to describe parameters / fields
CampoDescription
webhookUrl

La URL a la que HubSpot enviará notificaciones de webhook. Esta URL se debe notificar por HTTPS. 

maxConcurrentRequests

El límite de concurrencia para la URL del webhook. Este valor debe ser un número mayor que cinco. 

Para hacer ediciones a esta configuración, haz una solicitud PUT a webhooks/v3/{appId}/settings e incluye los siguientes campos en el cuerpo de la solicitud:

Use this table to describe parameters / fields
CampoDescription
targetUrl

La URL disponible públicamente para que HubSpot llame donde se entregarán las cargas útiles de eventos.

throttling

Configurar los detalles de la supresión de webhooks en este objeto. El objeto de supresión incluye los campos period y maxConcurrentRequests

period

Escala de tiempo para esta configuración. Puede ser SECONDLY (por segundo) o ROLLING_MINUTE (por minuto).

maxConcurrentRequests

El número máximo de solicitudes HTTP que HubSpot intentará hacer a tu aplicación en un plazo determinado por period.

Por ejemplo, el cuerpo de tu solicitud puede tener un aspecto similar al siguiente:

// PUT request to https://api.hubapi.com/webhooks/v3/{appId}/settings { "throttling": { "period": "SECONDLY", "maxConcurrentRequests": 10 }, "targetUrl": "https://www.example.com/hubspot/target" }

Suscripciones a webhooks

Una vez que hayas establecido las configuraciones de tu URL de webhook y del límite de supresión de eventos, deberás crear una o más suscripciones. Las suscripciones a webhooks le indican a HubSpot los eventos que te gustaría recibir a una aplicación en particular.

Las suscripciones se aplican a todos los clientes que han instalado tu integración. Esto significa que solo debes especificar las suscripciones que necesitas una vez. Una vez que hayas activado una suscripción para una aplicación, comenzarás automáticamente a recibir webhooks para todos los clientes que hayan instalado tu aplicación y tu integración comenzará a recibir activadores de webhook desde cualquier cliente nuevo. 

Los siguientes tipos de suscripción son compatibles y se pueden usar como valor para el campo eventType al crear suscripciones a través de API: 

 
Tipo de suscripción Alcance requerido Descripción
contact.creation crm.objects.contacts.read 

Recibir una notificación si se crea algún contacto en la cuenta de un cliente.
contact.deletion Recibe una notificación si se elimina algún contacto en la cuenta de un cliente.
contact.merge Recibe una notificación si se combinó un contacto con otro.
contact.associationChange Recibe una notificación si un contacto tiene una asociación agregada o eliminada entre él y otro objeto de webhook compatible (contacto, empresa, negocio, ticket, elemento de línea o producto).
contact.restore Recibe una notificación si se restaura un contacto después de la eliminación.
contact.privacyDeletion Recibe una notificación si se elimina un contacto por motivos de cumplimiento de la privacidad.
contact.propertyChange Recibe una notificación si se cambia una propiedad específica para cualquier contacto en una cuenta.
company.creation crm.objects.companies.read Recibe una notificación si se crea alguna empresa en la cuenta de un cliente. 
company.deletion Recibe una notificación si se elimina alguna empresa en la cuenta de un cliente.
company.propertyChange Recibe una notificación si se cambia una propiedad específica para cualquier empresa en la cuenta de un cliente. 
company.associationChange   Recibe una notificación si una empresa tiene una asociación agregada o eliminada entre ella y otro objeto de webhook compatible (contacto, empresa, negocio, ticket, elemento de línea o producto).
company.restore   Recibe una notificación si una empresa se restaura después de la eliminación.
company.merge   Recibir una notificación si una empresa se fusionó con otra.
deal.creation crm.objects.deals.read Recibe una notificación si se crea un negocio en la cuenta de un cliente.
deal.deletion Recibe una notificación si se elimina algún negocio en la cuenta de un cliente. 
deal.associationChange Recibir una notificación si un negocio tiene una asociación agregada o eliminada entre él y otro objeto de webhook compatible (contacto, empresa, negocio, ticket, elemento de línea o producto).
deal.restore Recibe una notificación si se restaura un negocio después de la eliminación.
deal.merge Recibe una notificación si un negocio se fusiona con otro.
deal.propertyChange Recibe una notificación si se cambia una propiedad específica para cualquier negocio en la cuenta de un cliente. 
ticket.creation tickets Recibe una notificación si se crea un ticket en la cuenta de un cliente.
ticket.deletion Recibe una notificación si se elimina algún ticket en la cuenta de un cliente.
ticket.propertyChange Recibir una notificación si se cambia una propiedad específica para cualquier ticket en la cuenta de un cliente. 
ticket.associationChange   Recibe una notificación si un ticket tiene una asociación agregada o eliminada entre él y otro objeto de webhook compatible (contacto, empresa, negocio, ticket, elemento de línea o producto).
ticket.restore   Recibe una notificación si se restaura un ticket después de su eliminación.
ticket.merge   Recibe una notificación si un ticket se combinó con otro.
product.creation e-commerce Recibe una notificación si se crea algún producto en la cuenta de un cliente.
product.deletion Recibe una notificación si se elimina algún producto en la cuenta de un cliente. 
product.restore Recibe una notificación si un producto se restaura después de su eliminación.
product.merge Recibe una notificación si un producto se combinó con otro.
product.propertyChange Recibe una notificación si se cambia un producto específico para cualquier producto en la cuenta de un cliente. 
line_item.creation Recibe una notificación si se crea algún elemento de línea en la cuenta de un cliente.
line_item.deletion

 

Recibe una notificación si se elimina algún elemento de línea en la cuenta de un cliente.

line_item.associationChange Recibe una notificación si un elemento de línea tiene una asociación agregada o eliminada entre él y otro objeto de webhook compatible (contacto, empresa, negocio, ticket, elemento de línea o producto).
line_item.restore Recibe una notificación si un elemento de línea se restaura después de la eliminación.
line_item.merge Recibe una notificación si un elemento de línea se combinó con otro.
line_item.propertyChange Recibe una notificación si se cambia una propiedad específica para cualquier elemento de línea en la cuenta de un cliente.

 

Los siguientes tipos de suscripción de conversaciones están disponibles para que te suscribas si estás usando la bandeja de entrada de conversaciones y la API de mensajes, que actualmente está en versión beta

 
Tipo de suscripción Alcance Descripción
conversation.creation conversations.read Recibe notificaciones si se crea un nuevo hilo en una cuenta. 
conversation.deletion Recibe una notificación si un hilo se archiva o se elimina temporalmente en una cuenta.
conversation.privacyDeletion Recibe una notificación si un hilo se elimina permanentemente en una cuenta.
conversation.propertyChange Recibe una notificación si se ha cambiado una propiedad en un hilo.
conversation.newMessage Recibe una notificación si se ha recibido un nuevo mensaje en un hilo.

Para las suscripciones de cambio de propiedad, deberás especificar la propiedad de la que deseas recibir notificaciones. Puedes especificar varias suscripciones de cambios de propiedad. Si la cuenta de un cliente no tiene la propiedad que especificas en una suscripción, no recibirás ningún webhooks de ese cliente para esa propiedad.

Algunas propiedades no están disponibles para suscripciones de cambio de propiedad de CRM. Estas propiedades son:

  • num_unique_conversion_events
  • hs_lastmodifieddate

Si estás usando los mensajes de conversación y la API de la bandeja de entrada, que se encuentra actualmente en versión beta, las siguientes propiedades están disponibles:

  • assignedTo: el hilo de conversación se ha reasignado o no asignado. Si se reasignó el hilo, el valor propertyValue será un ID de actor en la carga útil de webhooks; si no se asigna, estará vacío.
  • status: el estado del hilo de conversación ha cambiado. En la carga útil de webhooks, el valor propertyValue estará OPEN o CLOSED.
  • isArchived: se ha restaurado el hilo de conversación. El valor propertyValue en la carga útil de webhooks siempre será FALSE

Crear suscripciones en tu cuenta de desarrollador

Puedes crear suscripciones de webhook en tu cuenta de desarrollador de HubSpot. 

  • En tu cuenta de desarrollador de HubSpot, navega al panel de Aplicaciones
  • Haz clic en el nombre de una aplicación. 
  • En el menú de la barra lateral izquierda, ve a Webhooks
  • Haz clic en Crear suscripción
  • En el panel derecho, haz clic en el menú desplegable ¿Qué tipos de objetos? y selecciona los objetos para los que deseas crear una suscripción. 
  • Haz clic en el menú desplegable ¿Escuchar cuáles eventos? y selecciona los tipos de eventos

create-contact-create-subscription

  • Si estás creando una suscripción para eventos de cambio de propiedad, haz clic en el menú desplegable ¿Qué propiedades? y selecciona las propiedades que quieres escuchar. 
  • Haz clic en Suscribirse

La suscripción aparecerá en la configuración de tus webhooks. Las nuevas suscripciones se crean en un estado en pausa, por lo que deberás activar la suscripción para que se envíen webhooks:

  • En la sección Suscripciones de eventos, coloca el cursor sobre el tipo de objeto y haz clic en Ver suscripciones
  • Selecciona la casilla de comprobación junto al evento y, a continuación, en el encabezado de la tabla, haz clic en Activar

activate-subscription

Crear suscripciones a través de la API

Puedes crear suscripciones mediante programación usando los siguientes puntos de terminación. Deberás usar tu clave de API de desarrollador al realizar solicitudes a estos puntos de terminación. 

Un objeto de suscripción puede incluir los siguientes campos:

Use this table to describe parameters / fields
CampoDescription
id

Un número que representa el ID único de una suscripción. 

createdAt

El tiempo en milisegundos en que se creó esta suscripción. 

createdBy

El ID de usuario asociado con el usuario que creó la suscripción. 

active

Esto indica si la suscripción está activada o no y si activa notificaciones de forma activa. El valor puede ser true o false

eventType

El tipo de suscripción. La tabla al comienzo de esta sección incluye los tipos de suscripción disponibles. 

propertyName

El nombre de la propiedad en la que la suscripción escuchará los cambios. Esto solo es necesario para los tipos de suscripción de cambio de propiedad. 

Obtener suscripciones

Para recuperar la lista de suscripciones, realiza una solicitud GETwebhooks/v3/{appId}/subscriptions.

La respuesta será una matriz de objetos que representan tus suscripciones. Cada objeto incluirá información sobre la suscripción, como el ID, la fecha de creación, el tipo y si está habilitado actualmente. Así es como se vería un ejemplo de respuesta:

// Example GET request to https://api.hubapi.com/webhooks/v3/{appId}/subscriptions [ { "id": 25, "createdAt": 1461704185000, "createdBy": 529872, "eventType":"contact.propertyChange", "propertyName": "lifecyclestage", "active": false }, { "id": 59, "createdAt": 1462388498000, "createdBy": 529872, "eventType":"company.creation", "active": false }, { "id": 108, "createdAt": 1463423132000, "createdBy": 529872, "eventType": "deal.creation", "active": true } ]

Crear una nueva suscripción

Para crear una nueva suscripción, haz una solicitud POST a webhooks/v3/{appId}/subscriptions.

En el cuerpo de la solicitud, puedes incluir los siguientes campos:

Use this table to describe parameters / fields
CampoDescription
eventType

El tipo de suscripción. 

propertyName

El nombre de la propiedad en la que la suscripción escuchará los cambios. Esto solo es necesario para los tipos de suscripción de cambio de propiedad. 

active

Esto indica si la suscripción está activada o no y si activa notificaciones de forma activa. El valor puede ser true o false

No necesitas incluir id, createdAt o createdBy, ya que esos campos se establecen automáticamente.

Por ejemplo, el cuerpo de tu solicitud puede tener un aspecto similar al siguiente: 

// Example POST request to https://api.hubapi.com/webhooks/v3/{appId}/subscriptions { "eventType":"company.propertyChange", "propertyName": "companyname", "active": false }

El eventType debe ser un tipo de suscripción válido según se define en la sección anterior y el propertyName debe ser un nombre de propiedad válido. Si un cliente no tiene una propiedad definida que coincida con este valor, esta suscripción no generará notificaciones.

Actualizar una suscripción

Para activar o pausar una suscripción, haz una solicitud PUT a webhooks/v3/{appId}/subscriptions/{subscriptionId}.

En el cuerpo de la solicitud, incluye lo siguiente:

Use this table to describe parameters / fields
CampoDescription
active

Esto indica si la suscripción está activada o no y si activa notificaciones de forma activa. El valor puede ser true o false

Eliminar una suscripción

Para eliminar una suscripción, haz una solicitud DELETE a webhooks/v3/{appId}/subscriptions/{subscriptionId}.

Cargas útiles de webhook

El punto de terminación de la URL de destino que especifiques en la configuración de webhooks de tu aplicación recibirá solicitudes POST que contienen datos con formato JSON de HubSpot.

Para asegurarte de que las solicitudes que recibes en tu punto de terminación de webhook provengan de HubSpot, HubSpot rellena un encabezado de X-HubSpot-Signature con un hash SHA-256 creado con el secreto del cliente de tu aplicación combinado con los detalles de la solicitud. Más información sobre cómo validar firmas de solicitudes.

Utiliza las tablas a continuación para ver detalles sobre los campos que pueden estar contenidos en la carga útil.

General
CampoDescription
objectId

El ID del objeto que fue creado, cambiado o eliminado. Para contactos, este es el ID de contacto; para empresas, el ID de empresa; para negocios, el ID de negocio; y para conversaciones el ID de hilo

propertyName

Esto solo se envía para las suscripciones de cambio de propiedad y es el nombre de la propiedad que se cambió. 

propertyValue

Esto solo se envía para suscripciones de cambio de propiedad y representa el nuevo valor establecido para la propiedad que desencadenó la notificación. 

changeSource

La fuente del cambio. Puede ser cualquiera de las fuentes de cambios que aparecen en los historiales de las propiedades de contactos. 

eventId

El ID único del evento que desencadenó esta notificación. No se garantiza que este valor sea único. 

subscriptionId

El ID de la suscripción que desencadenó una notificación sobre el evento.

portalId

El ID de cuenta de HubSpot del cliente donde ocurrió el evento. 

appId

El ID de tu aplicación. Esto se usa en caso de que tengas varias aplicaciones que apunten a la misma URL de webhook.

occurredAt

Cuándo ocurrió este evento como una marca de tiempo de milisegundos.

eventType

El tipo de evento para el que es esta notificación. Revisa la lista de tipos de suscripción admitidos en la sección de suscripción de webhooks anterior.

attemptNumber

A partir de 0, el número de intentos es para notificar a su servicio de este evento. Si se vence el tiempo de espera de tu servicio o emite un mensaje de error, tal como se describe en la sección Reintentos a continuación, HubSpot intentará enviar la notificación de nuevo. 

messageId

Esto solo se envía cuando un webhook está escuchando nuevos mensajes en un hilo. Es el ID del nuevo mensaje. 

messageType

Esto solo se envía cuando un webhook está escuchando nuevos mensajes en un hilo. Representa el tipo de mensaje que estás enviando. Este valor puede ser MESSAGE o COMMENT

 

Merge events
CampoDescription
primaryObjectId

El ID del ganador de la combinación, que es el registro que permanece después de la combinación. En la interfaz de usuario de fusión de HubSpot, este es el registro de la derecha.

mergedObjectIds

Una matriz de identificadores que representan los registros que se fusionan en el ganador de la fusión. En la interfaz de usuario de fusión de HubSpot, este es el registro a la izquierda.

newObjectId

El ID del registro que se crea como resultado de la combinación. Esto es independiente de primaryObjectId porque en algunos casos se crea un nuevo registro como resultado de la combinación.

numberOfPropertiesMoved

Un entero que representa cuántas propiedades se transfirieron durante la combinación.

 

Association change events
CampoDescription
associationType

El tipo de asociación, que será una de las siguientes:

  • CONTACT_TO_COMPANY
  • CONTACT_TO_DEAL
  • CONTACT_TO_TICKET
  • CONTACT_TO_CONTACT

  • COMPANY_TO_CONTACT
  • COMPANY_TO_DEAL
  • COMPANY_TO_TICKET
  • COMPANY_TO_COMPANY

  • DEAL_TO_CONTACT
  • DEAL_TO_COMPANY
  • DEAL_TO_LINE_ITEM
  • DEAL_TO_TICKET
  • DEAL_TO_DEAL

  • TICKET_TO_CONTACT
  • TICKET_TO_COMPANY
  • TICKET_TO_DEAL
  • TICKET_TO_TICKET

  • LINE_ITEM_TO_DEAL
fromObjectId

El ID del registro desde el que se realizó el cambio de asociación.

toObjectId

El ID del registro secundario en el evento de asociación.

associationRemoved

Un booleano que representa lo siguiente:

  • true: el webhook se desencadenó al eliminar una asociación.
  • false: el webhook se desencadenó al crear una asociación.
isPrimaryAssociation

Un booleano que representa lo siguiente:

  • true: el registro secundario es la asociación primaria del registro del que se realizó el cambio de asociación.
  • false: el registro no es la asociación primaria del registro del que se hizo el cambio de asociación. 

Nota: la creación de una instancia de asociación primaria entre dos registros de objetos hará que también se cree la asociación no primaria correspondiente. Esto puede generar dos mensajes de webhook.

// [ { "objectId": 1246965, "propertyName": "lifecyclestage", "propertyValue": "subscriber", "changeSource": "ACADEMY", "eventId": 3816279340, "subscriptionId": 25, "portalId": 33, "appId": 1160452, "occurredAt": 1462216307945, "eventType":"contact.propertyChange", "attemptNumber": 0 }, { "objectId": 1246978, "changeSource": "IMPORT", "eventId": 3816279480, "subscriptionId": 22, "portalId": 33, "appId": 1160452, "occurredAt": 1462216307945, "eventType": "contact.creation", "attemptNumber": 0 } ]

Como se muestra anteriormente, debes esperar recibir una matriz de objetos en una sola solicitud. El tamaño del lote puede variar, pero tendrá menos de 100 notificaciones. HubSpot enviará varias notificaciones solamente cuando hayan ocurrido muchos eventos dentro de un período corto de tiempo. Por ejemplo, si te has suscrito a nuevos contactos y un cliente importa una gran cantidad de contactos, HubSpot te enviará las notificaciones de estos contactos importados en lotes y no una por solicitud.

HubSpot no garantiza que recibas estas notificaciones en el orden en que ocurrieron. Usa la propiedad occurredAt para cada notificación para determinar cuándo ocurrió el evento que desencadenó la notificación.

Además, HubSpot no garantiza que solo recibas una notificación para un evento. Aunque esto debería ser poco común, es posible que HubSpot te envíe la misma notificación varias veces.

Eliminaciones de contactos conforme con la privacidad

Los usuarios de HubSpot pueden eliminar permanentemente un registro de contacto para cumplir con las leyes de privacidad. Más información sobre cómo realizar una eliminación conforme al RGPD.

Puedes suscribirte al tipo de suscripción contact.privacyDeletion para recibir notificaciones de webhook cuando un usuario realice una eliminación de contactos conforme con la privacidad.

Las notificaciones de eliminación conforme con la privacidad tienen un comportamiento especial

  • Un evento de eliminación conforme con la privacidad también desencadenará el evento de eliminación de contacto, por lo que recibirás dos notificaciones si estás suscrito a ambos eventos.
  • Estas notificaciones no se enviarán necesariamente en ningún orden en particular o en el mismo lote de mensajes. Deberás usar el objectId para que coincida con los mensajes separados.

Seguridad

Para asegurarte de que las solicitudes que recibes en tu punto de terminación de webhook provienen de HubSpot, HubSpot llena un encabezado de X-HubSpot-Signature con un hash SHA-256 de la concatenación del secreto de aplicación para tu aplicación y el cuerpo de la solicitud que estamos enviando.

Para verificar esta firma, concatena el secreto de la aplicación de tu aplicación y el cuerpo de solicitud no interpretado de la solicitud que estás manejando y obtén un hash SHA-256 del resultado. Compara el hash resultante con el valor de X-HubSpot-Signature. Si estos valores coinciden, se confirma que esta solicitud es proveniente de HubSpot. O bien, la solicitud provino de otra persona que conoce el secreto de tu aplicación. Es importante mantener este valor en secreto.

Si estos valores no coinciden, es posible que esta solicitud haya sido manipulada en tránsito o que alguien esté falsificando notificaciones de webhook a tu punto de terminación.

Más información sobre la validación de solicitudes de firmas

Reintentos

Si tu servicio tiene problemas para manejar las notificaciones en cualquier momento, HubSpot intentará volver a enviar notificaciones fallidas hasta 10 Veces.

HubSpot lo intentará nuevamente en los casos siguientes:

  • Falló la conexión: HubSpot no puede abrir una conexión http a la URL de webhook proporcionada 
  • Tiempo de espera: tu servicio demora más de 5 segundos en enviar una respuesta a un lote de notificaciones 
  • Códigos de error:tu servicio responde con cualquier código de estado HTTP (4xx o 5xx).

Las notificaciones se volverán a intentar hasta 10 Veces. Estos reintentos se distribuirán durante las próximas 24 horas, con distintos retrasos entre las solicitudes. Las notificaciones individuales serán enviadas de manera aleatoria, para evitar que un gran número de errores concurrentes se vuelva a intentar en el mismo momento.

Límites

Las solicitudes de POST que HubSpot envía a tu servicio a través de tus suscripciones de webhook no contarán para los límites de tasa de API de tu aplicación.

Puedes crear un máximo de 1000 suscripciones por aplicación. Si intentas crear más, recibirá una solicitud incorrecta 400 con el siguiente cuerpo:

// { "status": "error", "message": "Couldn't create another subscription. You've reached the maximum number allowed per application (1000).", "correlationId": "2c9beb86-387b-4ff6-96f7-dbb486c00a95", "requestId": "919c4c84f66769e53b2c5713d192fca7" }

¿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.