Chat API
Last updated
Last updated
Chat API es un canal genérico con una API pública diseñada para permitir al Agente conectarse a Canales Finales para los que no existe un conector incorporado dentro de la Plataforma. Puede organizar un canal genérico de este tipo utilizando el Conector Genérico de la API de Chat.
Debe crear y configurar un canal de proyecto con el conector "Chat API".
Vaya a la pestaña Canales del proyecto.
Pulse el botón Crear canal.
Se abrirá el panel de selección de canal final.
Seleccione Chat API.
Se abrirá el panel de creación del Canal Proyecto.
Opcionalmente, introduzca un título para este Canal de Proyectos en el campo Nombre con el marcador de posición Nuevo canal.
Introduzca la dirección de su servidor en el campo URL del webhook del canal como https://{dirección_del_servidor}, donde {dirección_del_servidor} es la dirección de la Plataforma.
Importante: El método especificado se añadirá a la dirección cuando el Agente envíe una respuesta a una petición del canal/servidor del cliente: https://your_company.com/send_message*.*
Si es necesario, establezca el token en el campo Token del canal.
Importante: El token debe especificarse si la autenticación del lado del cliente se realiza a través de la cabecera. Más detalles en .
Copie el enlace webhook para el canal del agente (URL webhook Chatbot) haciendo clic en el botón Copiar este webhook.
Para guardar el Canal Proyecto sin activarlo, pulse el botón CREAR.
Para guardar y activar el Canal Proyecto, haga clic en el botón CREAR Y ACTIVAR.
a. El Canal Proyecto se guardará y activará si:
i. Se publica el proyecto;
ii. El token del campo token del canal es único (no hay canales activos del mismo tipo con el mismo token);
iii. La dirección del canal es accesible;
iv. El webhook del canal se ha registrado correctamente.
b. El Canal Proyecto se guardará pero no se activará si no se cumplen una o varias condiciones.
Para cancelar la creación del Canal Proyecto, pulse el botón CANCELAR.
Para editar un Canal de Proyectos, haga clic en su ficha en la lista de Canales de Proyectos.
Para editar cualquier campo, haga clic en él e introduzca un nuevo valor.
Para aplicar los cambios a un Canal Proyecto activado, pulse el botón APLICAR.
a. Los cambios se aplicarán si:
i. Se publica el proyecto;
ii. El token del campo token del canal es único (no hay canales activos del mismo tipo con el mismo token);
iii. La dirección del canal es accesible;
iv. El webhook del canal se ha registrado correctamente.
b. Los cambios no se aplicarán si no se cumplen una o varias condiciones.
Para desactivar el Canal Proyecto, pulse el botón DESACTIVAR.
Para aplicar los cambios a un Canal Proyecto no activado, pulse el botón GUARDAR.
Para aplicar los cambios y activar el Canal Proyecto, pulse el botón GUARDAR Y ACTIVAR
a. Los cambios se aplicarán y el Canal Proyecto se activará si:
i. Se publica el proyecto;
ii. El token del campo token del canal es único (no hay canales activos del mismo tipo con el mismo token);
iii. La dirección del canal es accesible;
iv. Se puede registrar el webhook del canal.
b. Los cambios se aplicarán pero el Canal Proyecto no se activará si no se cumplen una o varias condiciones.
Para cancelar los cambios, pulse el botón CANCELAR.
Para eliminar el Canal Proyecto, pulse el botón ELIMINAR.
HTTPS, POST con tipo de contenido JSON
Punto final de la API para recibir solicitudes por canal de proyectos
URL del webhook del chatbot especificada al conectar el para aceptar solicitudes.
Formato del punto final (URL del webhook de Chatbot):
Nube
https://{server_address}/connector/chatapi/chatapi_message/{token}/bot_api_webhook
En las instalaciones
https://{server_address}/connector/chatapi/chatapi_message/bot_api_webhookWhere:
{server_address} —Dirección de la plataforma,
{token} — token.
Solicitar estructura corporal:
Importante: La estructura del objeto Mensaje depende del tipo de mensaje que se transmita (texto, archivo, clic de botón) y puede constar de diferentes tipos de datos y campos.
Evento es el tipo de evento sujeto a procesamiento por el Agente de acuerdo a una cierta lógica.Eventos soportados:
new_message - un evento transmitido al Agente por el canal/servidor del cliente que contiene un Mensaje del usuario Bot.
chat_id es un identificador de Chat/Dialog/Usuario Bot en el lado del cliente (en la aplicación social conocida como canal final), es la base para crear un Chat con este Usuario Bot en la Plataforma.
Visitante es un objeto opcional que contiene información sobre el usuario del bot.
Formato visitante:
Ejemplo de visitante:
Mensaje es un objeto que contiene información enviada al Agente para su procesamiento.
A continuación se muestran ejemplos del contenido del objeto Mensaje para distintos tipos de mensajes.
Texto
Formato del mensaje:
Archivo
Formato del mensaje:
Si kind == attachment entonces Public Chat API obtiene los datos del archivo y los convierte en un mensaje de texto para el Agente en el siguiente formato: file:{file_type}|{file_id}|{file_url} . El Agente no descarga el archivo.
Los datos de servicio son cualquier objeto que contenga datos personalizados enviados al Agente para su procesamiento (por ejemplo, para utilizar estos datos en el Diálogo). Objeto opcional.
Pulsación de botones
Formato del mensaje:
Estado HTTP: 200 OK
BODY:
El canal del proyecto está inactivo o hay un error en el token del webhook Chatbot en la URL:
HTTP status: 400 Bad Request
BODY:
Falta un parámetro de requisito en el cuerpo de la solicitud
HTTP estado: 400 Bad Request
URL incorrecta
HTTP estado: 404: No encontrado
Cuerpo de la petición JSON incorrecto: parámetro de tipo o evento no válido
HTTP estado: 200 OK
A continuación se muestran los formatos, ejemplos y descripciones de las solicitudes de la API de chat público al servidor cliente.
Las solicitudes se envían a la URL del servidor cliente introducida en el Canal Webhook : URL al conectar el Canal Proyecto.
{method} —un método de la API de chat público.
Métodos de la API de chat público:
/send_message — envío de un mensaje por parte del Agente al Usuario Bot.
/close_chat — enviando un evento para cerrar el Diálogo.
La autorización puede realizarse a través de:
Único URL.
Especifique la URL que contiene el token en el campo Channel webhook: URL al conectar el Canal Proyecto. El campo Channel webhook: Token no debe rellenarse:
Header
Especifique el token de autorización en el campo Channel webhook: Token al conectar el canal del proyecto. El token del webhook Channel: Token será sustituido en la cabecera por defecto.
Formato de autorización cuando se utiliza un token:
Autorización: Token {token}
Ejemplo de autorización:
Autorización: Token ac650a3c369a4b9599ad52ab71943712
Método: /send_message
Tipo de solicitud: POST
Tipo de contenido: application/json
Parámetros de la cadena de consulta: not required
Formato URL en caso de que el Agente envíe un mensaje al visitante:
https://{server_address}/send_message
donde {server_address} es la dirección de la Plataforma.
Formato del cuerpo de la solicitud:
Importante: La estructura del objeto Mensaje depende del tipo de mensaje transmitido (texto, fichero, botones).
chat_id - identificador del Chat/Dialog/Usuario Bot en el servidor del cliente (en una aplicación de comunicación - el Canal Final), en base al cual se crea el Chat con este Usuario Bot en la Plataforma.
Mensaje -un objeto que contiene información enviada al Agente para su procesamiento.
Tipos de contenido admitidos
A continuación se muestran ejemplos del contenido del objeto Mensaje para distintos tipos de mensajes.
Texto
Formato del mensaje:
Ejemplo de mensaje:
Archivo
Formato del mensaje:
Ejemplo de mensaje:
Importante: el envío de archivos se realiza desde la ranura de adjuntos.
Mensaje con botones
Formato del mensaje:
Ejemplo de mensaje:
Importante: El identificador del botón sólo puede contener letras latinas, números, guiones y guiones bajos, y no debe tener más de 24 caracteres.
Estructura general de la solicitud
Método: /close_chat
Tipo de solicitud: POST
Tipo de contenido: application/json
Parámetros de cadena de consulta: not required
Formato URL en caso de que el Agente envíe un mensaje al visitante:
https://{server_address}/close_chat
donde {dirección_servidor} es la dirección de la plataforma.
Formato del cuerpo de la solicitud:
Importante: El cierre de diálogos se implementa desde la ranura Cambiar modo de chat. El diálogo se cierra automáticamente en la plataforma del chatbot.
Importante: La API de chat público tiene un conjunto limitado de funciones. Si necesita que el Agente utilice otros métodos del lado de la API del cliente (por ejemplo, transferir el Diálogo a un operador/departamento específico), entonces el trabajo con estos métodos se puede configurar dentro del Agente utilizando el constructor de peticiones (Petición Externa).
La interacción con el servidor cliente se produce a través de la API pública "Chat API" según la configuración de la cuenta en el servicio cliente.
chat.id
visitor.id
visitor.fields.name
No
visitor.fields.login
visitor.fields.phone
visitor.fields.email
visitor.fields.site
service_data
no
channel_chat_id
Si
Format:<client chat_id>|omnichannel
Los mensajes llegarán al Usuario Bot si el Agente escribe primero en un chat existente
Depende del canal
Botones
Si
Al hacer clic en el botón aparece el texto de la etiqueta del botón.
Transferencia al operador
No
La transferencia a un operador a través de la ranura Cambiar modo de chat no se admite en la implementación actual de la funcionalidad de la Plataforma. La transferencia al operador puede realizarse "manualmente" a través de Solicitud externa
Transferencia de archivos como archivos del Agente
No
Transferencia de archivos como enlaces desde el Agente
Si
Recepción de un archivo del Usuario Bot en un script
Si
Formato: archivo:Tipo de archivo|ID archivo|Referencia archivo
Entrega de mensajes de más de 1000 caracteres del Agente al Usuario Bot
Depende del canal
Uso de Markdown
No
Envío con notificación
No
{server_address} — address,