Una API simple para hablar con tus clientes

Enviá WhatsApp, códigos de verificación y recibí los eventos de cada conversación en tu sistema.

Pedir una clave de prueba
Sandbox

Probala sin costo

Te damos una clave de prueba y un número de WhatsApp de sandbox para tu entorno de desarrollo.

Pedir mi clave
# Enviar un WhatsApp desde tu sistema
curl -X POST https://tu-cuenta.ideacenter.com.ar/api/v1/integrations/whatsapp/messages \
  -H "Authorization: Bearer $IDEACENTER_KEY" \
  -H "Idempotency-Key: pedido-1042" \
  -d '{
    "to": "5492615551234",
    "type": "text",
    "text": "Tu pedido #1042 está en camino 🚚",
    "client_ref": "pedido-1042"
  }'

Autenticación

Cada pedido lleva una clave en el encabezado Authorization: Bearer cck_live_…. Las claves se crean desde el panel, tienen permisos por alcance (messages:write, templates:read, otp:send, account:read, branches:write), pueden vencer y se revocan en el momento. El límite es de 120 pedidos por minuto por clave.

Endpoints

Método y rutaPara qué sirve
POST /whatsapp/messagesEnviar un texto dentro de la ventana de 24 h o una plantilla fuera de ella. Acepta Idempotency-Key y client_ref.
GET /whatsapp/templatesListar las plantillas aprobadas.
POST /whatsapp/templatesCrear una plantilla y enviarla a aprobación.
POST /whatsapp/otpEnviar un código de verificación. No abre ticket ni consume la cuota de mensajes.
POST /whatsapp/opt-inReactivar a un contacto que se había dado de baja.
PUT /whatsapp/conversations/botPrender o apagar el bot en una conversación.
GET /whatsapp/windowSaber si la ventana de 24 h de un contacto está abierta (sin costo).
GET /usageConsultar el consumo de la cuota (sin costo).
GET · PUT /branchesSincronizar las sucursales con tu sistema.
GET /media/{tenant}/{message}Descargar adjuntos con una URL firmada válida por 7 días.

Webhooks

Registrás una URL y la plataforma te envía cada evento firmado con el estándar Standard Webhooks. Si tu servidor no responde, reintenta durante unas 28 horas.

  • message.received, message.sent, message.status
  • contact.opted_out, contact.opted_in
  • ticket.created, ticket.closed, conversation.handoff
  • template.status, ping

Envíos sin duplicados

Mandá el mismo Idempotency-Key si reintentás un pedido: la plataforma devuelve la respuesta original en lugar de enviar el mensaje dos veces.

¿Tenés un proyecto en mente?

Contanos qué necesitás atender, automatizar o conectar y armamos una propuesta a tu medida.