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

# contact.created

> Ocorre quando um contato é criado.

Use `contact.created` para manipular este evento no seu endpoint de webhook.

## Gatilhos

Ocorre quando um contato é criado.

Inscreva-se em `contact.created` ao [configurar seu endpoint de webhook](https://docs.ycloud.com/pt/api-reference/guides/api-fundamentals/configure-webhooks.md).

## Sintaxe

A YCloud envia uma solicitação HTTP `POST` para o URL do webhook configurado. A estrutura a seguir mostra uma variante de payload. Os valores entre colchetes angulares são marcadores de posição; seus tipos estão listados em **Parâmetros**. Os campos opcionais e outras variantes são descritos abaixo.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "contact.created",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "contactCreated": {
    "id": "<ID>",
    "remarkName": "<REMARK_NAME>",
    "nickName": "<NICK_NAME>",
    "realName": "<REAL_NAME>",
    "phoneNumber": "<PHONE_NUMBER>",
    "countryCode": "<COUNTRY_CODE>",
    "countryName": "<COUNTRY_NAME>",
    "email": "<EMAIL>",
    "sourceType": "<SOURCE_TYPE>",
    "sourceId": "<SOURCE_ID>",
    "sourceUrl": "<SOURCE_URL>",
    "lastSeen": "<LAST_SEEN>",
    "lastConnectedNumber": "<LAST_CONNECTED_NUMBER>",
    "ownerEmail": "<OWNER_EMAIL>",
    "tags": [
      "<TAGS>"
    ],
    "createTime": "<CREATE_TIME>",
    "updateTime": "<UPDATE_TIME>",
    "blocked": "<BLOCKED_VALUE>",
    "customAttributes": {
      "attr1": "<ATTR1>",
      "attr2": "<ATTR2>",
      "attr3": "<ATTR3_VALUE>"
    }
  }
}
```

## Parâmetros

Valide o cabeçalho HTTP `YCloud-Signature` antes de processar o corpo JSON. Consulte a [validação de assinatura](https://docs.ycloud.com/pt/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Envelope do evento

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `id` | string | Sim | ID exclusivo do evento. Tamanho mínimo: `6`. Tamanho máximo: `128`. |
| `type` | string | Sim | Sempre `contact.created`. |
| `apiVersion` | string | Sim | A versão da API usada para renderizar este evento. |
| `createTime` | string (date-time) | Sim | O horário em que este evento foi criado, formatado em [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Ex.: `2022-06-01T12:00:00.000Z`. |

### Payload do evento

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `contactCreated` | object | Não | Payload de `contactCreated` específico do evento. |

Os quatro campos comuns do envelope são obrigatórios. Os campos do payload dependem da variante do evento. Em cada tabela de objetos, **Obrigatório** se aplica quando o objeto pai está presente. Campos opcionais podem ser omitidos; um exemplo não torna um campo obrigatório.

#### contactCreated

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `id` | string | Sim | ID exclusivo do objeto. |
| `remarkName` | string | Não | O nome de observação do contato gerenciado pela empresa. |
| `nickName` | string | Não | Apelido do contato. |
| `realName` | string | Não | Nome real do contato. |
| `phoneNumber` | string | Não | Número de telefone exclusivo no formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `countryCode` | string | Não | Sigla de dois caracteres do país. Consulte o [código de país ISO 3166-1 alfa-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). |
| `countryName` | string | Não | Nome completo do país. |
| `email` | string | Não | O endereço de e-mail do contato. Se fornecido, o endereço de e-mail deve ser exclusivo. |
| `sourceType` | string | Não | O tipo de origem onde o contato foi criado. |
| `sourceId` | string | Não | O ID de origem onde o contato foi criado. |
| `sourceUrl` | string | Não | O URL de origem onde o contato foi criado. |
| `lastSeen` | string (date-time) | Não | O horário em que o contato enviou uma mensagem para a sua empresa pela última vez, formatado em [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Ex.: `2022-06-01T12:00:00.000Z`. |
| `lastConnectedNumber` | string | Não | O número de telefone comercial ao qual o contato se conectou pela última vez. |
| `ownerEmail` | string | Não | O endereço de e-mail do proprietário do contato. |
| `tags` | string\[] | Não | Tags do contato. |
| `createTime` | string (date-time) | Não | O horário em que o contato foi criado, formatado em [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Ex.: `2022-06-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | Não | O horário em que o contato foi atualizado pela última vez, formatado em [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Ex.: `2022-06-01T12:00:00.000Z`. |
| `blocked` | boolean | Não | Se o contato está bloqueado. |
| `customAttributes` | object | Não | Atributos personalizados do contato como pares de chave-valor. |

## Exemplo

O seguinte JSON é o corpo entregue ao seu receptor. IDs, números de telefone e outros valores de conta são ilustrativos.

> [accordion] Evento de contato criado
>
> Exemplo de payload quando um novo contato é criado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_2345678901",
>   "type": "contact.created",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "contactCreated": {
>     "id": "1824266594102064128",
>     "remarkName": "Priority customer",
>     "nickName": "John Doe",
>     "realName": "John Smith",
>     "phoneNumber": "+12025550124",
>     "countryCode": "US",
>     "countryName": "United States",
>     "email": "recipient@example.com",
>     "sourceType": "api",
>     "sourceId": "import_batch_123",
>     "sourceUrl": "https://example.com/signup",
>     "lastSeen": "2024-01-01T11:59:00.000Z",
>     "lastConnectedNumber": "+16315552222",
>     "ownerEmail": "owner@example.com",
>     "tags": [
>       "premium",
>       "newsletter"
>     ],
>     "createTime": "2024-01-01T12:00:00.000Z",
>     "updateTime": "2024-01-01T12:00:00.000Z",
>     "blocked": false,
>     "customAttributes": {
>       "attr1": "value1",
>       "attr2": "value2",
>       "attr3": 123
>     }
>   }
> }
> ```

> [accordion] Exemplo de contato criado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_2345678901",
>   "type": "contact.created",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "contactCreated": {
>     "id": "1824266594102064128",
>     "nickName": "John Doe",
>     "realName": "John Smith",
>     "phoneNumber": "+12025550124",
>     "countryCode": "US",
>     "countryName": "United States",
>     "email": "recipient@example.com",
>     "sourceType": "api",
>     "sourceId": "import_batch_123",
>     "sourceUrl": "https://example.com/signup",
>     "lastSeen": "2024-01-01T11:59:00.000Z",
>     "lastConnectedNumber": "+16315552222",
>     "ownerEmail": "owner@example.com",
>     "tags": [
>       "premium",
>       "newsletter"
>     ],
>     "createTime": "2024-01-01T12:00:00.000Z",
>     "updateTime": "2024-01-01T12:00:00.000Z",
>     "blocked": false,
>     "customAttributes": {
>       "company": "YCloud Inc",
>       "age": 25
>     }
>   }
> }
> ```

Após verificar a assinatura e aceitar o evento de forma duradoura, retorne uma resposta `2xx`. Processe tarefas lentas de forma assíncrona.

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
HTTP/1.1 200 OK
```

Para orientações sobre cenários, consulte os [exemplos anotados](https://docs.ycloud.com/pt/api-reference/guides/examples/webhook-examples/contact-created-webhook-examples).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.