Consultar la cuenta y el plan por la API de Waspy (GET /account)
GET /api/v2/account, con scope account:read, devuelve id, name, slug y plan (emprende, crece, escala o enterprise). No trae el uso ni los números. La API pública está en Scale y Enterprise.
Respuesta corta: GET https://api.waspytech.com/api/v2/account dice en qué cuenta está la clave. El scope es account:read. data trae id, name, slug y plan. El plan es el id interno: emprende, crece, escala o enterprise, no la palabra “Starter”.
La referencia está en account. Los permisos, en scopes. La clave pública se crea en Scale (US$150 por mes) y Enterprise. Starter y Growth no la incluyen: Planes y la API.
El pedido
curl -sS https://api.waspytech.com/api/v2/account \
-H "Authorization: Bearer $WASPY_API_KEY"
La respuesta 200:
{
"data": {
"id": "tenant-uuid",
"name": "Mi Tienda",
"slug": "mi-tienda",
"plan": "crece"
},
"meta": { "requestId": "..." }
}
| Campo | Qué es |
|---|---|
id | UUID de la cuenta. Es el tenant de la clave, no un id de Meta |
name | Nombre de la cuenta. Puede ser null |
slug | Identificador único en texto. Puede ser null |
plan | Id del plan activo. Puede ser null |
data sería null. En una clave válida eso no es el caso normal.
Sin header, o con una clave que no existe, es 401 UNAUTHORIZED. El cupo de la API es 120 pedidos por minuto por cuenta, compartido por todas las claves. Un 429 trae Retry-After. El detalle está en rate limits.
El string del plan
La página de planes muestra nombres comerciales. La API muestra el id.
plan | En /planes | Precio publicado | API pública |
|---|---|---|---|
emprende | Starter | US$70 por mes | No |
crece | Growth | US$100 por mes | No |
escala | Scale | US$150 por mes | Sí |
enterprise | Enterprise | A medida | Sí |
crece, el ejemplo de la documentación, es Growth: 4 agentes, 2 números, 5.000 conversaciones y 5.000 plantillas por mes. emprende es 2 agentes, 1 número y 1.000 de cada una. escala no publica tope de agentes, números, conversaciones ni plantillas. Hay 10 días de prueba sin tarjeta.
No compares el string con "starter" ni con "growth". Esos ids son de un modelo anterior. El catálogo interno los traduce cuando la app calcula límites (starter → emprende, growth → crece, scale → escala). Este GET no pasa por esa traducción: devuelve la columna como está guardada. Si armás un switch, contemplá los cuatro ids documentados.
El plan no dice cuánto llevás usado del mes. Conversaciones y plantillas del plan de Waspy son un medidor de la plataforma. Los mensajes que cobra Meta son otro: en Argentina, desde el 1 de octubre de 2026, marketing ARS 89,56 (~US$0,0618) y utilidad, autenticación o servicio ARS 37,68 (~US$0,026), con 1.000 mensajes de servicio gratis por número y por mes. La fuente es la rate card y precios de la plataforma. El desglose está en precios de la API. Waspy no suma un porcentaje: Meta factura tu cuenta.
Qué no está en esta respuesta
| Lo que buscás | Dónde está |
|---|---|
Números, qualityRating, el UUID para POST /messages | GET /channels. Scope channels:read |
| Cuántos mensajes de servicio van del cupo de 1.000 | WhatsApp Manager, no este JSON |
| Crear la clave o cambiar el plan | El panel. No hay PATCH /account |
| Si la clave puede mandar mensajes | El scope de la clave, no el campo plan |
El 403 de scope
account:read es el único scope de esta ruta. Está en la tabla de scopes.
Una clave sin lista de scopes entra a todo, también a GET /account. Una clave con lista, y sin account:read, recibe 403. El código es FORBIDDEN y el mensaje es API key missing required scope: account:read. La página de scopes muestra un ejemplo con código INSUFFICIENT_SCOPE. El handler de la v2 no usa ese código: manda FORBIDDEN.
Cómo armar la lista (una clave de solo lectura lleva account:read junto con contactos y conversaciones) está en idempotencia y scopes.
Para saber si el número está verde antes de una campaña, el siguiente pedido es GET /channels, no este. El plan te dice en qué abono está la cuenta. El canal te dice si Meta deja salir el mensaje.
La prueba de 10 días, sin tarjeta, se abre en el registro.
