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

# sms.message.updated

> Se produce cuando se actualiza el estado de un mensaje SMS y el estado cambia a `delivered` o `undelivered`.

Usa `sms.message.updated` para gestionar este evento en tu endpoint de webhook.

## Desencadenadores

Se produce cuando se actualiza el estado de un mensaje SMS y el estado cambia a `delivered` o `undelivered`.

Suscríbete a `sms.message.updated` 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 carga útil. Los valores entre corchetes angulares son marcadores de posición; sus tipos se indican en **Parámetros**. A continuación se describen los campos opcionales y otras variantes.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "sms.message.updated",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "sms": {
    "id": "<ID>",
    "to": "<TO>",
    "status": "<STATUS>",
    "externalId": "<EXTERNAL_ID>"
  }
}
```

## Parámetros

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

### Envoltura 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 `sms.message.updated`. |
| `apiVersion` | string | Sí | La versión de la API utilizada para procesar este evento. |
| `createTime` | string (date-time) | Sí | Fecha y hora en que se creó este evento, en formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). P. ej., `2022-06-01T12:00:00.000Z`. |

### Carga útil del evento

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

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

#### sms

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `id` | string | Sí | ID único del objeto.Longitud mínima: `6`. Longitud máxima: `128`. |
| `to` | string | Sí | El número de teléfono del destinatario en formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `text` | string | No | El texto de este mensaje. |
| `senderId` | string | No | Sender ID que se va a utilizar. |
| `regionCode` | string | No | [Código de país ISO 3166-1 alfa-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) |
| `totalSegments` | integer (int32) | No | Número de segmentos del mensaje. Consulta la [codificación de caracteres de SMS](https://helpdocs.ycloud.com/help-center/integrations/channels/global-sms/sms-basic-principles#sms-encoding) para obtener más información.Mínimo: `1`. |
| `totalPrice` | number (double) | No | Precio total de este mensaje. |
| `currency` | string | No | Moneda del precio. [Código de divisa ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). |
| `status` | string | No | Estado de entrega. Uno de `accepted`, `sent`, `delivered`, `undelivered` o `failed`.<ul><li>`accepted`: la solicitud de mensajería ha sido aceptada por nuestro sistema.</li><li>`failed`: el mensaje no se pudo enviar desde nuestro sistema.</li><li>`sent`: el mensaje se ha enviado desde nuestro sistema.</li><li>`delivered`: nuestro sistema ha recibido un comprobante de entrega que indica que el mensaje se entregó.</li><li>`undelivered`: nuestro sistema ha recibido un comprobante de entrega que indica que el mensaje no se entregó.</li></ul> |
| `errorCode` | string | No | Código de error cuando el mensaje no se puede entregar. |
| `createTime` | string (date-time) | No | Fecha y hora en que se creó este mensaje, en formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). P. ej., `2022-03-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | No | La fecha y hora en que se actualizó el informe de entrega de este mensaje, en formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-03-01T12:00:00.000Z`. |
| `externalId` | string | No | Una cadena única (recomendada) para hacer referencia al objeto. Puede ser un número de pedido o similar, y se puede usar para conciliar el objeto con tus sistemas internos. |
| `callbackUrl` | string | No | URL del informe de entrega. Puedes proporcionar una URL y enviaremos a tiempo el informe de estado actualizado a tu servidor. Por ejemplo, [https://httpbin.org/anything?tag=api](https://httpbin.org/anything?tag=api). Nota: Recomendamos configurar Webhook Endpoints en su lugar. |
| `bizType` | string | No | Puede estar vacío o ser uno de `sms` o `verify`. El valor predeterminado es `sms`.<ul><li>`sms`: indica que el mensaje se envía a través del producto **SMS**.</li><li>`verify`: indica que el mensaje se envía a través del producto **Verify**.</li></ul> |
| `verificationId` | string | No | El ID de verificación. Solo se incluye cuando `bizType` es `verify`. |

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

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

Tras verificar la firma y aceptar el evento de forma duradera, devuelve una respuesta `2xx`. Procesa las tareas lentas de forma asíncrona.

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

Para ver guías paso a paso de situaciones de uso, consulta los [ejemplos comentados](https://docs.ycloud.com/es/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.