Última modificação: 28 de agosto de 2025
Run in Postman
Neste artigo
- Requisitos do escopo
- Diferenças entre pontos de extremidade de ID interno e externo
- Pontos de extremidade de gerenciamento de eventos
- Pontos de extremidade de participação em eventos
- Pontos de extremidade de estado do participante
- Listar pontos de extremidade de associação
- Definir configurações de aplicativo
Requisitos do escopo
Para fazer uma solicitação de API para um dos pontos de extremidade de evento de marketing, são necessários os seguintes escopos:crm.objects.marketing_events.read
: concede permissão para recuperar dados de eventos de marketing e de presença.crm.objects.marketing_events.write
: concede permissão para criar, excluir ou fazer alterações nas informações do evento de marketing.
Diferenças entre pontos de extremidade de ID interno e externo
Muitos endpoints abaixo fornecem duas maneiras diferentes de identificar um evento que você deseja buscar ou atualizar. Embora o resultado final para endpoints semelhantes possa ser o mesmo, eles diferem principalmente nos IDs associados que você fornece:- Pontos de extremidade usando IDs externos: pontos finais que requerem
externalEventId
eexternalAccountId
Os parâmetros só funcionarão no mesmo aplicativo que criou originalmente o evento. Por exemplo, se você criou dois aplicativos públicos, chamados Apl. A e Apl. B, e você criou um evento de marketing por meio da autenticação e das IDs associadas ao Apl. A, apenas Apl. A O pode ler, atualizar ou adicionar novos participantes ao evento. Se você tentar acessar o mesmo evento com Apl. B usando o mesmo externalEventId e externalAccountId, ocorrerá um erro 404. - Endpoints usando um objectId: endpoints que requerem um
objectId
podem ser usados para acessar um evento por qualquer aplicativo com os escopos associados listados na seção acima, independentemente do aplicativo que criou originalmente o evento. Se Apl. A criou um evento de marketing, Apl. B ainda é possível ler, atualizar ou adicionar participantes por meio deobjectId
pontos de extremidade baseados em .
Pontos de extremidade de gerenciamento de eventos
As seções a seguir fornecem contexto sobre propriedades comuns de eventos e detalham como usar os vários pontos de extremidade de gerenciamento de eventos para criar, ler, atualizar e arquivar eventos.Propriedades do evento
As seguintes propriedades estão disponíveis para busca e atualização ao usar os endpoints de gerenciamento de eventos:Parâmetro | Tipo | Descrição |
---|---|---|
eventName | String | O título do seu evento. |
eventType | String | O tipo do evento (por exemplo, webinar, feira comercial, etc.). |
eventOrganizer | String | O indivíduo ou organização que está organizando o evento. |
eventDescription | String | Uma descrição para seu evento. |
eventUrl | String | Uma URL para que os usuários possam navegar e obter mais detalhes e/ou se registrar para seu evento. |
eventCancelled | Booleano | Se o evento foi cancelado ou não. |
eventStartTime | String | Um registro de data e hora no formato ISO 8601 do horário de início do evento. |
eventEndTime | Sequência de caracteres | Um timestamp formatado ISO 8601 da hora de término do evento. |
Criar um evento
Para criar um evento de marketing, você pode fazer um pedidoPOST
para /marketing/v3/marketing-events/events
e fornecer o eventName
, externalEventId
, externalAccountId
, e eventOrganizer
no corpo da sua solicitação. Você pode opcionalmente fornecer quaisquer propriedades adicionais listadas na tabela acima no seu pedido.
Por exemplo, se o externalAccountId
do seu aplicativo é "12345"
, e o externalEventId
do seu evento no seu aplicativo é "67890"
, você pode criar um novo evento chamado "Winter webinar"
com uma solicitação que seria semelhante à seguinte:
Atualizar propriedades de eventos usando IDs externos
Você pode atualizar eventos de marketing fazendo um pedidoPOST
para endpoint /marketing/v3/marketing-events/events/upsert
. Você pode incluir qualquer customProperties
juntamente com quaisquer outros detalhes do seu evento (incluindo nome, hora de início e descrição).
Se já existir um evento de marketing com o ID especificado na solicitação, este será atualizado. Caso contrário, um novo evento será criado.
Por exemplo, a seguinte solicitação criaria um evento com um ID 4
chamado “Virtual cooking class”:
Atualizar propriedades do evento usando seu objectId
Depois que um evento é criado, você pode atualizar suas propriedades fazendo um pedidoPATCH
para /marketing/v3/marketing-events/{objectId}
.
- Para obter o
objectId
para um evento de marketing específico, siga as instruções deste artigo da base de conhecimento para visualizar os detalhes de um evento em sua conta HubSpot, localize o ID em ID do registro. OobjectId
também será retornado na resposta quando você criar um evento com sucesso. - Você também pode fazer uma
GET
solicitação para o/marketing/v3/marketing-events
ponto final descrito na próxima seção. - Se você tem o
externalEventId
de um evento, você pode incluí-lo como um caminho ao fazer um pedidoGET
para/marketing/v3/marketing-events/{externalEventId}/identifiers
. A resposta incluirá todos os eventos de marketing juntamente com os identificadores relevantes para cada evento (ou seja, o eventoobjectId
, isso éappInfo
, omarketingEventName
, e oexternalAccountId
).
Obter detalhes do evento
Para obter uma lista de todos os eventos de marketing junto com suas propriedades, faça um pedidoGET
para /marketing/v3/marketing-events
.
Se você precisar recuperar os detalhes de um evento de marketing específico pelo ID do registro no HubSpot, você pode fornecer a ID como a objectId num GET
solicitar /marketing/v3/marketing-events/{objectId}
.
Excluir um evento
Para excluir um evento de marketing, faça um pedidoDELETE
para /marketing/v3/marketing-events/{objectId}
com o evento associado objectId
.
Se for bem-sucedido, você receberá uma resposta 204 No Content
.
Atualizar vários eventos em massa
Para atualizar vários eventos de marketing em massa, você pode fazer um pedidoPOST
para /marketing-events/v3/marketing-events/batch/update
. Forneça as propriedades que você deseja atualizar para cada evento dentro da matriz de entradas do corpo da solicitação.
Por exemplo, se você quisesse atualizar várias propriedades de dois eventos de marketing com IDs de objeto de 58237132332 e 54073507364 em uma única solicitação, o corpo da sua solicitação seria semelhante ao seguinte:
Pontos de extremidade de participação em eventos
Os pontos de extremidade de estado de presença no evento permitem que você registre atividades de registro para um contato, como se ele se registrou, compareceu ou cancelou o registro para o seu evento. Por exemplo, você pode usar esse ponto de extremidade para registrar que um contato HubSpot se inscreveu em um evento de marketing.Atualizar presença usando o evento objectId
Se você quiser usar oobjectId
de um evento de marketing, você pode usar o ID de contato do contato cujo estado de participação você deseja registrar ou pode usar o endereço de e-mail dele.
- Para usar o ID de um contato, faça uma solicitação POST para
/marketing/v3/marketing-events/{objectId}/attendance/{subscribeState}/create
então forneça o ID do contato usando ovid
campo dentro doinputs
matriz do corpo da sua solicitação. Por exemplo, o corpo da solicitação abaixo fornece um exemplo de atualização dos dados de atendimento para um contato com uma ID de47733471576
e especificando quando o participante entrou e saiu do evento por meio dojoinedAt
eleftAt
Propriedades:
- Para usar o e-mail de um contato, faça uma solicitação POST para
/marketing/v3/marketing-events/{objectId}/attendance/{subscribeState}/email-create
então forneça o e-mail do contato usando o campoemail
dentro da matrizinputs
do corpo da sua solicitação.- Se você estiver criando um novo contato, poderá incluir o campo
contactProperties
dentro da matrizinputs
do corpo da sua solicitação para definir quaisquer propriedades associadas no contato recém-criado. Caso contrário, se o contato já existir, ocontactProperties
fornecido na solicitação não será atualizado. - Por exemplo, o corpo da solicitação abaixo fornece um exemplo de atualização dos dados de atendimento para um contato com um endereço de e-mail de
john@example.com
e especificando quando o participante entrou e saiu do evento por meio dos camposjoinedAt
eleftAt
dentro do objetoproperties
da sua matrizinputs
:
- Se você estiver criando um novo contato, poderá incluir o campo
objectId
: o ID do registro do evento de marketing na sua conta HubSpot. Confira a seção acima para obter mais detalhes sobre o uso de objectId de um evento versus usar seus IDs externos.subscriberState
: uma enumeração que corresponde ao novo status de participação do contato:REGISTERED
: indica que o contato da HubSpot se inscreveu para o evento.ATTENDED
: indica que o contato da HubSpot participou do evento. Se estiver atualizando o status de um contato para COMPARECEU, você também pode incluir as datas/horasjoinedAt
eleftAt
como parâmetros no corpo da solicitação, especificados no formato ISO8601 Instant.CANCELLED
: indica que o contato da HubSpot, que já havia se inscrito para o evento, cancelou sua inscrição.
Atualizar a presença usando os IDs externos do evento
Observação:
Se você estava usando anteriormente os endpoints/upsert
ou /email-upsert
para atualizar o status de um participante, você pode usar os endpoints alternativos listados abaixo. No entanto, em comparação com os endpoints de participação em eventos acima, o uso desses pontos finais não fornecerá suporte para o seguinte:- Criando um novo contato caso ele ainda não exista.
- Exibindo eventos da linha do tempo na página de registro de contato.
- Especificando as propriedades
joinedAt
ouleftAt
. - Fornecendo uma resposta detalhada em caso de sucesso.
externalEventId
no seu aplicativo, você pode usar os IDs de contato ou endereços de e-mail de contatos existentes:
- Se você quiser usar os IDs de contato de contatos existentes:
- Faça uma solicitação
POST
para/marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/create
, usando o ID do evento de seu aplicativo externo comoexternalEventId
. - No corpo da solicitação, forneça um objeto
inputs
que inclua os seguintes campos:interactionDateTime
: a data e hora em que o contato se inscreveu no evento.vid
: o ID de contato de um contato existente.
- Faça uma solicitação
- Caso queira usar o endereço de e-mail de um dos participantes do evento:
- Faça uma solicitação
POST
para/marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/email-create
. - No corpo da solicitação, forneça um objeto
inputs
que inclua os seguintes campos:interactionDateTime
: a data e hora em que o contato se inscreveu no evento.email
: o endereço de e-mail do participante como o valor do campo de e-mail em uma entrada
- Se o endereço de e-mail que você incluir não corresponder ao endereço de um contato existente, um novo contato será criado.
- Faça uma solicitação
externalEventId
: o ID do evento de marketing. Confira a seção acima para obter mais detalhes sobre o uso de objectId de um evento versus usar seus IDs externos.subscriberState
: uma enumeração que corresponde ao novo status de participação do contato:REGISTERED
: indica que o contato da HubSpot se inscreveu para o evento.ATTENDED
: indica que o contato da HubSpot participou do evento. Se estiver atualizando o status de um contato para COMPARECEU, você também pode incluir as datas/horasjoinedAt
eleftAt
como parâmetros no corpo da solicitação, especificados no formato ISO8601 Instant.CANCELLED
: indica que o contato da HubSpot, que já havia se inscrito para o evento, cancelou sua inscrição.
Observação:
Essas APIs são idempotentes, desde que o ID do contato e o valor deinteractionDateTime
no evento não tenham mudado. Isso permite que você defina com segurança o estado do presença várias vezes sem que o HubSpot crie eventos duplicados nas propriedades de eventos de marketing.Pontos de extremidade de estado do participante
Você pode usar os pontos de extremidade de participação para recuperar dados de participantes para seus eventos de marketing. Você pode consultar dados, como métricas agregadas para um evento específico, bem como dados de participantes para um contato ou evento específico. Analise os pontos de extremidade de participação disponíveis abaixo. Para uma referência completa de todos os parâmetros disponíveis para cada ponto final, consulte a documentação de referência.Observação:
As contagens de atividade na página de eventos de marketing em sua conta da HubSpot podem diferir das métricas agregadas correspondentes do ponto de extremidade de API dos contadores de participação.Por exemplo, se um participante se inscreveu para um evento, cancelou e se inscreveu novamente para o mesmo evento, cada uma dessas atividades será incluída nos totais que você vê na UI de eventos de marketing em sua conta. Se você estiver usando os pontos de extremidade de estado do participante abaixo, somente o estado atual de um participante será incluído no contador associado para essa métrica (por exemplo,attended
, registered
, cancelled
ou noShows
).Ler participações de um contato específico
Para obter dados de participação em eventos para um contato específico, faça uma solicitaçãoGET
para /marketing/v3/marketing-events/participations/contacts/{contactIdentifier}/breakdown
, usando o ID ou o endereço de e-mail do contato como parâmetro de caminho contactIdentifier
.
A resposta incluirá um resumo da participação no evento do contato no campo properties
:
Ler dados de detalhamento de participação
Para obter um detalhamento dos dados de participação para um evento específico, useexternalAccountId
e externalEventId
do seu evento para fazer uma solicitação GET
para /marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId}/breakdown
.
Ler contadores de participação
Para obter um resumo agregado da participação em um evento, useexternalAccountId
e externalEventId
do seu evento para fazer uma solicitação GET
para /marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId}
.
A resposta incluirá as contagens totais de participação:
Filtrar dados de detalhamento de participação
Ao buscar dados detalhados ou dados de participação em eventos para um contato específico, você pode filtrar os dados resultantes usando os campos contactIdentifier, estado, limite ou após como parâmetros de consulta em sua solicitação.Parâmetro de consulta | Tipo | Descrição |
---|---|---|
contactIdentifier | string | O ID ou o endereço de e-mail de um contato específico |
state | Enumeração | O estado de participação do evento. Os possíveis estados de participação são:
|
limit | Número | Limitar os resultados retornados. Por padrão, o limite é definido como 10. O intervalo válido é de 1 a 100. |
after | Número | Usado para paginação entre resultados na resposta. Consulte a diferença especificada na página anterior dos dados de resposta para determinar o próximo índice de resultados a ser retornado. |
Listar pontos de extremidade de associação
Você pode usar os endpoints descritos nas seções abaixo para gerenciar associações entre listas e seus eventos de marketing. Muitos desses pontos finais exigem umlistId
como um parâmetro de caminho, que você pode encontrar na página de detalhes da lista na sua conta HubSpot:
- Na sua conta HubSpot, navegue até CRM > Listas.
- Clique no nome de uma lista.
- No canto superior direito, clique em Detalhes.
- No painel direito, o ID da lista aparecerá em Listar IDs para integrações de API. Você pode clicar em Copiar ID da lista para copiar o ID para a área de transferência.

