Saltar al contenido principal
POST
Iniciar conversación saliente con un Contact como Agent específico

Autorizaciones

x-api-key
string
header
requerido

Copy the API key as provided by the Bridge Console.

Parámetros de ruta

workspaceId
string<uuid>
requerido

Identificador único del workspace (UUID v4).

Ejemplo:

"b6cf1c4a-2b1e-4e63-8f3e-0f9d1a2a1234"

agentId
string<uuid>
requerido

Identificador único del Agent (UUID v4), según GET /agents.

Ejemplo:

"4e362e2b-67b2-4a7e-a9df-e9ecf9141be8"

Cuerpo

application/json

Cuerpo de la solicitud para iniciar una conversación saliente atendida por un Agent específico.

contact
Contact · object
requerido

Contact al que se dirige esta conversación saliente. Ya debe existir en el workspace.

template
Template · object
requerido

Plantilla inicial que se enviará.

additionalMessages
AgentOutboundFollowUp · object[]

Hasta cinco seguimientos de texto guardados en la conversación después de la plantilla inicial, en el orden indicado, y enviados como la plantilla. Los adjuntos (mediaIds) aún no se envían.

Maximum array length: 5
agentContext
AgentOutboundContext · object | null

Notas y medios guardados en la conversación como contexto para el Agent y los Bridge Users.

Evidencia de consentimiento declarada por la empresa y registrada sin modificaciones en la conversación.

handoffOverride
AgentOutboundHandoffOverride · object | null

Preasigna el Bridge User que recibe la transferencia de la conversación saliente.

brandId
string | null

ID opcional de marca. Si se indica, solo son elegibles las líneas del Agent vinculadas a esa marca; si no hay ninguna, la solicitud falla con 404. Omítelo para considerar todas las líneas del Agent.

Ejemplo:

null

campaignId
string | null

Referencia opcional de campaña guardada en la conversación para auditoría e informes.

Ejemplo:

null

forceSend
boolean
predeterminado:false

Controla qué ocurre cuando ninguna línea del Agent está libre o es recuperable. Siempre tiene prioridad una línea libre, seguida de una línea con una conversación liberada recuperable con este Contact, sea cual sea el valor de esta opción. Cuando ninguna existe: con false (predeterminado), la solicitud falla con 409 BRIDGE_AI_LEADSCOUT_0008; con true, se reutiliza una línea ocupada por una conversación activa con este Contact, dando preferencia a una que controle este Agent. Si la conversación elegida está controlada por otro Agent o por un Bridge User, la solicitud falla con 409 BRIDGE_AI_AGENT_OUTBOUND_0006 y no se escribe nada; libérala primero y reintenta después. Nunca se usan líneas cuya conversación esté bloqueada o se haya liberado sin recuperación; por tanto, si ninguna línea está ocupada por una conversación activa, la solicitud falla con 409 BRIDGE_AI_LEADSCOUT_0008 incluso con true.

Ejemplos:

false

true

Respuesta

Respuesta satisfactoria

Cuerpo de respuesta de un inicio saliente de Agent satisfactorio.

conversation
Conversation · object
requerido

Conversación que ahora controla el Agent: nueva, reutilizada (alreadyInitiated) o recuperada (recovered).

contact
Contact · object
requerido

Contacto con el que se inició la conversación.

templateSent
AgentTemplateSent · object | null

Resumen de la plantilla guardada para abrir la conversación.

additionalMessagesPersisted
integer
predeterminado:0

Número de mensajes de seguimiento guardados en la conversación.

Ejemplos:

0

3

alreadyInitiated
boolean
predeterminado:false

True cuando esta solicitud satisfactoria reutilizó una conversación activa existente mediante forceSend=true. False para creación o recuperación; consulta recovered para distinguir esas rutas. Es informativo: una reutilización satisfactoria también guarda la nueva plantilla y los seguimientos, por lo que repetir la solicitud puede agregar mensajes.

Ejemplos:

false

true

recovered
boolean
predeterminado:false

True cuando se recuperó una conversación liberada que el Contact tenía en la línea, en lugar de crear otra. La recuperación reemplaza el contexto saliente anterior y agentContext. Las líneas recuperables se usan incluso con forceSend=false.

Ejemplos:

false

true