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

# Migración de precios de WhatsApp en 2025

> Reglas históricas de precios por mensaje de julio de 2025, campos de callback, ejemplos y casos de transición.

<Warning>
  Referencia histórica: estas reglas describen la migración del 1 de julio de 2025 al
  modelo de precios por mensaje, vigente a medianoche en la zona horaria de cada WABA. No
  sustituyen a las [reglas de precios actuales](/es/documentation/pricing-and-billing/whatsapp-pricing-and-billing)
  ni a la [guía de integración de precios actual](/es/api-reference/guides/whatsapp-platform/whatsapp-message-pricing-integration-guide).
  En particular, las reglas de asignación de servicio y de mensajes de utilidad cambiaron el
  1 de octubre de 2026.
</Warning>

## Explicación de precios

Con los precios por mensaje, a las empresas en nuestra plataforma se les cobrará:

* Por mensaje de plantilla de marketing entregado
* Por mensaje de plantilla de autenticación entregado
* Por mensaje de plantilla de utilidad entregado, si se entrega fuera de una ventana de atención al cliente

  ![Ilustración histórica](https://files.readme.io/4500224986ddbbca3569c1d087234f8fc22cdb75e1f59b9d9f2cceaed3e8c26f-img05.jpeg)

**Nota**

* Las empresas pueden responder a los usuarios sin costo con mensajes `free-form ` y mensajes de plantilla de utilidad
* Las empresas pueden responder a los usuarios sin costo con mensajes `free entry points `

**Ejemplo ilustrativo de precios**

* Si una empresa envía 1 mensaje de marketing y 1 mensaje de utilidad, se genera 1 cargo por cada categoría.

![Ilustración histórica](https://files.readme.io/59a0878f51206e1d8c7d185c19690e37e5dbf2c1fe6ee93bffd9ea425078ddf5-image.png)

<br />

* Cuando la ventana de atención al cliente está abierta, las empresas pueden enviar mensajes de formato libre o mensajes de utilidad sin costo.

![Ilustración histórica](https://files.readme.io/bdd9fdbf58bfd7281b6d91e9871e4e16c797bdfcc8b453821e4cde277f39a455-img02.jpeg)

> La ventana de atención al cliente es un temporizador de 24 horas que se inicia con el mensaje de un usuario y se reinicia con cada nuevo mensaje del usuario. Mientras la ventana de atención al cliente esté abierta, las empresas pueden responder a los usuarios mediante mensajes de formato libre o mensajes de utilidad sin costo. Los mensajes de formato libre son cualquier tipo de mensaje que no sea una plantilla de mensaje.

<br />

* Cuando un usuario envía un mensaje a una empresa desde un anuncio que redirige a WhatsApp o desde el botón de acción de una página de Facebook, y la empresa responde en un plazo de 24 horas, esa respuesta abre una ventana de 72 horas (3 días) `free entry point` donde no se cobran las plantillas de mensajes.

![Ilustración histórica](https://files.readme.io/0488d8567138321de2e1790f107c5fcb2faacac9bcff730a189324e905b87770-img03.jpeg)

* Un ejemplo ilustrativo completo

![Ilustración histórica](https://files.readme.io/44226200f27de23dcbc1589bd6f5a669899b39cf11ca915ae591f6ec5d9c8619-img04.jpeg)

<br />

## Webhooks de precios por mensaje

A partir del 1 de julio de 2025, el [Webhook de mensaje actualizado de WhatsApp](/es/api-reference/guides/examples/webhook-examples/whatsapp-message-updated-webhook-examples) implementará los siguientes cambios:

* Modificaciones en el campo de conversación existente
* Adición de nuevos campos relacionados con la facturación

**Especificaciones del cambio de parámetros del Webhook**

| Nombre del campo | Tipo de datos | Descripción |
| - | - | - |
| pricingModel | String | Nueva propiedad. Los valores pueden ser: \* `"PMP"`— indica que se aplica el precio por mensaje. \* `"CBP" `— indica que se aplica el precio basado en conversaciones. |
| pricingType | String | Nueva propiedad. Disponible exclusivamente en el modo PMP (Precios por mensaje). Los valores pueden ser: \* `regular` — indica que el mensaje es facturable. \* `free_customer_service` — indica que el mensaje es gratuito porque fue una plantilla de mensaje de utilidad o un mensaje no basado en plantilla enviado dentro de una ventana de atención al cliente. \* `free_entry_point `— indica que el mensaje es gratuito porque forma parte de una conversación iniciada desde un punto de entrada gratuito. |
| whatsappMessage.conversation | Object | En el modo PMP (Precios por mensaje), el objeto conversation ya no se devolverá. |

**Ejemplo de Webhook en modo CBP**

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "evt_djeIQXaQPQyUcRFi",
  "type": "whatsapp.message.updated",
  "apiVersion": "v2",
  "createTime": "2022-03-01T12:00:00.000Z",
  "whatsappMessage":  {
    "id": "63f5d602367ea403f8175a6c",
    "wamid": "wamid.BgNODYxN...",
    "wabaId": "whatsapp-business-account-id",
    "from": "+16315551111",
    "to": "+16315552222",
    "status": "read",
    "type": "template",
    "template": {
      "name": "login_otp",
      "language": {
        "code": "en_US",
        "policy": "deterministic"
      }
    },
    "conversation": {
      "id": "8078ed05301c40a08d3d1845c94ca18b",
      "type": "REGULAR",
      "originType": "authentication",
      "expireTime": "2022-03-02T12:00:00.000Z"
    },
    "regionCode": "GB",
    "pricingCategory": "authentication_international",
    "pricingModel": "CBP",
    "totalPrice": 0.085,
    "currency": "USD",
    "createTime": "2022-03-01T12:00:00.000Z",
    "sendTime": "2022-03-01T12:00:01.000Z",
    "deliverTime": "2022-03-01T12:00:02.000Z",
    "readTime": "2022-03-01T12:00:02.000Z",
    "externalId": "ext_123456"
  }
}
```

**Ejemplo de Webhook en modo PMP**

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "evt_djeIQXaQPQyUcRFi",
  "type": "whatsapp.message.updated",
  "apiVersion": "v2",
  "createTime": "2022-03-01T12:00:00.000Z",
  "whatsappMessage":  {
    "id": "63f5d602367ea403f8175a6c",
    "wamid": "wamid.BgNODYxN...",
    "wabaId": "whatsapp-business-account-id",
    "from": "+16315551111",
    "to": "+16315552222",
    "status": "read",
    "type": "template",
    "template": {
      "name": "login_otp",
      "language": {
        "code": "en_US",
        "policy": "deterministic"
      }
    },
    "regionCode": "GB",
    "pricingCategory": "authentication_international",
    "pricingModel": "PMP",
    "pricingType": "regular",
    "totalPrice": 0.085,
    "currency": "USD",
    "createTime": "2022-03-01T12:00:00.000Z",
    "sendTime": "2022-03-01T12:00:01.000Z",
    "deliverTime": "2022-03-01T12:00:02.000Z",
    "readTime": "2022-03-01T12:00:02.000Z",
    "externalId": "ext_123456"
  }
}
```

<br />

## Caso límite de transición

Si se abre una conversación de utilidad entre usted y un usuario que abarque la transición al modelo de precios por mensaje (la conversación se abrió antes del cambio, pero no se cerrará hasta después de este), las plantillas de utilidad enviadas al usuario después del cambio mientras la conversación siga abierta serán gratuitas, pero se atribuirán a la conversación abierta. Estos mensajes tendrán un `pricingModel` de `CBP `y el ID de la conversación de utilidad se asignará a conversation.id en los webhooks de mensajes de estado. Una vez que la conversación se cierre, los mensajes de utilidad posteriores enviados al usuario seguirán el nuevo comportamiento ilustrado anteriormente.


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