- Na sua conta HubSpot, navegue até CRM > Contatos.
- No canto superior esquerdo, clique Contatos e no menu suspenso, selecione Eventos de marketing.
- Clique no nome de um evento de marketing.
- Na aba Desempenho, clique em Listas para expandir a seção, clique em Listas adicionadas por meio de associações aba.

Criar associação de lista com um ID de evento de marketing
Para criar uma nova associação entre um evento de marketing e uma lista existente, faça um pedidoPUT
para /marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId}
.
Se for bem-sucedido, você receberá uma resposta 204 No content
.
Criar associação de lista com IDs de eventos e contas externas
Para criar uma nova associação entre um evento de marketing e uma lista existente usando o ID da conta externa e o ID do evento externo, faça um pedidoPUT
para /marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId}
.
Se for bem-sucedido, você receberá uma resposta 204 No content
.
Obtenha listas associadas a um evento de marketing usando uma ID de evento de marketing
Para obter todas as listas associadas a um evento de marketing, faça um pedidoGET
para /marketing/v3/marketing-events/associations/{marketingEventId}/lists
.
A resposta será semelhante à seguinte:
Obtenha listas associadas a um evento usando IDs de eventos e contas externas
Você também pode obter listas associadas a um evento de marketing usando uma ID de conta externa e a ID do evento externo, faça um pedidoGET
para /marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists
.
Excluir associação de lista usando um ID de evento de marketing
Para excluir uma associação de lista para um evento de marketing usando uma ID de evento de marketing, faça um pedidoDELETE
para /marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId}
.
Se for bem-sucedido, você receberá uma resposta 204 No content
.
Excluir associação de lista usando IDs de eventos e contas externas
Para excluir uma associação de lista para um evento de marketing usando a ID da conta externa e uma ID de evento externo, faça um pedidoDELETE
para /marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId}
.
Se for bem-sucedido, você receberá uma resposta 204 No content
.
Configurações do aplicativo
Algumas configurações são necessárias para permitir que os eventos de marketing sejam sincronizados corretamente com a HubSpot. Se você enviar à HubSpot uma alteração de estado de presença (por exemplo, uma inscrição ou cancelamento), a HubSpot primeiro verificará se existe um Evento de Marketing para o ID de evento especificado. Caso contrário, a HubSpot chamará o ponto de extremidade configurado do seu app para recuperar os detalhes do evento de marketing e, então, criar o evento na HubSpot e publicar a alteração do estado da presença. Isso é fornecido para sua conveniência; no entanto, ainda é recomendável que você crie os Eventos de Marketing por meio dos métodos CRUD fornecidos no documentação de referência e não confie nessa funcionalidade para criar seus eventos de marketing no HubSpot.Etapa 1: crie uma API em seu aplicativo
Para oferecer suporte a isso, o HubSpot exige que cada app que usa eventos de marketing defina uma API para obter informações sobre um evento de marketing específico. Requisitos:- Aceita:
externalAccountId
: um parâmetro de consulta que especifica o accountId do cliente no aplicativo externo.appId
: um parâmetro de consulta que especifica o ID do aplicativo HubSpot que está solicitando os detalhes do evento. Este será o ID do seu app.externalEventId
: um parâmetro de caminho na URL da solicitação que especifica o ID do evento no aplicativo externo sobre o qual o HubSpot requer detalhes.
- Retorna:
- Um objeto JSON que fornece detalhes para o evento de marketing, que inclui os seguintes campos detalhados na tabela abaixo:
eventName
| true | string | O nome do evento de marketing. |
| eventOrganizer
| true | string | O nome do organizador do evento de marketing. |
| eventType
| false | string | Descreve que tipo de evento é este. Por exemplo, WEBINAR
, CONFERENCE
, WORKSHOP
| . |
| startDateTime
| false | string(date-time) | A data e hora de término do evento de marketing. |
| eventDescription
| false | string | A descrição do evento de marketing. |
| eventUrl
| false | string | Um URL no aplicativo de evento externo no evento de marketing. |
| eventCancelled
| false | bool | indica se o evento de marketing foi cancelado. Assume o padrão false
| . |
A HubSpot também enviará um cabeçalho X-HubSpot-Signature-v3
que você pode usar para verificar se a solicitação veio da HubSpot. Leia mais sobre request signatures para obter detalhes adicionais sobre a assinatura e como validá-la.
Etapa 2: Fornecer à HubSpot o caminho da URL para sua API
Agora que você criou a API em seu app que retornará um objeto que fornece os detalhes de um evento de marketing específico, você vai precisar fornecer à HubSpot o caminho de URL para sua API fazendo uma solicitaçãoPOST
para /marketing/v3/marketing-events/{appId}/settings
. Isso permitirá que a HubSpot determine como fazer solicitações ao seu app para obter os detalhes de um evento de marketing.
No corpo de sua solicitação POST
, especifique sua URL usando o campo eventDetailsURL
. A eventDetailsURL
deve atender aos dois requisitos a seguir:
- Conter uma sequência de caracteres
%s
que a HubSpot usará para substituir no ID do evento (externalEventId
) como um parâmetro de caminho. - Deve ser o caminho completo para o recurso da API, incluindo o prefixo
https://
e o nome do domínio (por exemplo,my.event.app
).
eventDetailsURL
dehttps://my.event.app/events/%s
e precisar fazer uma solicitação para obter detalhes de um evento com id 1234-event-XYZ
para o aplicativo HubSpot com o id app-101
e conta com o id ABC-account-789
, o HubSpot fará uma solicitação GET
para:
https://my.event.app/events/1234-event-XYZ?appId=app-101&externalAccountId=ABC-account-789