Saltar al contenido principal
Usa las operaciones de conversaciones salientes cuando un contacto existente deba recibir una plantilla aprobada de WhatsApp y continuar con un agente de IA. Para el flujo general, consulta Crear una conversación.

Elige la operación

Ambas usan el host de la API REST https://api-connect-us.bridge.new y una x-api-key desde el servidor. Sus esquemas de solicitud son distintos. Lee la referencia de conversaciones salientes de agentes o la referencia de LeadScout según la operación que uses.

Antes de enviar

  1. Consulta el contacto o créalo si no existe. Estas operaciones exigen que el contacto ya exista en el espacio de trabajo; no necesitas crear antes una conversación o un mensaje independiente.
  2. Lista los agentes. Elige uno disponible y lee su lines[].providerChannelId. El ID de un agente de IA no es el de un usuario humano de Bridge.
  3. Elige una plantilla aprobada. Consulta sus variables, proporciona los valores que debe aportar quien hace la solicitud y comprueba que esté aprobada para la línea de destino. Para este requisito solo necesitas el paso de consulta; no ejecutes el paso de creación de conversación de esa guía antes de una operación de conversación saliente.
  4. Confirma que tu negocio tenga la autorización necesaria. Si envías consent.status: "GRANTED", incluye capturedAt: así registras tu declaración de consentimiento.
En la operación de agentes, contact.providerChannelId debe pertenecer al agente elegido si lo envías. Es una preferencia: se puede seleccionar otra línea elegible de ese agente. En LeadScout se respeta la línea explícita. Identificadores y sus fuentes explica qué valores usar.

Envía una solicitud mínima de agente

Reemplaza todos los valores de ejemplo. Este caso asume que la plantilla elegida no tiene variables obligatorias pendientes que solo puedas proporcionar tú. Define forceSend deliberadamente; el ejemplo mantiene explícito el comportamiento predeterminado.
Una solicitud exitosa devuelve 201. Conserva conversation.id e interpreta estos campos de respuesta: En una creación nueva, ni reutilización ni recuperación se establecen en true. Puede haber recuperación con forceSend: false. Los mensajes adicionales se guardan en el orden de la solicitud: no asumas que esperan la respuesta del contacto. El flujo compartido almacena seguimientos de texto y no adjunta sus mediaIds. Usa la opción documentada template.media para medios en la plantilla inicial o el flujo de adjuntos de mensajes para un mensaje separado.

Qué hace forceSend

La disponibilidad se evalúa para la conversación de este contacto en cada línea. Que una línea esté ocupada en este contexto no significa que la línea corporativa de WhatsApp esté reservada globalmente para un solo contacto. Las reglas siguientes siguen sujetas a la disponibilidad del agente y a las validaciones de plantilla, consentimiento y sesión. En pantallas estrechas, desplázate horizontalmente para comparar las cuatro opciones. Si usas teclado, puedes enfocar esta comparación y recorrerla con las flechas.
En la tabla, …0007 es BRIDGE_AI_LEADSCOUT_0007 y …0008 es BRIDGE_AI_LEADSCOUT_0008. Una conversación liberada solo se puede recuperar si lo permite su indicador de recuperación almacenado; forceSend no la convierte en recuperable. En ambas rutas, una sesión de LeadScout abierta y sin vencer bloquea una nueva solicitud de conversación saliente con 409 BRIDGE_AI_LEADSCOUT_0017. Si no se puede finalizar una sesión vencida, se devuelve 409 BRIDGE_AI_LEADSCOUT_0018. Un Service Agent puede continuar su sesión de servicio abierta y vigente; una sesión vencida se cierra antes de abrir otra.
forceSend no es una clave de idempotencia. Repetir una solicitud exitosa puede agregar otra plantilla y más mensajes. No omite conversaciones bloqueadas, comprobaciones de sesión, reglas de aprobación ni validaciones. Si se agota el tiempo de espera, el resultado queda incierto: inspecciona la conversación antes de decidir si vuelves a enviar la solicitud.

Maneja conflictos y efectos parciales

Liberar una conversación es una operación independiente con efectos de negocio. Un 204 no tiene cuerpo de respuesta. Libera una conversación solo cuando realmente quieras terminarla.

Solicita una transferencia de LeadScout a una persona

Para una conversación de LeadScout, obtén el ID o correo del usuario humano de Bridge y llama al endpoint de transferencia manual. Esta operación es específica de LeadScout: no asumas que aplica a un Service Agent.
Un 202 confirma la aceptación de la solicitud. Conserva trackingId y conversationId; la aceptación no demuestra que haya terminado la asignación ni que una persona haya leído o respondido la conversación. La referencia no publica un endpoint de seguimiento de transferencias: no construyas uno a partir de trackingId. Continúa con el manejo de errores y la recepción de webhooks para conectar este flujo a tu sistema.