Chatfuel
Integraciones

Cómo integrar con la JSON API

Chatfuel te permite conectar cualquier servicio externo (CRM, sistema de reservas, inventario o backend propio) mediante el plugin JSON API.

Última actualización

Chatfuel te permite conectar cualquier servicio externo (CRM, sistema de reservas, inventario o un backend propio) mediante el plugin JSON API. Una vez agregado, funciona como una REST API normal: envías solicitudes, recibes respuestas y usas los datos dentro de tus flujos.

Para herramientas SaaS populares como Slack, Google Sheets, Notion o HubSpot, puedes omitir la JSON API por completo: el AI Co-Worker puede conectarlas por ti mediante un enlace de autorización seguro; solo pídeselo en el chat.

Nota: Configurar una integración con la JSON API es uno de los pocos pasos que el AI Co-Worker no puede completar por ti: los flujos se construyen manualmente en el Flow Builder. El Co-Worker puede llevarte directamente a la página correcta: solo pídeselo.

Paso 1: Agrega el plugin JSON API

  1. Abre tu flujo en el Flow Builder.
  2. Agrega un nuevo bloque de acción y selecciona JSON API en la lista de plugins.
  3. El plugin aparece como un bloque que puedes configurar con una URL, un método, encabezados y un cuerpo.

Paso 2: Configura la solicitud

Configura el bloque JSON API como cualquier llamada a una REST API:

CampoQué ingresar
URLLa URL completa del endpoint del servicio externo (p. ej., https://api.example.com/bookings)
MethodGET, POST, PUT, PATCH o DELETE
HeadersLos encabezados necesarios, como Authorization o Content-Type: application/json
BodyCarga JSON para solicitudes POST/PUT/PATCH

Puedes usar atributos de usuario de Chatfuel en cualquier campo encerrándolos entre llaves dobles: {{attribute_name}}. Esto te permite pasar datos dinámicos (como el nombre del cliente, su teléfono o el producto seleccionado) a tus llamadas a la API.

Paso 3: Mapea la respuesta

Después de que la API devuelve una respuesta, puedes guardar valores de la respuesta JSON en atributos de usuario de Chatfuel. Usa la notación JSONPath para extraer campos específicos:

  • $.status: campo de nivel superior
  • $.data.order_id: campo anidado
  • $.items[0].name: primer elemento de un arreglo

Los atributos mapeados quedan disponibles en los bloques siguientes: mensajes de texto, condiciones u otras llamadas a la API.

Casos de uso comunes

  • Sincronización con CRM: envía los datos del lead (nombre, teléfono, correo) a tu CRM cuando un cliente completa un formulario.
  • Consulta de pedidos: obtén el estado de un pedido desde tu backend y muéstralo en el chat.
  • Confirmación de reservas: crea una cita en tu sistema de agenda y devuelve la confirmación al cliente.
  • Verificación de inventario: comprueba la disponibilidad de un producto antes de recomendarlo.

Consejos

  • Incluye siempre Content-Type: application/json en los encabezados cuando envíes un cuerpo JSON.
  • Prueba primero tu endpoint fuera de Chatfuel (p. ej., con Postman o curl) para asegurarte de que devuelve la respuesta esperada.
  • Mantén las respuestas pequeñas: devuelve solo los campos que necesitas.
  • Si el servicio externo requiere autenticación, guarda las claves de API en atributos de usuario o escríbelas directamente en el encabezado (nunca las expongas al usuario final).

Solución de problemas

ProblemaSolución
La solicitud devuelve un errorRevisa la URL, el método y los encabezados. Prueba la misma solicitud en Postman.
Los datos de la respuesta no se mapeanVerifica que el JSONPath coincida con la estructura real de la respuesta.
Tiempo de espera agotado o sin respuestaEl servidor externo puede estar lento o caído. Agrega un mensaje alternativo para el usuario.
Falla la autenticaciónConfirma que tu clave de API o token sea correcto y no haya expirado.

En esta página