> ## Documentation Index
> Fetch the complete documentation index at: https://br.developers.hubspot.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar uma assinatura de webhook (BETA)

> Saiba como definir uma assinatura de webhook na versão mais recente da plataforma para desenvolvedores (BETA).

<style>
  {`
    .table-key, .table-key div, .table-key p {
      margin: 0;
      font-size: 14px;
    }
    code {
      text-wrap:nowrap!important;
    }

    `}
</style>

Para definir uma assinatura de webhook para um aplicativo na nova plataforma para desenvolvedores, inclua um diretório `webhooks` no projeto, juntamente com um arquivo de configuração `*-hsmeta.json`.

## Estrutura do diretório

```shell theme={null}
├──src
│   ├── app/
│   │   └── app-hsmeta.json
│   │   └── ...
│   │   └── webhooks/
│   │     └── webhooks-hsmeta.json
└──
```

## Configuração do webhook

Veja as opções de configuração disponíveis para o arquivo `*-hsmeta.json`.

```json theme={null}
{
  "uid": "webhooks",
  "type": "webhooks",
  "config": {
    "settings": {
      "targetUrl": "https://example.com/webhook",
      "maxConcurrentRequests": 10
    },
    "subscriptions": {
      "crmObjects": [
        {
          "subscriptionType": "object.creation",
          "objectType": "contact",
          "active": true
        }
      ],
      "legacyCrmObjects": [
        {
          "subscriptionType": "contact.propertyChange",
          "propertyName": "lastname",
          "active": true
        },
        {
          "subscriptionType": "contact.deletion",
          "active": true
        }
      ],
      "hubEvents": [
        {
          "subscriptionType": "contact.privacyDeletion",
          "active": true
        }
      ]
    }
  }
}
```

<p className="table-key">
  Campos marcados com <span style={{ color: 'red' }}>\*</span> são obrigatórios.
</p>

| Campo                                                | Tipo   | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `uid`<span style={{color:"red"}}>\*</span>           | String | Um identificador exclusivo interno do componente de webhook.                                                                                                                                                                                                                                                                                                                                                                                                    |
| `type`<span style={{color:"red"}}>\*</span>          | String | O tipo de componente, que deve ser `webhooks` neste caso.                                                                                                                                                                                                                                                                                                                                                                                                       |
| `settings`<span style={{color:"red"}}>\*</span>      | Objeto | Um objeto que especifica dois campos: `targetUrl`, que é o URL disponível publicamente para que o HubSpot chame onde as cargas do evento serão entregues, e `maxConcurrentRequests`, que é o limite superior das solicitações HTTP que o HubSpot fará em um determinado intervalo de tempo.                                                                                                                                                                     |
| `subscriptions`<span style={{color:"red"}}>\*</span> | Objeto | Um objeto que especifica os tipos de assinatura em que seu aplicativo se inscreverá.                                                                                                                                                                                                                                                                                                                                                                            |
| `crmObjects`                                         | Matriz | <p>Uma matriz que contém definições de assinatura de evento. Essa é a matriz padrão a ser incluída e deve ser usada para todos os eventos no [novo formato](/apps/legacy-apps/public-apps/create-generic-webhook-subscriptions) (`object.*`).</p> <p>[Os tipos de assinatura de webhook clássico](/api-reference/webhooks-webhooks-v3/guide#webhook-subscriptions) devem ser incluídos nas matrizes `legacyCrmObjects` e `hubEvents`, dependendo do evento.</p> |
| `legacyCrmObjects`                                   | Matriz | Uma matriz que contém [tipos de assinatura clássicos](/api-reference/webhooks-webhooks-v3/guide#webhook-subscriptions), como `contact.creation` e `deal.deletion`.                                                                                                                                                                                                                                                                                              |
| `hubEvents`                                          | Matriz | Uma matriz que contém os tipos de assinatura clássica `contact.privacyDeletion` e `conversation.*`                                                                                                                                                                                                                                                                                                                                                              |

Para cada objeto `subscription`, os seguintes campos podem ser especificados, com base no tipo de definição de assinatura em que você está inscrito (ou seja, `crmObjects`, `legacyCrmObjects`, ou `hubEvents`) ou se você está se inscrevendo em uma mudança de propriedade específica (por exemplo, `contact.propertyChange`).

| Campo              | Tipo     | Descrição                                                                                                                   |
| ------------------ | -------- | --------------------------------------------------------------------------------------------------------------------------- |
| `subscriptionType` | String   | O tipo de evento que está sendo assinado.                                                                                   |
| `objectType`       | String   | Para assinaturas especificadas dentro da matriz `crmObjects`, especifica o objeto do CRM que seu aplicativo está assinando. |
| `propertyName`     | String   | Para assinaturas de alteração de propriedade, especifica quais propriedades acionarão o evento de webhook.                  |
| `active`           | Booleano | Se os eventos de webhook serão disparados para esta assinatura.                                                             |
