Paso HTTP request en Chat Flows
Consulte un sistema externo por HTTPS desde un flujo y use la respuesta en los pasos siguientes. Desde dónde se hace la solicitud, qué puede llamar y cómo asignar la respuesta.
Un flujo de Chat Flows puede consultar un sistema externo por HTTPS y usar la respuesta en la conversación: buscar un pedido, comprobar un saldo, obtener una fecha de entrega. El paso se llama HTTP request (grupo de la paleta Integrate) en el editor de Chat Flows de la aplicación WASync en Bitrix24.
Qué hace el paso
- Construye la solicitud a partir de la configuración del paso: método (GET o POST), URL, encabezados
y, para POST, un cuerpo. Las
{{VARIABLES}}de pasos anteriores y del lead o la negociación se sustituyen: en la URL se codifican como URL y en un cuerpo JSON se escapan como JSON. - Realiza la solicitud y espera la respuesta hasta 10 segundos.
- Asigna la respuesta JSON a variables del flujo con la response mapping: una ruta JSON
(
data.order.status,items[0].id) a la izquierda y un nombre de variable (ESTADO) a la derecha. Los pasos siguientes las usan como cualquier respuesta:{{ESTADO}}en un mensaje, una condición en un Branch, un valor en Fill in a field.
Cada llamada también define tres variables:
| Variable | Valor |
|---|---|
HTTP_STATUS | El código de estado HTTP con el que respondió el sistema (200, 404, …), vacío si no respondió nadie. |
HTTP_OK | true si la respuesta es 2xx; de lo contrario, false. |
HTTP_ERROR | Vacío si todo salió bien; de lo contrario, un código corto: http_404, timeout, blocked_url, upstream_unreachable, budget_exceeded, breaker_open. |
Dos conexiones de salida
El nodo tiene una conexión normal (éxito) y una conexión roja de error. Se toma la conexión de error
cuando la llamada agota el tiempo, se rechaza la URL, el sistema responde 4xx o 5xx
o falla la red. Si la conexión de error no está conectada, el flujo continúa por
la conexión normal con HTTP_OK = false, de modo que un Branch sobre HTTP_OK aún puede reaccionar.
Desde dónde se hace la solicitud
La solicitud no se hace desde los servidores de WASync. La realiza un
Cloudflare Worker dedicado (egress.wasync.app) que no tiene acceso a los sistemas
internos de WASync. Dos consecuencias:
- La llamada llega a su sistema desde los rangos de IP de Cloudflare, no desde una dirección fija de WASync. Si su API solo admite IP de una lista, use una API key o una firma en su lugar; no hay una IP de WASync que añadir a la lista de permitidas.
- Una API lenta o que falla nunca puede retrasar ni duplicar mensajes de WhatsApp: la llamada se ejecuta fuera del circuito de mensajes y el flujo espera en el paso hasta recibir la respuesta o agotar el tiempo.
Qué puede llamar el paso
| Regla | Valor |
|---|---|
| Esquema y puerto | Solo https en el puerto 443 |
| Host | Un nombre de dominio público. Se rechazan las direcciones IP, localhost, .local, .internal, los nombres de una sola etiqueta y los dominios propios de WASync. |
| Métodos | GET, POST |
| Encabezados | Hasta 16. Se rechazan los encabezados de transporte y de proxy (Host, Transfer-Encoding, Proxy-*, Cookie, X-Forwarded-*, …); Authorization, X-Api-Key, Content-Type, Accept y similares son válidos. |
| Cuerpo de la solicitud | Hasta 64 KB |
| Respuesta | Se leen hasta 256 KB; los cuerpos más largos se cortan y en Test se informa truncated. |
| Tiempo de espera | 10 segundos |
| Redirecciones | Como máximo 2, cada una comprobada con las mismas reglas |
| Presupuesto | 600 llamadas por espacio de trabajo por hora. Un host que falla 5 veces seguidas se pausa durante 5 minutos (mientras tanto se toma la conexión de error). |
| Licencia | La licencia del número debe estar activa; el paso no se ejecuta en una prueba. |
El user agent es siempre WASync-Flows/1.0 (+https://wasync.app).
Secretos
Marque un encabezado como secret (una API key, un bearer token) y WASync lo guarda cifrado. No se vuelve a mostrar en el editor, no se exporta con el flujo y nunca se escribe en los registros ni en el historial de auditoría. Para cambiarlo, escriba un valor nuevo; para conservarlo, deje el campo vacío al guardar.
Pruebe antes de guardar
Test request en el panel del paso realiza la llamada real con valores de ejemplo para las variables y muestra el estado, el tiempo empleado, las variables asignadas y el cuerpo. Use as sample response guarda ese cuerpo en el paso: el simulador lo usa en lugar de llamar al sistema, así que todo el flujo se puede previsualizar sin conexión.
Ejemplo: estado de un pedido
- Question: "¿Cuál es tu número de pedido?" (guardado como
PEDIDO) - HTTP request:
GET https://erp.example.com/api/orders/{{PEDIDO}}, encabezadoX-Api-Key(secret), asignacióndata.status→ESTADO,data.eta→ENTREGA - Branch sobre
HTTP_OK:true→ MessageTu pedido está {{ESTADO}}, llega el {{ENTREGA}}.·false→ MessageNo pude consultar tu pedido ahora, un asesor te escribe en breve.→ Hand to a person
No incluido en esta versión
PUT, PATCH y DELETE; OAuth hacia el sistema externo; reintentos automáticos; descargas de archivos; espera de una devolución de llamada del sistema. Para esos casos, use la receta alternativa: el flujo escribe un campo del CRM, una regla de automatización de Bitrix24 avisa a su sistema, su sistema escribe el resultado de vuelta mediante la REST API de Bitrix24 y la regla WASync: Send WhatsApp Message lo envía.
Cada llamada se registra en el historial de auditoría del espacio de trabajo (host y ruta, estado, duración y qué variables se definieron; nunca el cuerpo ni los encabezados).
Traiga un número de otro proveedor
Mueva a WASync un número de WhatsApp Business API que ya utiliza con otro proveedor, con el asistente de la aplicación, y conserve su reputación ante Meta.
Leads desde chats de WhatsApp
Cómo WASync convierte una conversación nueva de WhatsApp en un lead de Bitrix24, a quién se asigna, qué ocurre cuando el número ya está en su CRM y la ventana de recontacto que mantiene en el mismo registro a un cliente que escribe de nuevo después de un lead cerrado.