Volver al blog
Desarrolladores

Consultar canales y qualityRating por la API de Waspy (GET /channels)

GET /api/v2/channels, con scope channels:read, devuelve el UUID del canal, el id de Meta, qualityRating y el estado. El id de Waspy es el que va en POST /messages. El de Meta no.

· 10 min
Consultar canales y qualityRating por la API de Waspy (GET /channels)

Respuesta corta: GET https://api.waspytech.com/api/v2/channels lista los números de WhatsApp de la cuenta. Scope channels:read. El campo id es el UUID de Waspy y es el que va en phoneNumberId cuando hacés POST /messages. El campo phoneNumberId es el id de Meta. qualityRating sale en GREEN, YELLOW o RED.

La referencia está en channels. El semáforo, explicado para quien no integra, está en la calificación del número y en calidad del número.

El pedido

curl -sS https://api.waspytech.com/api/v2/channels \
  -H "Authorization: Bearer $WASPY_API_KEY"

No pagina: devuelve los canales del tenant. No lleva query. Sin header, es 401 UNAUTHORIZED. Con una clave que tiene scopes y no incluye channels:read, es 403 FORBIDDEN.

{
  "data": [
    {
      "id": "8f0c1c2e-1111-4222-8333-444444444444",
      "phoneNumber": "+5491155654076",
      "displayName": "Mi Tienda",
      "phoneNumberId": "947831321756793",
      "wabaId": "3778403832302005",
      "qualityRating": "GREEN",
      "status": "active",
      "webhookVerified": true
    }
  ],
  "meta": { "requestId": "..." }
}

Los dos ids

CampoQué esDónde se usa
idUUID del canal en WaspyphoneNumberId en POST /messages, y el filtro phoneNumberId de GET /templates
phoneNumberIdId del número en MetaNo se manda en el POST de Waspy. Sirve si tu otro sistema habla con Graph
wabaIdId de la cuenta de WhatsApp Business en MetaTampoco reemplaza al id
phoneNumberEl número, con código de paísPara mostrarlo. No es el id del POST
displayNameNombre visible. Puede venir null—
El error típico del primer envío es copiar phoneNumberId (el número largo de Meta) al POST. Waspy busca un canal cuyo id sea ese string, no lo encuentra y responde 400 INVALID_CHANNEL.

qualityRating

Meta informa la calidad del número. Los valores que se leen en la operación son:

ValorQué hacés antes de una campaña
GREENPodés seguir. No es un permiso para escribirle a toda la base
YELLOWNo subas el volumen “para compensar”. Mirá bloqueos y reportes antes del lunes
REDNo lances el marketing del CyberMonday desde ese número
unknown o nullTodavía no hay una lectura usable. No lo trates como verde
La columna arranca en unknown hasta que el alta o la sincronización escriben lo que dice Meta. El campo del esquema acepta null.

GREEN no mira el límite de mensajería. Un número verde puede seguir en 250 destinatarios distintos por día. Este GET no trae ese escalón. Cómo se sube está en subir el límite.

status no es connected

La página de channels dice que status es connected o disconnected. La ruta no traduce el valor: devuelve la columna. Los que existen son:

statusPOST /messages
activeSigue, si el resto del body cierra
inactive403 CHANNEL_NOT_CONNECTED
banned403 CHANNEL_NOT_CONNECTED
token_expired403 CHANNEL_NOT_CONNECTED
El mensaje de ese 403 incluye el estado que encontró. webhookVerified es un booleano aparte: dice si el webhook de Meta quedó verificado. No reemplaza a status.

Antes del lunes 2

El CyberMonday 2026 es el 2, 3 y 4 de noviembre. El sábado 31, o el domingo a la mañana, el chequeo de un script es este:

  1. GET /channels.
  2. Si status no es active, no encoles la campaña: el POST no va a entrar.
  3. Si qualityRating es YELLOW o RED, no aumentes el volumen. El marco está en el fin de semana previo.
  4. Guardá id y usalo como phoneNumberId en el POST /messages de la plantilla que ya está approved.

El cupo de la API es 120 pedidos por minuto por cuenta, todas las claves juntas. Un GET de canales y un POST de mensaje suman al mismo contador. Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Al pasarte, 429 RATE_LIMITED y Retry-After. La página de rate limits lo describe por cuenta; la de limitaciones todavía dice “por API key”. El tope que aplica es el de la cuenta.

La API está en Scale (US$150 por mes) y Enterprise. Diez días sin tarjeta, en el registro. El alcance del producto está en la página de la API y los planes, en Planes.

Tu equipo atendiendo por WhatsApp en minutos

CRM facil pero potente. En 10 minutos tenes a tu equipo trabajando — no necesitas hablar con nadie.