Conectá tu ERP, sistema de facturación o planillas con Risposta. Leé los pedidos que el bot toma por WhatsApp, mantené precios y stock sincronizados desde tu sistema, y recibí cada pedido confirmado en tiempo real con webhooks firmados.
Toda request lleva una API key en el header Authorization. Las keys se generan desde el panel de Risposta (Integraciones → Crear key), se muestran una sola vez y se pueden revocar cuando quieras.
curl https://crm.risposta.com.py/api/v1/productos \
-H "Authorization: Bearer rsp_live_xxxxxxxxxxxx"
Límite: 120 requests por minuto por key. Si te pasás, recibís 429 con header Retry-After.
Base URL: https://crm.risposta.com.py/api/v1 — todos los datos quedan aislados al cliente dueño de la key.
| Método | Ruta | Descripción |
|---|---|---|
| GET | /productos | Lista el catálogo completo (nombre, SKU, marca, unidad, precio, estado de stock). |
| PATCH | /productos/{id} | Actualiza precio, stock_estado (disponible | limitado | sin_stock), activo, nombre o descripcion. Ideal para sincronizar desde tu ERP: el bot cotiza siempre al día. |
| GET | /pedidos | Lista los últimos pedidos con sus ítems. Filtro opcional ?estado=confirmado_cliente. |
| GET | /pedidos/{id} | Un pedido puntual con ítems, zona y datos del comercio. |
| PATCH | /pedidos/{id} | Cambia el estado respetando el flujo (confirmado_cliente → validado → entregado, o cancelado) y/o la nota. |
curl -X PATCH https://crm.risposta.com.py/api/v1/productos/42 \
-H "Authorization: Bearer rsp_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "precio": 185000, "stock_estado": "disponible" }'
Registrá una URL https desde el panel (Integraciones → Agregar webhook) y Risposta le hace POST con cada evento, en menos de un minuto:
| Evento | Cuándo |
|---|---|
pedido.confirmado | El cliente confirmó el pedido con el bot por WhatsApp. |
pedido.validado | El negocio validó el pedido (panel o API). |
pedido.entregado | El pedido se marcó como entregado. |
pedido.cancelado | El pedido se canceló. |
lead.nuevo | Un contacto nuevo le escribió al negocio. |
pedido.confirmado){
"evento": "pedido.confirmado",
"pedido": {
"id": 118, "codigo": "P-0118", "estado": "confirmado_cliente",
"telefono": "5959XXXXXXXX", "subtotal": 1450000,
"fecha_entrega_estimada": "2026-08-21",
"items": [
{ "nombre": "Pollo entero congelado", "unidad": "caja", "cantidad": 5, "subtotal": 900000 }
]
},
"delivery_id": 301,
"emitido_at": "2026-08-19T12:30:00.000Z"
}
Cada entrega viene firmada con HMAC-SHA256 del body usando el secreto del webhook (whsec_…), en el header X-Risposta-Signature. Verificala antes de procesar:
// Node.js
const crypto = require("crypto");
function verificar(req, secreto) {
const esperada = "sha256=" + crypto
.createHmac("sha256", secreto)
.update(req.rawBody, "utf8")
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(esperada), Buffer.from(req.headers["x-risposta-signature"] || "")
);
}
Respondé 2xx rápido (procesá async si hace falta). Si tu endpoint falla, reintentamos 3 veces con backoff (1, 10 y 60 minutos). Todo queda en el log de entregas del panel, donde también podés disparar un evento de prueba.
| Código | Significado |
|---|---|
401 | Key ausente, inválida o revocada. |
403 | La key no tiene el scope necesario. |
404 | El recurso no existe o no pertenece a tu cuenta. |
429 | Rate limit — mirá el header Retry-After. |
Si usás un ERP, sistema de facturación o planillas y querés que hable con tu WhatsApp, escribinos: armamos la integración con vos.
Hablar por WhatsApp