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
externalEventIdeexternalAccountIdOs 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
objectIdpodem 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 deobjectIdpontos 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
objectIdpara 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. OobjectIdtambém será retornado na resposta quando você criar um evento com sucesso. - Você também pode fazer uma
GETsolicitação para o/marketing/v3/marketing-eventsponto final descrito na próxima seção. - Se você tem o
externalEventIdde um evento, você pode incluí-lo como um caminho ao fazer um pedidoGETpara/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 pedidoDELETEpara /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}/createentão forneça o ID do contato usando ovidcampo dentro doinputsmatriz 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 de47733471576e especificando quando o participante entrou e saiu do evento por meio dojoinedAteleftAtPropriedades:
- Para usar o e-mail de um contato, faça uma solicitação POST para
/marketing/v3/marketing-events/{objectId}/attendance/{subscribeState}/email-createentão forneça o e-mail do contato usando o campoemaildentro da matrizinputsdo corpo da sua solicitação.- Se você estiver criando um novo contato, poderá incluir o campo
contactPropertiesdentro da matrizinputsdo corpo da sua solicitação para definir quaisquer propriedades associadas no contato recém-criado. Caso contrário, se o contato já existir, ocontactPropertiesfornecido 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
[email protected]e especificando quando o participante entrou e saiu do evento por meio dos camposjoinedAteleftAtdentro do objetopropertiesda 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/horasjoinedAteleftAtcomo 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
Se você usar os endpoints que exigem oexternalEventId 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
POSTpara/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
inputsque 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
POSTpara/marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/email-create. - No corpo da solicitação, forneça um objeto
inputsque 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/horasjoinedAteleftAtcomo 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.
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.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
%sque 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