Canal WhatsApp #

Configura un bot con Meta Cloud API o Twilio y consulta su estado.

Prepara tu terminal una vez

Variables para bash o zsh
export FLOWORDR_BASE_URL="https://app.flowordr.com"
export FLOWORDR_API_KEY="<tu-api-key>"
export FLOWORDR_TENANT_ID="<tu-tenant-id>"

Ejecuta este bloque antes de los cURL. Sustituye los valores entre ángulos por tus credenciales; ningún ejemplo contiene claves reales.

Los endpoints de administración aceptan API key mediante el esquema predeterminado FlowordrAuth. Los webhooks son para Meta/Twilio y no se invocan con una API key de cliente. Actualizar un bot usa PATCH, no PUT.

GET /api/whatsapp/bots

NombreTipoObligatorioValores aceptados / rangoDefaultDescripción
X-Api-Key (header)stringSíClave activa del tenant—Autenticación.
X-Tenant-Id (header)UUIDCondicionalTenant autorizadoTenant de la claveNecesario si la clave permite varios tenants.
cURL
curl "$FLOWORDR_BASE_URL/api/whatsapp/bots" -H "X-Api-Key: $FLOWORDR_API_KEY" -H "X-Tenant-Id: $FLOWORDR_TENANT_ID"

Respuesta: 200 lista de bots.

POST /api/whatsapp/bots

NombreTipoObligatorioValores aceptados / rangoDefaultDescripción
X-Api-Key (header)stringSíClave activa del tenant—Autenticación.
X-Tenant-Id (header)UUIDCondicionalTenant autorizadoTenant de la claveNecesario si la clave permite varios tenants.
providerTypebody integer enumSí0 = Cloud, 1 = Twilio—El JSON del backend recibe el valor numérico.
displayNamebody stringSíHasta 100 caracteres—Nombre visible.
phoneNumberOrSenderbody stringSíPhone Number ID de Meta o número E.164 de Twilio—Remitente.
accessTokenOrSidbody stringSíToken Meta o Account SID Twilio—Credencial del proveedor.
secretOrAuthTokenbody stringNoApp Secret Meta o Auth Token Twilio—Validación del proveedor.
webhookVerifyTokenbody stringNoToken de verificación—Webhook Meta.
welcomeMessagebody stringNoTexto—Bienvenida.
defaultRagOptions / defaultDocumentIdsbody object / integer[]NoOpciones RAG / IDs del tenantDefaults de WhatsAppConfiguración del asistente.
rateLimitPerMinutebody integer | nullNo0 o más; 0 sin límite20Límite por número.
cURL
curl -X POST "$FLOWORDR_BASE_URL/api/whatsapp/bots" -H "X-Api-Key: $FLOWORDR_API_KEY" -H "X-Tenant-Id: $FLOWORDR_TENANT_ID" -H "Content-Type: application/json" -d '{"providerType":0,"displayName":"Soporte","phoneNumberOrSender":"<phone-number-id>","accessTokenOrSid":"<token-de-meta>","secretOrAuthToken":"<app-secret>","webhookVerifyToken":"<verify-token>"}'

Respuesta: 201 bot; 400 configuración inválida; 409 conflicto.

GET /api/whatsapp/bots/{botId}

NombreTipoObligatorioValores aceptados / rangoDefaultDescripción
X-Api-Key (header)stringSíClave activa del tenant—Autenticación.
X-Tenant-Id (header)UUIDCondicionalTenant autorizadoTenant de la claveNecesario si la clave permite varios tenants.
botIdpath UUIDSíID de un bot del tenant—Bot por consultar o cambiar.
cURL
curl "$FLOWORDR_BASE_URL/api/whatsapp/bots/<bot-id>" -H "X-Api-Key: $FLOWORDR_API_KEY" -H "X-Tenant-Id: $FLOWORDR_TENANT_ID"

Respuesta: 200 bot; 404 si no existe.

GET /api/whatsapp/bots/{botId}/detail

NombreTipoObligatorioValores aceptados / rangoDefaultDescripción
X-Api-Key (header)stringSíClave activa del tenant—Autenticación.
X-Tenant-Id (header)UUIDCondicionalTenant autorizadoTenant de la claveNecesario si la clave permite varios tenants.
botIdpath UUIDSíID de un bot del tenant—Bot por consultar o cambiar.
cURL
curl "$FLOWORDR_BASE_URL/api/whatsapp/bots/<bot-id>/detail" -H "X-Api-Key: $FLOWORDR_API_KEY" -H "X-Tenant-Id: $FLOWORDR_TENANT_ID"

Respuesta: 200 detalle sin secretos; 404 si no existe.

PATCH /api/whatsapp/bots/{botId}

NombreTipoObligatorioValores aceptados / rangoDefaultDescripción
X-Api-Key (header)stringSíClave activa del tenant—Autenticación.
X-Tenant-Id (header)UUIDCondicionalTenant autorizadoTenant de la claveNecesario si la clave permite varios tenants.
botIdpath UUIDSíID de un bot del tenant—Bot por consultar o cambiar.
Campos de CreateWhatsAppBotRequestbody objectNoCampos presentes se actualizan; isActive: booleanSin cambiosActualización parcial.
cURL
curl -X PATCH "$FLOWORDR_BASE_URL/api/whatsapp/bots/<bot-id>" -H "X-Api-Key: $FLOWORDR_API_KEY" -H "X-Tenant-Id: $FLOWORDR_TENANT_ID" -H "Content-Type: application/json" -d '{"displayName":"Soporte actualizado"}'

Respuesta: 200 bot actualizado; 400 o 404.

DELETE /api/whatsapp/bots/{botId}

NombreTipoObligatorioValores aceptados / rangoDefaultDescripción
X-Api-Key (header)stringSíClave activa del tenant—Autenticación.
X-Tenant-Id (header)UUIDCondicionalTenant autorizadoTenant de la claveNecesario si la clave permite varios tenants.
botIdpath UUIDSíID de un bot del tenant—Bot por consultar o cambiar.
cURL
curl -X DELETE "$FLOWORDR_BASE_URL/api/whatsapp/bots/<bot-id>" -H "X-Api-Key: $FLOWORDR_API_KEY" -H "X-Tenant-Id: $FLOWORDR_TENANT_ID"

Respuesta: 204 sin contenido; 404 si no existe.