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

# voice.message.updated

> Ocorre quando o status de uma mensagem de voz é atualizado e o status muda para `delivered` ou `undelivered`.

Use `voice.message.updated` para processar este evento no endpoint do seu webhook.

## Gatilhos

Ocorre quando o status de uma mensagem de voz é atualizado e o status muda para `delivered` ou `undelivered`.

Inscreva-se em `voice.message.updated` quando você [configurar o endpoint do seu webhook](https://docs.ycloud.com/pt/api-reference/guides/api-fundamentals/configure-webhooks.md).

## Sintaxe

A YCloud envia uma solicitaçã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": "voice.message.updated",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "voice": {
    "id": "<ID>",
    "to": "<TO>",
    "status": "<STATUS>",
    "externalId": "<EXTERNAL_ID>"
  }
}
```

## 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 `voice.message.updated`. |
| `apiVersion` | string | Sim | A versão da API usada para renderizar este evento. |
| `createTime` | string (data-hora) | 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 |
| - | - | - | - |
| `voice` | objeto | Não | Payload de `voice` 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 estiver presente. Campos opcionais podem ser omitidos; um exemplo não torna um campo obrigatório.

#### voice

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `id` | string | Sim | ID exclusivo do objeto.Tamanho mínimo: `6`. Tamanho máximo: `128`. |
| `to` | string | Sim | O número de telefone do destinatário no formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `verificationCode` | string | Não | O código de verificação a ser enviado, de 4 a 6 dígitos. |
| `language` | string | Não | [Código de idioma ISO 639](https://www.iso.org/iso-639-language-codes.html). |
| `regionCode` | string | Não | [Código de país ISO 3166-1 alfa-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). |
| `totalSegments` | integer (int32) | Não | Número de segmentos da mensagem. É sempre 1 para chamadas de voz.Mínimo: `1`. |
| `totalPrice` | number (double) | Não | Preço total desta mensagem. |
| `currency` | string | Não | Moeda do preço. [Código de moeda ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). |
| `status` | string | Não | Status de entrega. Um de `accepted`, `sent`, `delivered`, `undelivered` ou `failed`.<ul><li>`accepted`: a solicitação de envio de mensagem foi aceita pelo nosso sistema.</li><li>`failed`: falha ao enviar a mensagem pelo nosso sistema.</li><li>`sent`: a mensagem foi enviada pelo nosso sistema.</li><li>`delivered`: nosso sistema recebeu um comprovante de entrega indicando que a mensagem foi entregue.</li><li>`undelivered`: nosso sistema recebeu um comprovante de entrega indicando que a mensagem não foi entregue.</li></ul> |
| `errorCode` | string | Não | Código de erro quando a mensagem não puder ser entregue. |
| `createTime` | string (data-hora) | Não | O momento em que esta mensagem foi criada, formatado em [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Ex.: `2022-03-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | Não | O horário em que o relatório de entrega desta mensagem foi atualizado, formatado em [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por exemplo, `2022-03-01T12:00:00.000Z`. |
| `externalId` | string | Não | Uma string exclusiva (recomendada) para fazer referência ao objeto. Pode ser um número de pedido ou similar, e pode ser usada para reconciliar o objeto com seus sistemas internos. |
| `callbackUrl` | string | Não | URL do relatório de entrega. Você pode fornecer uma URL e enviaremos o relatório de status atualizado para o seu servidor a tempo. Por exemplo, [https://httpbin.org/anything?tag=api](https://httpbin.org/anything?tag=api). Observação: recomendamos configurar Webhook Endpoints como alternativa. |
| `bizType` | string | Não | Pode estar vazio ou ser um dos seguintes valores: `voice` ou `verify`. O padrão é `voice`.<ul><li>`voice`: indica que a mensagem foi enviada por meio do produto **Voice**.</li><li>`verify`: indica que a mensagem foi enviada por meio do produto **Verify**.</li></ul> |
| `verificationId` | string | Não | O ID de verificação. Incluído apenas quando `bizType` for `verify`. |

## Exemplo

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

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "evt_example_voice_message_updated",
  "type": "voice.message.updated",
  "apiVersion": "v2",
  "createTime": "2026-05-26T12:00:00.000Z",
  "voice": {
    "id": "voice_12345678",
    "to": "+12025550123",
    "status": "delivered",
    "externalId": "verification_123"
  }
}
```

Depois de 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 passo a passo sobre cenários, consulte os [exemplos anotados](https://docs.ycloud.com/pt/api-reference/guides/examples/webhook-examples/whatsapp-message-updated-webhook-examples).


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