OAuth2 para aplicaciones de terceros
Solo para aplicaciones que instalan otros clientes de WASync. Authorization Code con PKCE, refresh tokens rotativos y un límite estructural.
Omita esto si automatiza su propia cuenta
Una API key hace todo lo que aparece en esta documentación sin ninguna de estas piezas. OAuth es la herramienta adecuada para un solo caso: su aplicación la instalan otros clientes de WASync, y esos clientes tienen que dar su consentimiento sobre conexiones que les pertenecen.
Registre la aplicación
Regístrela en https://developers.wasync.app/apps. Recibirá un client_id y un
client_secret (se muestra una sola vez), y configurará uno o más redirect_uri (se comparan
de forma exacta en el intercambio del token), un webhook_url opcional y los scopes que necesite.
El flujo
Authorization Code con PKCE: S256 es obligatorio. Envíe al usuario a
/oauth/authorize con response_type=code, su client_id, redirect_uri,
scope, un state y un code_challenge.
| Endpoint | URL |
|---|---|
| Authorize | https://cloudapi.wasync.app/oauth/authorize |
Token (client_secret_post) | https://cloudapi.wasync.app/oauth/token |
| Discovery | https://cloudapi.wasync.app/.well-known/oauth-authorization-server |
Estas URL, y la URL del servidor MCP, usan
cloudapi.wasync.app a propósito. Son identificadores de protocolo que su
biblioteca cliente y nuestros documentos de discovery ya tienen registrados, por
lo que deben coincidir byte por byte. Solo la URL base de REST y las páginas
para personas usan el dominio canónico developers.wasync.app.
El consentimiento depende de quién es dueño de las conexiones
Bitrix24. WASync muestra un código de usuario corto, y una persona con acceso de escritura al área API & Agents del portal lo introduce en Settings → API & Agents, eligiendo las conexiones y los scopes. Todos los administradores de Bitrix24 tienen ese acceso; también lo tiene quien un administrador haya habilitado en la matriz de acceso de la página Staff.
Independiente. El desarrollador aprueba en https://developers.wasync.app/authorize; la aprobación es automática cuando es dueño de exactamente un espacio de trabajo con al menos una conexión.
Intercambie el código
curl -X POST https://cloudapi.wasync.app/oauth/token \
-d grant_type=authorization_code \
-d code=$AUTH_CODE \
-d redirect_uri=https://your.app/callback \
-d client_id=$CLIENT_ID \
-d client_secret=$CLIENT_SECRET \
-d code_verifier=$CODE_VERIFIEREl access_token dura 15 minutos. El refresh_token dura 30 días y rota
con cada uso: guarde el nuevo de forma atómica y serialice las renovaciones
entre procesos, o dos procesos en competencia invalidarán el token del otro.
El access token va en el mismo encabezado que una API key:
Authorization: Bearer …. Ambos tipos de credencial llegan a todos los endpoints.
Un límite estructural
Una autorización solo se emite sobre conexiones que ya existen, así que una integración solo con OAuth no puede crear la primera conexión de un espacio de trabajo. Una API key sí puede, y por eso la guía de inicio rápido empieza con una.
Webhooks para aplicaciones OAuth
Una aplicación OAuth define webhook_url en la propia aplicación en lugar de
llamar a PUT /webhook, y la autorización debe haberse aprobado con
whatsapp.events, o no se entrega nada. Todo lo demás (el esquema de firma, la
política de reintentos y los payloads) es idéntico a la guía de
webhooks.
Las suscripciones creadas antes del 24 de julio de 2026 reciben solo
message.received; las creadas antes del 10 de agosto de 2026 no reciben
los eventos de conexión. Vuelva a autorizar para obtener los tipos de evento
más recientes, o escriba a soporte y pida que los agreguen a su suscripción
existente.
Plantillas de WhatsApp (WABA)
Cree plantillas de mensajes de WhatsApp Business API en WASync, siga su aprobación por Meta y envíelas desde el chat del CRM, desde las reglas de automatización de Bitrix24 y desde Chat Flows.
API Reference
Every endpoint of the WhatsApp Platform API, generated from the OpenAPI contract.