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

# whatsapp.call.terminate

> Ocorre quando uma chamada do WhatsApp é encerrada.

Use `whatsapp.call.terminate` para processar este evento em seu endpoint de webhook.

## Gatilhos

Ocorre quando uma chamada do WhatsApp é encerrada.

Assine `whatsapp.call.terminate` ao [configurar seu endpoint de webhook](https://docs.ycloud.com/pt/api-reference/guides/api-fundamentals/configure-webhooks.md).

## Sintaxe

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

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.call.terminate",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "callingTerminate": {
    "id": "<ID>",
    "wacid": "<WACID>",
    "phoneId": "<PHONE_ID>",
    "from": "<FROM>",
    "to": "<TO>",
    "direction": "<DIRECTION>",
    "startTime": "<START_TIME_VALUE>",
    "endTime": "<END_TIME_VALUE>",
    "duration": "<DURATION_VALUE>",
    "status": "<STATUS>"
  }
}
```

## 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 `whatsapp.call.terminate`. |
| `apiVersion` | string | Sim | A versão da API usada para renderizar este evento. |
| `createTime` | string (date-time) | Sim | O momento 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 |
| - | - | - | - |
| `callingTerminate` | object | Não | Payload `callingTerminate` 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 objeto, **Obrigatório** se aplica quando o objeto pai estiver presente. Campos opcionais podem ser omitidos; um exemplo não torna um campo obrigatório.

#### callingTerminate

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `id` | string | Sim | ID exclusivo do evento de chamada. |
| `wacid` | string | Sim | O ID da chamada do WhatsApp. Esse ID identifica de forma única a sessão da chamada. |
| `phoneId` | string | Não | O ID do número de telefone do WhatsApp Business. |
| `from` | string | Não | O número de telefone de quem fez a chamada no formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `fromUserId` | string | Não | O ID de usuário com escopo do WhatsApp Business (BSUID) de quem fez a chamada para chamadas iniciadas pelo cliente. |
| `fromParentUserId` | string | Não | O ID de usuário pai com escopo do WhatsApp Business de quem fez a chamada para chamadas iniciadas pelo cliente. |
| `to` | string | Não | O número de telefone de quem recebeu a chamada no formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `toUserId` | string | Não | O ID de usuário com escopo do WhatsApp Business (BSUID) de quem recebeu a chamada para chamadas iniciadas pela empresa. |
| `toParentUserId` | string | Não | O ID de usuário pai com escopo do WhatsApp Business de quem recebeu a chamada para chamadas iniciadas pela empresa. |
| `customerProfile` | object | Não | As informações de perfil do cliente, incluindo o nome de usuário do WhatsApp quando disponível. |
| `direction` | string | Não | A direção da chamada.<ul><li>`USER_INITIATED`: Chamada iniciada pelo cliente para a empresa.</li><li>`BUSINESS_INITIATED`: Chamada iniciada pela empresa para o cliente.</li></ul> |
| `startTime` | integer (int64) | Não | O momento em que a chamada começou, em milissegundos no formato Unix timestamp. |
| `endTime` | integer (int64) | Não | O momento em que a chamada terminou, em milissegundos no formato Unix timestamp. |
| `duration` | integer (int64) | Não | A duração da chamada em segundos. |
| `status` | string | Não | O status final da chamada.<ul><li>`COMPLETED`: A chamada foi concluída com sucesso.</li><li>`FAILED`: A chamada falhou devido a um erro.</li></ul> |
| `errorCode` | string | Não | Código de erro quando o status da chamada for `FAILED`. String numérica que representa o erro. |

> [accordion] callingTerminate.customerProfile
>
> | Parâmetro | Tipo | Obrigatório | Descrição |
> | - | - | - | - |
> | `name` | string | Não | Nome da conta do WhatsApp. |
> | `username` | string | Não | Nome de usuário do WhatsApp. |

## Exemplo

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

> [accordion] Evento de encerramento de chamada do WhatsApp
>
> Exemplo de payload quando uma chamada do WhatsApp é encerrada
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_6757b889a5a42d369ef48481",
>   "type": "whatsapp.call.terminate",
>   "apiVersion": "v2",
>   "createTime": "2024-12-10T03:42:01.822Z",
>   "callingTerminate": {
>     "id": "6757b889960b25543b9ecc67",
>     "wacid": "wacid.HBgNNjI4MTM2MTkwNTEzMxUCABIYIEFENjB",
>     "phoneId": "461269257068832",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "direction": "USER_INITIATED",
>     "startTime": 1733734738000,
>     "endTime": 1733734771000,
>     "duration": 33,
>     "status": "COMPLETED"
>   }
> }
> ```

> [accordion] Chamada concluída
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_6757b889a5a42d369ef48481",
>   "type": "whatsapp.call.terminate",
>   "apiVersion": "v2",
>   "createTime": "2024-12-10T03:42:01.822Z",
>   "callingTerminate": {
>     "id": "6757b889960b25543b9ecc67",
>     "wacid": "wacid.HBgNNjI4MTM2MTkwNTE",
>     "phoneId": "461269257068832",
>     "from": "+12025550124",
>     "fromUserId": "ID.13491208655302741918",
>     "fromParentUserId": "ID.11815799212886844830",
>     "to": "+12025550123",
>     "direction": "USER_INITIATED",
>     "startTime": 1733734738000,
>     "endTime": 1733734771000,
>     "duration": 33,
>     "status": "COMPLETED"
>   }
> }
> ```

> [accordion] Chamada falhou
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_675907f431c55113a751d0e7",
>   "type": "whatsapp.call.terminate",
>   "apiVersion": "v2",
>   "createTime": "2024-12-11T03:33:08.679Z",
>   "callingTerminate": {
>     "id": "675907a13ae4a901f05fee95",
>     "wacid": "wacid.HBgNODYxNTE1NzEzNzYyM",
>     "phoneId": "461269257068832",
>     "from": "+12025550124",
>     "fromUserId": "ID.13491208655302741918",
>     "fromParentUserId": "ID.11815799212886844830",
>     "to": "+12025550123",
>     "direction": "USER_INITIATED",
>     "startTime": 1733826484000,
>     "endTime": 1733826637000,
>     "duration": 30,
>     "status": "FAILED",
>     "errorCode": "131000"
>   }
> }
> ```

Após verificar a assinatura e aceitar o evento de forma durável, 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 de cenários, consulte [exemplos anotados](https://docs.ycloud.com/pt/api-reference/guides/examples/webhook-examples/whatsapp-calling-terminate-webhook-examples).


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