API Mensajería
A continuación se muestra las api mas importante a utilizar para establecer una funcionalidad completa con Lynn en caso de mayor información del conjunto completo de api puede hacer uso de la siguiente Url [https://documenter.getpostman.com/view/4212906/UVCCd3Ap] (Messenger Service)
Generación de token de autenticación
Uno de los requisitos necesarios para el uso del Api Lynn es verificar que el consumidor (usuario o servicio) tenga autorización para el uso del API; Para ello lo primero que debe hacer es obtener el token de autenticación.
Puntos Importantes:
• Método Protegido: No, se puede consultar directamente.
• Ruta: /api/LynnService/CreateToken
• Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
BODY | { "accessToken": "string",
} accessToken Cadena de texto que forma parte de los parámetros de autenticación, se genera al momento de crear las credenciales de seguridad del tenant y ya no se puede modificar. Ejemplo: 90234137e9752f1. Nota: Es similar a un usuario. accessTokenSecret Cadena de texto que forma parte de los parámetros de autenticación, se genera al momento de crear las credenciales de seguridad del tenant y ya no se puede modificar. Ejemplo: 66d83a1b-4da4-42f5-9883-44b8f32c36d5. Tenant Identificador numérico del tenant. Se obtiene en la interfaz gráfica de Lynn. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Nota: Esta respuesta se debe incluir en la cabecera de las peticiones siguientes para poder manejar la seguridad. Ejemplo: Variable Authorization: bearer eyJhbGciOiJIUzoEzKw4ly8jgmmAoxJbg Json Respuesta {
Us_2c239NG4" } |
401 | Unauthorized | Sin Respuesta. |
Retornar una sesión de chat activa
Retorna una sesión por su ID siempre y cuando este activa. En caso de que no se encuentre activa entonces creará una nueva sesión y le asignará el mismo id enviado como parámetro.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/SessionByCriteria/{criteria}/{value}/{inactivityTimeout}/{clientIdentification}/{callIId}/{capacityType}/{clientId}/{channelId}/{tenant}/{verbose}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
criteria | URL | Cadena de texto con el criterio del registro que se va a buscar, tiene un formato común. Ejemplo: rut_usuario. |
value | URL | Valor correspondiente al criterio que se estableció en el parámetro anterior, tiene un formato de cadena de texto abierto. Ejemplo: 231231, abcds 232dsdda, 0000-0000-0000-0000. |
inactivityTimeout | URL | Tiempo de inactividad en segundos para comparar y solo obtener las últimas interacciones el cual su último request es menor al valor de este parámetro, este tiempo de inactividad no aplica mientras está en la cola de la estrategia. |
clientIdentification | URL | Nombre del cliente, se debe mantener en toda la conversación. |
callId | URL | Identificador de la llamada de voz asociada, en el caso de que aplique, sino se puede enviar con el valor “unknown”. |
capacityType | URL | Tipo de capacidad del canal. Las capacidades válidas son: - UNKNOWN = 0 - PhoneCall = 1 - DeviceVoice = 2 - WebViewer = 3 - OfficialChannel = 4, - UnOfficialChannel = 5 |
clientId | URL | Identificador del cliente, es un uniqueidentifier que se debe mantener en toda la conversación. |
channelId | URL | Identificador del canal por el cual se está comunicando el cliente y que es registrado en la plataforma que soporta el tenant. |
tenant | URL | El valor del id de tenant configurado para el cliente. |
verbose | URL | Nivel de logs a generar [1…5]. |
BODY | Ud_X Parámetros custom enviados al api que corresponden a los user data, se puede enviar el json con cualquier cantidad de estos parámetros. Json Respuesta {
} |
Respuestas:
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Nota: La respuesta puede ser una lista de este objeto, el cual, es solo un ejemplo y puede variar en algunos parámetros. Esta respuesta corresponde a un documento de elasticsearch, parámetros importantes: _index Código del índice donde se encuentra el documento. _source Objeto que describe el tipo de información almacenada en el documento. Level Nivel del mensaje, indica si el tipo de registro es de confirmación o de log. Ejemplo: - Dialog para los mensajes de chat. - Debug para los mensajes de log. - Audit para los mensajes de auditoria. - Error para los mensajes de error. subLevel Corresponde a una actividad específica según el nivel especificado y depende de la clasificación genérica que indique el cliente. Criteria Criterio de búsqueda para identificar los registros de una sesión, por ejemplo: carnet de identidad de cliente, rut, entro otros. CriteriaValue Valor del criterio de búsqueda definido en el parámetro anterior. Host Nombre o dirección IP del servidor de Lynn que genero el registro. Session Identificador de la sesión proporcionada en la llamada que se logró recuperar. Json Respuesta {
|
401 | Unauthorized | Sin Respuesta. |
Forzar una intención en una sesión ya creada
Utilizando esta función se puede inducir en Lynn una determinada intención sin la respectiva evaluación de texto en el motor cognitivo.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/SendTextMessageWithIntent/{sessionId}/{capacityType}/{clientId}/{intent}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión a la cual desea enviar el mensaje. |
capacityType | URL | Tipo de capacidad del canal. Las capacidades válidas son: - UNKNOWN = 0 - PhoneCall = 1 - DeviceVoice = 2 - WebViewer = 3 - OfficialChannel = 4, - UnOfficialChannel = 5 |
clientId | URL | Identificador del cliente, es un uniqueidentifier que se debe mantener en toda la conversación. |
intent | URL | La intención a forzar. Esto provoca que Lynn ejecute dicha intención sin evaluación de texto asociada. |
BODY | El texto del mensaje a enviar. Se envía el body en formato de texto plano. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Esta respuesta corresponde a una respuesta donde la intención solicitada no existe, parámetros importantes: sessionId Identificador de la sesión actual, generada al momento de la creación de la sesión y cuya vigencia será igual a la establecida en el parámetro timeout al momento de crear la sesión. intent número de la intención solicitada, si su valor es null corresponde a que la intención que se intentó forzar no existe. eventMessages Lista de objetos que corresponden a los eventos de los mensajes establecidos en la respuesta para su procesamiento visual. event Identifica el tipo de evento asociado al mensaje, existen 43 tipos de eventos de mensajes, para ver la lista completa ir a Eventos de Mensajes. messageType Tipo de mensaje de la respuesta: 1 Menú, 2 Evento, 3 Texto, se encuentra en cada objeto de la lista eventMessages. code Sub-Evento generado en la respuesta del mensaje, la lista completa la puede encontrar en Sub-Eventos de Mensajes. availableByVoice Valor booleano que indica si el evento de mensaje está disponible por voz. availableByText Valor booleano que indica si el evento de mensaje está disponible en texto. Json Respuesta {
} |
401 | Unauthorized | Sin Respuesta. |
Enviar un mensaje de texto en una sesión establecida
Utilizando esta función se puede se puede enviar un mensaje de texto desde el cliente a Lynn.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación
Ruta:
/api/LynnService/SendTextMessage/{sessionId}/{capacityType}/{clientId}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión a la cual desea enviar el mensaje. |
capacityType | URL | Tipo de capacidad del canal. Las capacidades válidas son: - UNKNOWN = 0 - PhoneCall = 1 - DeviceVoice = 2 - WebViewer = 3 - OfficialChannel = 4, - UnOfficialChannel = 5 |
clientId | URL | Identificador del cliente, es un uniqueidentifier que se debe mantener en toda la conversación. |
BODY | El texto del mensaje a enviar. Se envía el body en formato de texto plano. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Esta respuesta corresponde a una respuesta donde la intención solicitada no existe, parámetros importantes: sessionId Identificador de la sesión actual, generada al momento de la creación de la sesión y cuya vigencia será igual a la establecida en el parámetro timeout al momento de crear la sesión. intent número de la intención solicitada, si su valor es null corresponde a que la intención que se intentó forzar no existe. eventMessages Lista de objetos que corresponden a los eventos de los mensajes establecidos en la respuesta para su procesamiento visual. event Identifica el tipo de evento asociado al mensaje, existen 43 tipos de eventos de mensajes, para ver la lista completa ir a Eventos de Mensajes. messageType Tipo de mensaje de la respuesta: 1 Menú, 2 Evento, 3 Texto, se encuentra en cada objeto de la lista eventMessages. code Sub-Evento generado en la respuesta del mensaje, la lista completa la puede encontrar en Sub-Eventos de Mensajes. availableByVoice Valor booleano que indica si el evento de mensaje está disponible por voz. availableByText Valor booleano que indica si el evento de mensaje está disponible en texto. Json Respuesta {
} |
401 | Unauthorized | Sin Respuesta. |
Enviar mensaje inducido
Induce al Bot a enviar un mensaje establecido previamente por el cliente.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/SendInducedMessage/{tenant}/{sessionId}/{availableByVoice}/{availableByText}/{capacityType}/{clientId}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión a la cual desea enviar el mensaje. |
availableByVoice | URL | Valor booleano que indica si el evento de mensaje está disponible por voz. |
availableByText | URL | Valor booleano que indica si el evento de mensaje está disponible en texto. |
capacityType | URL | Tipo de capacidad del canal. Las capacidades válidas son: - UNKNOWN = 0 - PhoneCall = 1 - DeviceVoice = 2 - WebViewer = 3 - OfficialChannel = 4, - UnOfficialChannel = 5 |
clientId | URL | Identificador del cliente, es un uniqueidentifier que se debe mantener en toda la conversación. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | sessionId Identificador de la sesión actual, generada al momento de la creación de la sesión y cuya vigencia será igual a la establecida en el parámetro timeout al momento de crear la sesión. intent Número de la intención solicitada, si su valor es null corresponde a que la intención que se intentó forzar no existe. eventMessages Lista de objetos que corresponden a los eventos de los mensajes establecidos en la respuesta para su procesamiento visual. event Identifica el tipo de evento asociado al mensaje, existen 43 tipos de eventos de mensajes, para ver la lista completa ir a Eventos de Mensajes. messageType Tipo de mensaje de la respuesta: 1 Menú, 2 Evento, 3 Texto, se encuentra en cada objeto de la lista eventMessages. code Sub-Evento generado en la respuesta del mensaje, la lista completa la puede encontrar en Sub-Eventos de Mensajes. availableByVoice Valor booleano que indica si el evento de mensaje está disponible por voz. availableByText Valor booleano que indica si el evento de mensaje está disponible en texto. Json Respuesta {
} |
401 | Unauthorized | Sin Respuesta. |
Solicita el valor de un parámetro de configuración
Obtiene el valor que tiene un parámetro de configuración de un tenant usando como criterio de búsqueda el nombre de la configuración.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/GetConfiguration/{tenant}/{configurationName}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
configurationName | URL | Nombre de la configuración que se le asignó al momento de crearlo. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Name Esto representa el nombre de la configuración que acaba de consultar y es idéntico al valor colocado en el campo configurationName. value Este es el valor que tiene esa configuración. Json Respuesta {
} |
401 | Unauthorized | Sin Respuesta. |
Modificar el valor de un parámetro de configuración
Modificar el valor que tiene un parámetro de configuración de un tenant usando como criterio de búsqueda el nombre de la configuración.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/SetConfiguration/{tenant}/{configurationName}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
configurationName | URL | Nombre de la configuración que se le asignó al momento de crearlo. |
BODY | Valor de configuración a establecer en texto plano. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Name Esto representa el nombre de la configuración que acaba de consultar y es idéntico al valor colocado en el campo configurationName. value Este es el nuevo valor que va a manejar esa configuración. Json Respuesta {
} |
401 | Unauthorized | Sin Respuesta. |
Leer mensajes de una sesión
Ejecutando periódicamente esta función se pueden obtener todos los mensajes disponibles en Lynn para el cliente. Se recomienda que para ambientes de voz la frecuencia de ejecución de esta función debe ser de al menos un segundo. Para ambientes de chat esta frecuencia debe ser configurada en 4 segundos.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/ReadMessages/{tenant}/{sessionId}/{capacityType}/{clientId}/{date}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión a la cual desea enviar el mensaje. |
capacityType | URL | Tipo de capacidad del canal. Las capacidades validas son: - UNKNOWN = 0, - PhoneCall = 1, - DeviceVoice = 2, - WebViewer = 3, - OfficialChannel = 4, - UnOfficialChannel = 5 |
clientId | URL | Identificador del cliente, es un uniqueidentifier que se debe mantener en toda la conversación. |
date | URL | Fecha en que se realiza el requerimiento. |
Los mensajes recibidos pueden ser de 3 tipos:
- Mensajes de texto.
- Mensajes de menú.
- Mensajes de eventos.
Todos los mensajes vienen correlacionados con un campo llamado Correlation el cual sirve para ordenarlos.
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Corresponde a una respuesta donde Lynn ofrece todos los mensajes disponibles para el cliente, parámetros importantes: sessionId Identificador de la sesión actual, generada al momento de la creación de la sesión y cuya vigencia será igual a la establecida en el parámetro timeout al momento de crear la sesión. textMessages Lista donde se encuentra data de texto, texto de voz y audio de los mensajes. menuMessages Lista donde se encuentra el título, el título de voz y audio del menú. eventMessages Lista donde se encuentra el evento y el código de los mensajes. awaitingMenu Booleano que indica si el menú está en espera. awaitingText Booleano que indica si el texto está en espera. awaitingValidation Si la validación está en espera, contiene dos string BussinessType, Regex y dos booleanos AvailableByVoice y AvailableByText. awaitingType Tipo de espera. supportCancelation Es un booleano, true: si está activo en la conversación, false: si la conversación es nula o la intención manipulada de la conversación es nula devuelve false. Json Respuesta {
} Ejemplo 2 {
} |
401 | Unauthorized | Sin Respuesta. |
Enviar la respuesta a un menú
A través de este método se puede enviar la respuesta de un menú.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta: /api/LynnService/SendMenuResponseMessage/{tenant}/{sessionId}/{ capacityType}/{clientId}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
Tenant | URL | Identificador del tenant. |
sessionId | URL | Identificador de la sesión a la que se desea enviar el mensaje. |
capacityType | URL | Tipo de capacidad del canal. Las capacidades validas son: - UNKNOWN = 0, - PhoneCall = 1, - DeviceVoice = 2, - WebViewer = 3, - OfficialChannel = 4, - UnOfficialChannel = 5 |
clientId | URL | Identificador del cliente, es un uniqueidentifier que se debe mantener en toda la conversación. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Corresponde a una respuesta donde Lynn envía la respuesta de un menú, parámetros importantes: sessionId Identificador de la sesión actual, generada al momento de la creación de la sesión y cuya vigencia será igual a la establecida en el parámetro timeout al momento de crear la sesión. eventMessages Lista de objetos que corresponden a los eventos de los mensajes establecidos en la respuesta para su procesamiento visual. messageType Tipo de mensaje de la respuesta: 1 Menú, 2 Evento, 3 Texto, se encuentra en cada objeto de la lista eventMessages. code Sub-Evento generado en la respuesta del mensaje, la lista completa la puede encontrar en Sub-Eventos de Mensajes. availableByVoice Valor booleano que indica si el evento de mensaje está disponible por voz. availableByText Valor booleano que indica si el evento de mensaje está disponible en texto. Json Respuesta {
} |
401 | Unauthorized | Sin Respuesta. |
Adicionar/actualizar entidades a una sesión ya creada y en uso
Las entidades son las variables que se pueden utilizar durante la ejecución de una sesión. Dichas variables son pasadas al inicio de la creación de la sesión y son compartidas por todas las conversaciones que se originen durante el tiempo de vida de la sesión. Además, cuando se crea una conversación dentro de una sesión como producto de una evaluación cognitiva, a esta conversación también se le adicionan todas las entidades que el motor cognitivo haya podido inferir utilizando el texto de evaluación. Utilizando esta función pueden adicionarse entidades (variables) extra a una sesión en uso.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta: /api/LynnService/SetEntity/{tenant}/{sessionId}/{entityName}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión. |
entityName | URL | Nombre de la entidad a adicionar/actualizar. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Success Valor booleano que indica si se pudo establecer o no la entidad para la sesión en curso. Error Mensaje de error que se incluye solamente cuando el Success es false en cualquier otro caso se omite de la respuesta, esto indica el motivo por el cual falló al intentar agregar la nueva entidad. Json Respuesta {
} |
401 | Unauthorized | Sin respuesta. |
Obtener Entidad
Solicita el valor de una entidad referenciado por el identificador de la sesión de una interacción activa para un tenant en particular.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/GetEntity/{tenant}/{sessionId}/{entityName}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión de la interaccion. |
entityName | URL | Nombre de la entidad a obtener. |
Respuestas
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Este es el valor actual de la entidad en texto plano, entregado en el body de la respuesta. "WebSimulator" |
401 | Unauthorized | Sin respuesta. |
Cancelar la Interacción Actual
Cancela la intención actual del cliente, se mantiene la sesión activa y se sigue interactuando, pero con otro contexto de respuestas.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta: /api/LynnService/CancelCurrentInteraction/{tenant}/{sessionId}/{reason}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión que se desea cancelar. |
reason | URL | Razón por la cual se desea cancelar la interacción. |
Respuestas:
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Este es el valor actual de la entidad en texto plano, entregado en el body de la respuesta. sessionId Identificador de la sesión actual, generada al momento de la creación de la sesión y cuya vigencia será igual a la establecida en el parámetro timeout al momento de crear la sesión. eventMessages Lista de objetos que corresponden a los eventos de los mensajes establecidos en la respuesta para su procesamiento visual. id Identificador de la solicitud de cancelación. Json Respuesta {
} |
401 | Unauthorized | Sin respuesta. |
Terminar una sesión
Todas las sesiones de Lynn pueden ser terminadas unilateralmente por parte del motor de interacciones de Lynn si se alcanza el tiempo de inactividad utilizado (inactivityTimeout) al momento de crear dicha sesión. Adicionalmente es recomendable que las sesiones que ya no se usen sean terminadas lo cual aumentará el rendimiento de Lynn debido a que no utilizará recursos para monitorear sesiones en desuso.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta: /api/LynnService/EndSession/{tenant}/{sessionId}
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión que se desea terminar. |
Respuestas:
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | sessionId Identificador de la sesión actual, generada al momento de la creación de la sesión y cuya vigencia será igual a la establecida en el parámetro timeout al momento de crear la sesión. messages Lista de mensajes que se le enviaran al cliente antes de cerrar la sesión. intent Número de la intención solicitada, si su valor es null corresponde a que la intención que se intentó forzar no existe. eventMessages Lista de objetos que corresponden a los eventos de los mensajes establecidos en la respuesta para su procesamiento visual. event Identifica el tipo de evento asociado al mensaje, existen 43 tipos de eventos de mensajes, para ver la lista completa ir a Eventos de Mensajes. messageType Tipo de mensaje de la respuesta: 1 Menú, 2 Evento, 3 Texto, se encuentra en cada objeto de la lista eventMessages. code Sub-Evento generado en la respuesta del mensaje, la lista completa la puede encontrar en Sub-Eventos de Mensajes. availableByVoice Valor booleano que indica si el evento de mensaje está disponible por voz. availableByText Valor booleano que indica si el evento de mensaje está disponible en texto. Json Respuesta {
} |
401 | Unauthorized | Sin respuesta. |
Obtener historial de la conversación por sesión
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/GetHistoricalDialoguesBySession/{tenant}/{sessionId}
Método: POST
Tabla de parámetros
Parámetros | Locación | Descripción |
---|---|---|
Tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
SessionId | URL | Identificador de la sesión que se desea obtener. |
Respuestas:
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | [
] |
401 | Unauthorized | Sin respuesta. |
Obtener historial de la conversación por tenant
[AQUÍ VA INFO]
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta:
/api/LynnService/GetHistoricalDialoguesByTenant/{tenant}
Método: POST
Tabla de parámetros
Parámetros | Locación | Descripción |
---|---|---|
Tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
Respuestas:
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | |
401 | Unauthorized | Sin respuesta. |
500 | Internal Error | Internal Server Error. |
Enviar archivo adjunto
Se pueden enviar archivos adjuntos los cuales son almacenados en la memoria de Lynn para ser compartidos entre el cliente y el ejecutivo de call center que atienda la interacción. En caso de que la sesión se encuentre siendo entendida por un bot o en una cola de espera este archivo adjunto solamente es entregado mediante una url relativa a la memoria de Lynn. En caso en que este siendo efectivamente atendido por un agente de call center, este archivo es transferido a la plataforma de chat que soporte dicha interacción.
Puntos Importantes:
- Método Protegido: Si.
- Incluir en la cabecera de la petición el token del método Generación de token de autenticación.
Ruta: /api/LynnService/UploadFile
Método: POST
Tabla de parámetros
Parámetro | Locación | Descripción |
---|---|---|
tenant | URL | Valor numérico que relaciona el id de tenant configurado en Lynn. |
sessionId | URL | Identificador de la sesión que se desea recuperar. |
Content-Type: multipart/form-data | ||
file | BODY | FileToUpload El nombre del fichero. |
Respuestas:
Código http | Descripción | Cuerpo de la respuesta |
---|---|---|
200 | Success | Success Propiedad que indica que si se pudo cargar el archivo. sessionId Sesión de la interacción actual del cliente en formato GUID, se genera cuando se inicia el chat. fileId Identificar del archivo en la plataforma en formato GUID para buscar el archivo en la plataforma donde se encuentre guardado. URL Dirección web donde se encuentra el archivo a descargar, la base de la dirección viene proporcionada por la dirección de instalación de Lynn. Json Respuesta {
} |
401 | Unauthorized | Sin Respuesta. |
Nota:📑 Descargar un archivo adjunto Los archivos por descargar son notificados al cliente mediante el evento: Data, utilizando el siguiente formato:
FileID = [URL del archivo a descargar]
Esta URL es relativa a dirección en la cual está instalado Lynn.
Tratamientos de archivos
Cuando un archivo es adjuntado a una conversación de chat por parte de Agente de WDE. Lynn lo notifica al cliente mediante un evento de tipo Data con el nombre: FileID y en el Value la url desde la cual descargar el archivo.
Ejemplo:
{
` `"success": true,
` `"messages": [
` `{
` `"Code": 64,
` `"Data": {
` `"FileID": "http://172.17.233.15:8080/genesys/2/chat/Desarrollo/00008aE6BKVN17K0/file/01745C66A67BBF4C/download"
` `},
` `"Details": "",
` `"Event": 32,
` `"Source": "InduceDataEvent",
` `"ExtensionData": {},
` `"AvailableByText": true,
` `"AvailableByVoice": true,
` `"Capacities": [],
` `"ConversationId": "00000000-0000-0000-0000-000000000000",
` `"Correlation": 2,
` `"Date": "/Date(1550231169083)/",
` `"Description": null,
` `"Id": "76e605b3-345b-4ac1-9619-b50531b40f58",
` `"Intent": null,
` `"MessageType": 2,
` `"Part": 0,
` `"PartName": "Agent Name",
` `"SessionId": "6741df0b-4962-4c6e-aa35-47a9f8b4f93a"
` `}
` `],
` `"count": 2,
` `"awaitingType": "",
` `"awaitingText": true,
` `"awaitingMenu": false,
` `"awaitingValidation": null,
` `"supportCancelation": true,
` `"nonEventcount": 0
}
Eventos de Mensajes
Cada uno de estos eventos a su vez se pueden desglosar en unos sub-eventos que describan la actividad específica. Para conocer si un evento los códigos de los sub-eventos ver Sub-Eventos de Mensajes.
Código Evento | Nombre del evento |
---|---|
0 | UNKNOWN |
1 | Error |
2 | NEWSESSION |
3 | DELETEDSESSION |
4 | MENUMESSAGESENT |
5 | TEXTMESSAGESENT |
6 | MUSTFILLENTITY |
7 | EXECUTEDACTION |
8 | EXECUTINGACTIONERROR |
9 | EXECUTINGCONTEXTCHANGEERROR |
10 | EXECUTINGDIALOGERROR |
11 | CONVERSATIONEND |
12 | IGNOREDMESSAGE |
13 | INVALIDVALUE |
14 | SESSIONRESTARTED |
15 | ACTIONNOTIMPLEMENTEDFORVOICE |
16 | DISCARDEDIMAGESFORCHANNEL |
17 | RESPONSETEXTFROMCHANNEL |
18 | RESPONSEMENUFROMCHANNEL |
19 | CONVERSATIONSTART |
20 | INDUCEDMESSAGESENT |
21 | WEBREDIRECT |
22 | INTENTNOTFOUND |
23 | TRANSFERTOEXECUTIVE |
24 | INTENSIONCANCELED |
25 | TYPING |
26 | STOPTYPING |
27 | STARTBACKGROUNDWORK |
28 | STOPBACKGROUNDWORK |
29 | REQUIREDMENUSPECIFICATION |
30 | REQUIREDMENUSPECIFICATIONWITHOPTIONS |
31 | AMBIGUOUSTEXT |
32 | DATA |
33 | CHATCONVERSATIONEND |
34 | CHATAGENTCONNECTED |
35 | DEBUG |
36 | EXECUTINGACTIONJSONREQUESTERROR |
400 | ECO |
500 | ENTITYSETTOMEMORY |
600 | SESSIONBACKGROUNDWORKERSTART |
700 | REMEMORYENTITY |
Sub-Eventos de Mensajes
Código Evento Padre | Código Sub-evento | Nombre del evento |
---|---|---|
1 | 0 | TENANT NOT FOUND |
1 | UNKNOWN ERROR CREATING SESSION REST CLIENT | |
5 | ERROR END SESSION FROM REST CLIENT | |
6 | ERROR READ MESSAGES FROM REST CLIENT | |
8 | ERROR RESTARTING SESSION FROM REST CLIENT | |
11 | ERROR SENDMENURESPONSEMESSAGE REST CLIENT | |
15 | ERROR REQUIREDMENUSPECIFICATIONWITHOPTIONS REST CLIENT | |
16 | ERROR SET ENTITY REST CLIENT | |
17 | ERROR CANCELCURRENTINTERACTION REST CLIENT | |
20 | ERROR SENDTEXTMESSAGE REST CLIENT | |
22 | ERROR INDUCE MESSAGE REST CLIENT | |
25 | ERROR MULTICHANNELSESSION CANCELCURRENTINTENT | |
27 | ERROR MULTICHANNELSESSION_DAEMON_DOWORK | |
33 | ERROR MULTICHANNELSESSION_DAEMON_DOWORK ACTIONJSONREQUEST POST | |
34 | ERROR MULTICHANNELSESSION_DAEMON_DOWORK CONTEXT CHANGE | |
40 | ERROR MULTICHANNELSESSION SENDTEXTMESSAGE | |
42 | ERROR MULTICHANNELSESSION SENDTEXTMESSAGE | |
43 | ERROR MULTICHANNELSESSION SENDINDUCEDMESSAGE | |
44 | ERROR MULTICHANNELSESSION SENDTEXTMESSAGE | |
46 | ERROR MULTICHANNELSESSION SENDINDUCEDMESSAGE | |
48 | ERROR MULTICHANNELSESSION SENDANSWERTOMENU | |
49 | ERROR MULTICHANNELSESSION WAITFORMENU | |
62 | ERROR MULTICHANNELSESSION STARTCHATCONVERSATION | |
65 | ERROR MULTICHANNELSESSION INDUCEDATAEVENT | |
67 | ERROR SESSIONSTATUS SOAP | |
69 | ERROR SESSIONSTATUS SOAP | |
70 | ERROR CREATESESSION SOAP | |
72 | ERROR DELETESESSION SOAP | |
73 | ERROR READMESSAGE SOAP | |
75 | ERROR SESSIONRESTARTED SOAP | |
79 | ERROR SENDMENURESPONSEMESSAGE SOAP | |
83 | ERROR SENDMENURESPONSEBYLEVENSHTEINDISTANCE SOAP | |
84 | ERROR CANCELCURRENTINTERACTION SOAP | |
87 | ERROR SENDTEXTMESSAGE | |
89 | ERROR SENDINDUCEDMESSAGE | |
200 | ERROR EVALUATEEXTENDEDPROPERTIES EVALUATION | |
201 | ERROR MULTIPLE DEFINITIONS FOR THE SAME ENTITY GETPARAMETERSFORDELEGATIONCOMMAD | |
202 | ERROR ENTITY NOT FOUND IN DATABASE | |
203 | ERROR ENTITY NOT MENU IN EVALUATION OF ACTION CONDITION | |
204 | ERROR ENTITY EXTENDED PROPERTY EVALUATION OF ACTION CONDITION | |
205 | ERROR GENERIC EVALUATION OF ACTION CONDITION | |
206 | ERROR GENERIC EVALUATION OF ACTION CONDITION | |
207 | ERROR ACTIONJSONREQUEST EVALUATION PARAMETERS | |
208 | ERROR EVALUATING PARAMETERS FOR AUDIO DIALOG | |
209 | ERROR EVALUATING PARAMETERS FOR WEB REDIRECT | |
210 | ERROR GENERIC ERROR ON ACTIONS PREPARATION | |
211 | ERROR INTENT NOT FOUND IN DB CONVERSATIONINTENT. CREATEFROMID | |
212 | ERROR GENERIC CONVERSATIONINTENT.CREATEFROMID | |
213 | ERROR GENERIC STARTCHATCONVERSATION | |
214 | ERROR GENERIC GENERATEACTIONFROMDB | |
215 | ERROR CREATING SESSION MULTICHANNELSESSION CREATE | |
216 | ERROR FINALIZECHATCONVERZATION | |
217 | ERROR GENERIC SENDTEXTMESSAGE | |
2 | 2 | NEW SESSION FROM REST CLIENT SESSIONSTATUS |
3 | NEW SESSION FROM REST CLIENT CREATESESSION | |
68 | SESSIONSTATUS SOAP | |
69 | CREATESESSION SOAP | |
3 | 4 | END SESSION FROM REST CLIENT |
71 | FROM SOAP | |
218 | ||
4 | 9 | MESSAGE SENT FROM REST CLIENT |
76 | FROM SOAP | |
5 | 18 | TEXTMESSAGE SENT REST CLIENT |
85 | FROM SOAP | |
6 | 26 | MULTICHANNELSESSION_DAEMON_DOWORK |
7 | 32 | MULTICHANNELSESSION_DAEMON_DOWORK |
9 | 35 | MULTICHANNELSESSION_DAEMON_DOWORK |
11 | 29 | MULTICHANNELSESSION_DAEMON_DOWORK |
12 | 14 | IGNORE MESSAGE FROM REQUIREDMENUSPECIFICATIONWITHOPTIONS REST CLIENT |
23 | FROM MULTICHANNELSESSION | |
41 | FROM MULTICHANNELSESSION SENDTEXTMESSAGE | |
78 | FROM SENDMENURESPONSEMESSAGE SOAP | |
82 | FROM SENDMENURESPONSEBYLEVENSHTEINDISTANCE SOAP | |
13 | 47 | MULTICHANNELSESSION SENDANSWERTOMENU |
14 | 7 | SESSION RESTARTED FROM REST CLIENT |
74 | FROM SOAP | |
15 | 37 | MULTICHANNELSESSION_DAEMON_DOWORK |
17 | 19 | RESPONSETEXTFROMCHANNEL FROM REST API |
86 | FROM SOAP | |
18 | 10 | RESPONSE MENU FROM CHANNEL REST CLIENT |
77 | FROM SOAP | |
19 | 45 | MULTICHANNELSESSION SENDTEXTMESSAGE |
20 | 21 | INDUCE MESSAGE SENT FROM REST CLIENT |
88 | FROM SOAP | |
21 | 36 | MULTICHANNELSESSION_DAEMON_DOWORK |
22 | 28 | MULTICHANNELSESSION_DAEMON_DOWORK |
214 | ERROR GENERIC GMS CHAT INTERNALLOGOUT | |
215 | ERROR GENERIC GMS CHAT SESSION CREATED | |
216 | ERROR GENERIC GMS WORKER PROCESS_WORKER_DOWORK | |
217 | ERROR GENERIC MULTICHANNELSESSION_DAEMON_DOWORK | |
24 | 24 | MULTICHANNELSESSION CANCELCURRENTINTENT |
27 | 50 | MULTICHANNELSESSION INDUCEBACKGROUNDWORKAGENT |
52 | MULTICHANNELSESSION INDUCEBACKGROUNDWORKBOT | |
54 | MULTICHANNELSESSION INDUCEBACKGROUNDWORKUSER | |
56 | MULTICHANNELSESSION INDUCETYPINGEVENTFOMBOT | |
58 | MULTICHANNELSESSION INDUCETYPINGEVENTFOMUSER | |
28 | 51 | MULTICHANNELSESSION INDUCEBACKGROUNDWORKAGENT |
53 | MULTICHANNELSESSION INDUCEBACKGROUNDWORKBOT | |
55 | MULTICHANNELSESSION INDUCEBACKGROUNDWORKUSER | |
57 | MULTICHANNELSESSION INDUCETYPINGEVENTFOMBOT | |
59 | MULTICHANNELSESSION INDUCETYPINGEVENTFOMUSER | |
29 | 12 | REQUIREDMENUSPECIFICATION FROM REST CLIENT |
82 | FROM SOAP | |
30 | 13 | REQUIREDMENUSPECIFICATIONWITHOPTIONS FROM REST CLIENT |
80 | FROM SOAP | |
31 | 30 | MULTICHANNELSESSION_DAEMON_DOWORK |
32 | 64 | MULTICHANNELSESSION INDUCEDATAEVENT |
63 | MULTICHANNELSESSION INDUCEDATAEVENT | |
33 | 60 | MULTICHANNELSESSION FINALIZECHATCONVERZATION |
34 | 66 | MULTICHANNELSESSION INDUCEGENERICCONNECTEVENT |
35 | 61 | MULTICHANNELSESSION STARTCHATCONVERSATION |
36 | 31 | MULTICHANNELSESSION_DAEMON_DOWORK |
Limitaciones declaradas
Cuotas de consumo
rate-limit-by-key los métodos no tienen limitación del tipo rate-limit.
Cuotas por producto
Producto Básico: se activa por defecto al consumir la API. Permite:
- Periodo: 43.200 segundos (12 horas)
- Calls: 10.000
- Bandwidth: 102.400 kilobytes (100 megabytes)
Producto Premium: es necesario solicitarlo a través de partner Lynn o asesor comercial, quien sumistrará el Ocp-Apim-Subscription-Key válido. Permite:
- Periodo: 43.200 segundos (12 horas)
- Calls: 20.000
- Bandwidth: 997.200 kilobytes (997.2 megabytes)
Para ejecutar un reporte con el producto Premium es necesario activar en los headers el parámetro Ocp-Apim-Subscription-Key, tal ycomo se muestra a continuación:
Descripción de errores
Código del error | Descripción |
---|---|
403 | Out of bandwidth quota. Quota will be replenished in T |