What's new, 21 October 2026: A customer who sends several messages before the bot's first reply no longer gets the opening sequence of a Chat Flow twice
WASync · Developers

Alcances

Cuatro alcances, resueltos en vivo en cada solicitud. Qué endpoints necesitan cuál y por qué marcar como leído es un envío.

Los alcances son por credencial: por API key o por concesión de OAuth2. Hay cuatro.

AlcancePermite
whatsapp.readGET /connections, GET /connections/{id}, GET /account, GET /messages
whatsapp.sendPOST /messages, POST /messages/read
whatsapp.eventsGET /webhook, PUT /webhook, POST /webhook/rotate y, en general, recibir entregas
whatsapp.managePOST /connections, POST /connections/{id}/pairing-code, POST /connections/{id}/restart, POST /connections/{id}/logout, DELETE /connections/{id}

Marcar como leído es un envío, no una lectura

POST /messages/read requiere whatsapp.send. Parece una operación de lectura, pero transmite un acuse desde su número al dispositivo del cliente: es saliente. La ventaja es que cualquier cliente que ya pueda enviar también puede marcar como leído: sin alcance nuevo y sin nuevo consentimiento.

La resolución es en vivo

Los alcances y la lista de conexiones accesibles se resuelven en cada solicitud. Nada se guarda en caché dentro del token y no hay nada que renovar. Esto tiene dos consecuencias:

  • Revocar una clave, o reducir sus alcances, surte efecto en la siguiente llamada.
  • Una conexión que acaba de crear es visible en la siguiente llamada. No hay retraso de propagación ni nada que volver a emitir.

Alcance insuficiente

Una credencial que no tiene el alcance que necesita un endpoint recibe 403 insufficient_scope. Decida según el código, no según el estado: 403 es también lo que devuelve un rechazo por la lista de IP permitidas (ip_not_allowed), y los dos casos requieren soluciones opuestas: uno exige editar los alcances de la clave y el otro, agregar una dirección. Consulte Errors & idempotency.

Pida menos

El alcance que no concede es el que no se puede aprovechar si la clave se filtra. Un proceso de reportes de solo lectura necesita whatsapp.read y nada más; un emisor de notificaciones necesita whatsapp.send; solo un flujo de aprovisionamiento necesita whatsapp.manage, que puede eliminar conexiones.

¿Le resultó útil esta página?

On this page