Documentación para desarrolladores

Integra llamadas WhatsApp como una API de comunicaciones

Una experiencia de documentación pública al estilo Twilio/Wavoip: endpoints claros, autenticación por API key, llamadas, sesiones, webhooks y grabaciones.

curl -X POST https://api.voxelia.cloud/v1/calls/outbound

-H "Authorization: Bearer YOUR_API_KEY"

-H "Content-Type: application/json"

{
  "sessionId": "wa_main",
  "phoneNumber": "50400000000",
  "mediaType": "VOICE",
  "route": { "type": "human" }
}

Crea una API key

Genera credenciales por empresa y controla permisos, límites y rotación.

Conecta WhatsApp

Crea sesiones, genera QR y consulta estados operativos desde la API.

Recibe eventos

Sincroniza estados de llamadas, grabaciones y errores con tus sistemas.

Opera seguro

Usa límites por tenant, auditoría y tokens internos para proteger la plataforma.

Referencia

Endpoints principales

Esta página será la base de documentación externa. Swagger queda solo como herramienta técnica interna.

Request

curl -X POST https://api.voxelia.cloud/v1/sessions
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"

{
  "id": "wa_main",
  "name": "Main WhatsApp Line",
  "qrMode": "manual"
}

Response

{
  "id": "wa_main",
  "status": "QR_READY",
  "qr": "data:image/png;base64,...",
  "createdAt": "2026-06-06T03:00:00.000Z"
}

Request

curl -X POST https://api.voxelia.cloud/v1/calls/outbound
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"

{
  "sessionId": "wa_main",
  "phoneNumber": "50400000000",
  "mediaType": "VOICE",
  "route": { "type": "human" },
  "recording": { "enabled": true, "format": "wav" }
}

Response

{
  "id": "call_01JZ...",
  "status": "INITIATED",
  "direction": "OUTBOUND",
  "mediaType": "VOICE"
}

Request

curl -X POST https://api.voxelia.cloud/v1/calls/call_01JZ/answer
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"

{
  "route": {
    "type": "prerecorded",
    "mediaUri": "media://welcome-audio"
  },
  "recording": { "enabled": true, "format": "wav" }
}

Response

{
  "id": "call_01JZ...",
  "status": "CONNECTED",
  "route": { "type": "prerecorded" }
}

Request

curl -X POST https://api.voxelia.cloud/v1/calls/call_01JZ/hangup
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "id": "call_01JZ...",
  "status": "ENDED",
  "endedAt": "2026-06-06T03:04:00.000Z"
}

Request

curl -X GET https://api.voxelia.cloud/v1/recordings
-H "Authorization: Bearer YOUR_API_KEY"

Response

[
  {
    "id": "rec_01JZ...",
    "callId": "call_01JZ...",
    "format": "wav",
    "downloadUrl": "https://api.voxelia.cloud/v1/recordings/rec_01JZ/download"
  }
]

Request

curl -X POST https://api.voxelia.cloud/v1/webhooks
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"

{
  "url": "https://your-app.com/webhooks/voxelia",
  "events": ["call.started", "call.ended", "recording.ready"]
}

Response

{
  "id": "wh_01JZ...",
  "url": "https://your-app.com/webhooks/voxelia",
  "status": "active"
}

Documentación pública en construcción

La intención es que esta sea la documentación oficial para integradores externos, con ejemplos, SDKs y guías por caso de uso.

Crear cuenta de desarrollador