Skip to main content

Requisitos

  • Una cuenta de Waspy con un número conectado
  • Una API key con scope messages:write y channels:read

1. Obtener el canal

Primero, necesitás el ID del canal (número de WhatsApp) desde el que vas a enviar:
curl https://api.waspytech.com/api/v2/channels \
  -H "Authorization: Bearer wspy_tu_key"
Copiá el id del canal que querés usar.

2. Enviar un template

Si es la primera vez que contactás a este número, necesitás un template (la ventana de servicio no está activa):
curl -X POST https://api.waspytech.com/api/v2/messages \
  -H "Authorization: Bearer wspy_tu_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: primer-mensaje-test" \
  -d '{
    "phoneNumberId": "TU_CHANNEL_ID",
    "to": "+5491100001111",
    "type": "template",
    "template": {
      "name": "hello_world",
      "language": "en_US"
    }
  }'

3. Verificar el envío

Usá el ID del mensaje que recibiste en la respuesta:
curl https://api.waspytech.com/api/v2/messages/MSG_ID \
  -H "Authorization: Bearer wspy_tu_key"
El campo status te dice en qué estado está: queued, sent, delivered, read o failed.

4. Enviar texto libre (si el contacto respondió)

Una vez que el contacto te responde, se abre la ventana de servicio y podés enviar texto libre:
curl -X POST https://api.waspytech.com/api/v2/messages \
  -H "Authorization: Bearer wspy_tu_key" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumberId": "TU_CHANNEL_ID",
    "to": "+5491100001111",
    "type": "text",
    "text": { "body": "Gracias por tu respuesta! En qué te podemos ayudar?" }
  }'

Notas

  • Si el contacto no existe, Waspy lo crea automáticamente al enviar el mensaje.
  • Usá Idempotency-Key para evitar envíos duplicados si reintentás.
  • Los mensajes se envían de forma asíncrona. El status inicial es siempre queued.