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

> Происходит при обновлении статуса голосового сообщения, когда статус меняется на `delivered` или `undelivered`.

Используйте `voice.message.updated` для обработки этого события на вашей конечной точке Webhook.

## Триггеры

Происходит при обновлении статуса голосового сообщения, когда статус меняется на `delivered` или `undelivered`.

Подпишитесь на `voice.message.updated` при [настройке конечной точки Webhook](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

## Синтаксис

YCloud отправляет HTTP-запрос `POST` на настроенный вами URL-адрес Webhook. Ниже показан один из вариантов полезной нагрузки. Значения в угловых скобках являются плейсхолдерами; их типы перечислены в разделе **Параметры**. Необязательные поля и другие варианты описаны ниже.

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

## Параметры

Проверьте HTTP-заголовок `YCloud-Signature` перед обработкой тела JSON. См. раздел [проверка подписи](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Оболочка события (envelope)

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `id` | string | Да | Уникальный идентификатор события. Минимальная длина: `6`. Максимальная длина: `128`. |
| `type` | string | Да | Всегда `voice.message.updated`. |
| `apiVersion` | string | Да | Версия API, используемая для формирования этого события. |
| `createTime` | string (date-time) | Да | Время создания этого события в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Например, `2022-06-01T12:00:00.000Z`. |

### Полезная нагрузка события

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `voice` | object | Нет | Специфичная для события полезная нагрузка `voice`. |

Четыре общих поля оболочки являются обязательными. Поля полезной нагрузки зависят от варианта события. В каждой таблице объектов значение **Обязательный** применяется, если присутствует родительский объект. Необязательные поля могут быть опущены; наличие поля в примере не делает его обязательным.

#### voice

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `id` | string | Да | Уникальный идентификатор объекта.Минимальная длина: `6`. Максимальная длина: `128`. |
| `to` | string | Да | Номер телефона получателя в формате [E.164](https://en.wikipedia.org/wiki/E.164). |
| `verificationCode` | string | Нет | Отправляемый код подтверждения, от 4 до 6 цифр. |
| `language` | string | Нет | [Код языка ISO 639](https://www.iso.org/iso-639-language-codes.html). |
| `regionCode` | string | Нет | [Двухбуквенный код страны ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). |
| `totalSegments` | integer (int32) | Нет | Количество сегментов сообщения. Для голосовых вызовов всегда равно 1.Минимум: `1`. |
| `totalPrice` | number (double) | Нет | Общая стоимость этого сообщения. |
| `currency` | string | Нет | Валюта цены. [Код валюты ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). |
| `status` | string | Нет | Статус доставки. Одно из следующих значений: `accepted`, `sent`, `delivered`, `undelivered` или `failed`.<ul><li>`accepted`: запрос на отправку сообщения принят нашей системой.</li><li>`failed`: не удалось отправить сообщение из нашей системы.</li><li>`sent`: сообщение отправлено из нашей системы.</li><li>`delivered`: наша система получила отчет о доставке, подтверждающий доставку сообщения.</li><li>`undelivered`: наша система получила отчет о доставке, указывающий, что сообщение не доставлено.</li></ul> |
| `errorCode` | string | Нет | Код ошибки в случае невозможности доставки сообщения. |
| `createTime` | string (date-time) | Нет | Время создания этого сообщения в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Например, `2022-03-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | Нет | Время обновления отчета о доставке для этого сообщения в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Например, `2022-03-01T12:00:00.000Z`. |
| `externalId` | string | Нет | Уникальная (рекомендуется) строка для идентификации объекта. Это может быть номер заказа или аналогичный идентификатор, который можно использовать для сверки объекта с вашими внутренними системами. |
| `callbackUrl` | string | Нет | URL отчета о доставке. Вы можете указать URL, и мы своевременно отправим обновленный отчет о статусе на ваш сервер. Например, [https://httpbin.org/anything?tag=api](https://httpbin.org/anything?tag=api). Примечание: вместо этого мы рекомендуем настроить конечные точки Webhook. |
| `bizType` | string | Нет | Может быть пустым либо одним из следующих значений: `voice` или `verify`. По умолчанию: `voice`.<ul><li>`voice`: указывает, что сообщение отправлено через продукт **Voice**.</li><li>`verify`: указывает, что сообщение отправлено через продукт **Verify**.</li></ul> |
| `verificationId` | string | Нет | Идентификатор верификации. Включается только тогда, когда `bizType` имеет значение `verify`. |

## Пример

Следующий JSON представляет собой тело запроса, доставляемое получателю. Идентификаторы, номера телефонов и другие значения аккаунта приведены в качестве примера.

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

После проверки подписи и надежного сохранения события верните ответ `2xx`. Длительные операции обрабатывайте асинхронно.

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

Пошаговые сценарии см. в разделе [примеры с пояснениями](https://docs.ycloud.com/ru/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.