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

> Se produce cuando finaliza una llamada de WhatsApp.

Usa `whatsapp.call.terminate` para gestionar este evento en tu endpoint de webhook.

## Desencadenadores

Se produce cuando finaliza una llamada de WhatsApp.

Suscríbete a `whatsapp.call.terminate` cuando [configures tu endpoint de webhook](https://docs.ycloud.com/es/api-reference/guides/api-fundamentals/configure-webhooks.md).

## Sintaxis

YCloud envía una solicitud HTTP `POST` a tu URL de webhook configurada. La siguiente estructura muestra una variante de la carga útil. Los valores entre corchetes angulares son marcadores de posición; sus tipos se indican en **Parámetros**. Los campos opcionales y otras variantes se describen a continuación.

```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

Valida el encabezado HTTP `YCloud-Signature` antes de procesar el cuerpo JSON. Consulta [validación de firmas](https://docs.ycloud.com/es/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Envoltorio del evento

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `id` | string | Sí | ID único del evento. Longitud mínima: `6`. Longitud máxima: `128`. |
| `type` | string | Sí | Siempre `whatsapp.call.terminate`. |
| `apiVersion` | string | Sí | La versión de la API utilizada para representar este evento. |
| `createTime` | string (date-time) | Sí | La fecha y hora en que se creó este evento, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |

### Carga útil del evento

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `callingTerminate` | object | No | Carga útil de `callingTerminate` específica del evento. |

Los cuatro campos comunes del envoltorio son obligatorios. Los campos de la carga útil dependen de la variante del evento. En cada tabla de objetos, **Obligatorio** aplica cuando su objeto principal está presente. Los campos opcionales se pueden omitir; un ejemplo no hace que un campo sea obligatorio.

#### callingTerminate

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `id` | string | Sí | ID único del evento de llamada. |
| `wacid` | string | Sí | El ID de la llamada de WhatsApp. Este ID identifica de forma exclusiva la sesión de la llamada. |
| `phoneId` | string | No | El ID del número de teléfono de WhatsApp Business. |
| `from` | string | No | El número de teléfono de la persona que llama en formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `fromUserId` | string | No | El ID de usuario dentro del ámbito de WhatsApp Business (BSUID) de la persona que llama para llamadas iniciadas por el cliente. |
| `fromParentUserId` | string | No | El ID de usuario principal dentro del ámbito de WhatsApp Business de la persona que llama para llamadas iniciadas por el cliente. |
| `to` | string | No | El número de teléfono del destinatario de la llamada en formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `toUserId` | string | No | El ID de usuario dentro del ámbito de WhatsApp Business (BSUID) del destinatario de la llamada para llamadas iniciadas por la empresa. |
| `toParentUserId` | string | No | El ID de usuario principal dentro del ámbito de WhatsApp Business del destinatario de la llamada para llamadas iniciadas por la empresa. |
| `customerProfile` | object | No | La información de perfil del cliente, incluido el nombre de usuario de WhatsApp cuando esté disponible. |
| `direction` | string | No | La dirección de la llamada.<ul><li>`USER_INITIATED`: Llamada iniciada por el cliente hacia la empresa.</li><li>`BUSINESS_INITIATED`: Llamada iniciada por la empresa hacia el cliente.</li></ul> |
| `startTime` | integer (int64) | No | La hora en que comenzó la llamada, en milisegundos de marca de tiempo Unix. |
| `endTime` | integer (int64) | No | La hora en que finalizó la llamada, en milisegundos de marca de tiempo Unix. |
| `duration` | integer (int64) | No | La duración de la llamada en segundos. |
| `status` | string | No | El estado final de la llamada.<ul><li>`COMPLETED`: La llamada se completó correctamente.</li><li>`FAILED`: La llamada falló debido a un error.</li></ul> |
| `errorCode` | string | No | Código de error cuando el estado de la llamada es `FAILED`. Cadena numérica que representa el error. |

> [accordion] callingTerminate.customerProfile
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre de la cuenta de WhatsApp. |
> | `username` | string | No | Nombre de usuario de WhatsApp. |

## Ejemplo

El siguiente JSON es el cuerpo entregado a tu receptor. Los ID, números de teléfono y otros valores de cuenta son ilustrativos.

> [accordion] Evento de finalización de llamada de WhatsApp
>
> Carga útil de ejemplo cuando finaliza una llamada de WhatsApp
>
> ```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] Llamada completada
>
> ```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] Llamada fallida
>
> ```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"
>   }
> }
> ```

Después de verificar la firma y aceptar de forma duradera el evento, devuelve una respuesta `2xx`. Procesa el trabajo lento de forma asíncrona.

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

Para ver guías de diferentes escenarios, consulta los [ejemplos anotados](https://docs.ycloud.com/es/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.