Encuentra la respuesta que buscas

Endpoints de consulta disponibles en API Live

En el detalle técnico debajo encontrarás los diferentes endpoints disponibles para encolar, cerrar una conversación en Live o mantener el diálogo con los agentes. Luego, en este material podrás visualizar más info sobre cómo recibir las respuestas.

Ten en cuenta que es necesario cuentes previamente con el botId y el botToken para iniciar el uso de Live de manera externa. Ambos los solicitarás por Service Request.

Los datos que están en rojo serán considerados obligatorios, de acá en adelante.

1. Encolar: en este endpoint necesitaremos el id del grupo destino perteneciente a Live y los datos del usuario que desea hablar con un agente.

     ● Endpoint: POST https://gateway.aivo.co/api/v1/live-handler/queue/external 

     ● Body

    "botId": INT, 

    "groupsId": [INT], 

    "botToken": "STRING", 

    "protocolId": 28, 

    "user": { 

        "hash": "STRING", 

        "firstname": "STRING", 

        "lastname":"STRING", 

        "email":"STRING", 

        "phone": "STRING", 

        "extra": [ 

       "Dato A": "STRING", 

       "Dato B": "INT" 

    }, 

    "status": "queued", 

    "lastSender": "user" 

}

    ● Datos clave

  1. En el campo groupsId deberá ir el ID del grupo, al que se quiere encolar la conversación. Este lo obtendrás del endpoint GET https://live-public-api.agentbot.net/group. 
  2. El hash debe ser único por usuario y recomendamos que sea alfanumérico, como se ve en este ejemplo, b9e8f46b56efbacea7a6a4cdab3.
  3. Al hash enviado le concatenaremos _botToken. Tenlo en cuenta para el resto de los endpoint.
  4. Los campos protocolId, status y lastSender deberán ser fijos, siguiendo con el ejemplo del ítem body: 28, “queued” y “user”
  5. El campo extra en el array de user sirve para agregar cualquier dato que el agente desea observar a la hora de atender, por ejemplo, un nro de ticket; y debe tener el siguiente formato:
"extra": [
       "Ticket": 2024
 ]

    ● Respuesta: el endpoint en caso de éxito devolverá un conversationId, el cual permanecerá en estado queued hasta que se atienda, en la sección.  

 {
     "conversationId": "e169f21f-6f7e-44cd-9bf5-dd6b51d8b24b",

     "customToken": “token”,
     "messageQueueId": 0,
     "notAttended": 0
 }

    ● Curl ejemplo

 curl --location 'https://live-handler.agentbot.net/conversations/queue/external' \
 --header 'Content-Type: application/json' \
 --data '{
     "botId": 1000,
     "groupsId": [
         2179
     ],
     "botToken": "7114636682f3c091557758286be4a94c",
     "protocolId": 1,
     "user": {
         "hash": "b9e8f46b56efbacea7a6a4cdab",
         "firstname": "Brian",
         "lastname": “Rodriguez”,
         "email": null,
         "phone": "5492236638596",
         "username": null,
         "picture": null,
         "extra": [

]
     },
     "status": "queued",
     "lastSender": "user"
 }'

2. Mensaje a Agente: cuando la conversación sea atendida por un agente, va a ser necesario comunicarle al mismo lo que escribe el cliente. 

    ● Endpoint: POST https://gateway.aivo.co/api/v1/live-handler/{{conversationId}}/client/message

    ●  Body  

 {
     "message": [
         {
             "action": "text",
             "value": "Hola, mi nombre es Tomas y necesito saber el saldo de mi cuenta",
             "source": "user"
         }
     ]
 }

    ● Datos clave

  1. ConversationId deberá ser el conseguido en el endpoint de encolado. 
  2. El campo action determinará qué tipo de mensaje se envió, puede ser text, file or image. 
  3. En el campo value en el caso de ser un file o image, debes colocar la dirección del S3 o donde está almacenado el dato. 

    ● Curl ejemplo

 curl --location 'https://live-handler.agentbot.net/conversations/16d1e0f9-6243-4284-8a57-16460a265908/client/message' \
 --header 'Content-Type: application/json' \
 --data '{
     "message": [
         {
             "action": "text",
             "value": "Hola, mi nombre es Tomas y necesito saber el saldo de mi cuenta.",
             "source": "user"
         }
     ]
 }'


Este sitio web almacena cookies en tu computadora. Estas cookies se utilizan para recopilar información sobre cómo interactúas con nuestro sitio web y nos permite recordarte. Utilizamos esta información para mejorar y personalizar tu experiencia de navegación y para obtener estadísticas y métricas sobre nuestros visitantes tanto en este sitio web como en otros medios. Para obtener más información sobre las cookies que utilizamos, consulta nuestra Política de privacidad.

Si rechazas, tu información no será rastreada cuando visites este sitio web. Se usará una sola cookie en tu navegador para recordar tu preferencia de no ser rastreado.