Graphlogic-latam
  • Getting Started
    • 🚀Guía de documentos
    • 📑Tutoriales de bots
      • 📋Creación de un robot de encuestas sencillo
      • ☔Creación de un bot con integración del servicio meteorológico
      • 🗣️Crear un bot con reconocimiento de voz
    • ❓PREGUNTAS FRECUENTES
    • 📔Qué preparar antes de crear tu Bot
      • 🔘Definir el objetivo y la funcionalidad necesaria
      • 💾Preparar los datos para el robot
      • 🧍Estilo de comunicación y humanización del bot
    • 📕Qué es Graphlogic.ai
    • 🗓️Historia de los comunicados
    • ▶️Cómo empezar a utilizar la Plataforma
      • 👨‍🦱Cuenta de usuario de la plataforma
        • 👨‍🦱Registro y autorización
        • 🏢Cuenta de usuario y empresa
        • 👨‍👨‍👦Funciones y gestión de usuarios en la empresa
        • 💵Suscripción y pago
  • 💻Vista general de las pestañas de la plataforma
    • 📁Pestaña Panel de control (Carpetas)
    • 📊Ficha Recursos
  • 🛠️Cómo crear tu Bot
    • 💡Proyecto: creación, edición, clonación y supresión
    • 🧾Agente y sus versiones
    • 🕵️‍♂️Agente: creación, edición y supresión
    • 📗Creación de un agente en Excel
    • 🔁Agente: exportación, importación, clonación y sustitución
    • 🗳️Visión general de BotBuilder y sus pestañas
      • 🗒️Pestaña Diseñador de agentes
      • 🎴Pestaña Intentos
      • 📖Pestaña Vocabularios
      • ↗️Ficha Solicitudes externas
      • ⬇️Fuentes de datos de preguntas y respuestas
    • 🚧Cómo construir el guión de un Agente
      • 🗃️Creación y tipos de ranuras y sub ranuras
      • 🎚️Desplazamiento y clonación de ranuras y ramas de script
      • 🧾Navegación por el árbol de guiones
      • 🖊️Cómo crear y configurar las franjas horarias
        • ▶️Inicio de un guión | Ranura de inicio
        • ⬇️Correos y notificaciones | Ranura para solicitudes entrantes
        • ⌚Activación del chatbot con un temporizador | Ranura del temporizador
        • 🛎️Correos en WhatsApp | Ranura de notificación
        • 📎Envío de archivos a usuarios bot | Ranura para archivos adjuntos
        • 📃Respuestas de texto | Ranura de texto
        • ⬆️External Request slot (Sending Requests to APIs from script)
        • 🗣️Transferencia del diálogo al operador | Cambiar ranura de modo de chat
        • 🧎Esperar el mensaje del usuario Bot | Esperar el espacio de reacción
        • 📚Bifurcación del script en función de las condiciones| Ranura de regla de transición y subranura de c
        • 7️⃣Botones en los mensajes del bot | Ranura de menú de botones +Subranuras de botones y Fallback
        • 🧏‍♂️Comprobación del formato de los datos introducidos por el usuario del bot| Ranura Expresión regular
        • 💡Reconocimiento de intenciones | ranura NLU + subranuras Intent y Fallback
        • 🤸‍♂️Transiciones a partes aleatorias del guión | Ranura de salto
        • 📑Recogida de datos del usuario Bot | Slot Llenado de slot
        • 💾Crear y guardar variables de contexto | Ranura de memoria
        • 📘Reconocimiento de entidades | Ranura para sinónimos
        • 🔄Implementación de bucles en un script | Repetición de slotGraphlogic.ai documentación
        • 🪩Reconocimiento de idiomas
        • 👩‍💻Generar una respuesta basada en una fuente de datos |Q&A
    • 🗨️Reconocimiento del lenguaje natural en los agentes
      • 🗣️Reconocimiento del lenguaje natural
      • 📈Las 5 intenciones principales
      • 🔒Reconocer entidades | Vocabularios
    • ✒️Sintaxis
    • ↕️Orquestación de agentes
    • ☎️Transferencia a un operador
    • 📌Opción de punto de guardado
    • ↘️Estado de la comunicación. Opción Continuar conversación
  • 🔀Cómo utilizar el contexto del chat en su agente
    • 🔡Variables de contexto
    • ✅Variables de contexto del sistema
    • 🖥️Variables de contexto del canal
    • 🚹Variables de contexto del usuario
  • ✅Cómo formar con éxito a su agente
    • ✅Requisitos para el éxito de la formación de agentes
    • 📋Probar el script del Agente
    • 👨‍💻Comprobación y mejora del reconocimiento de agentes: selección del umbral de confianza
    • ⚙️Formación adicional del Agente desde la pestaña Análisis
  • ⚛️Cómo desplegar su Agente en los canales
    • 🤖Publicar un proyecto
    • 🖥️Despliegue del proyecto en los canales
    • 🗨️Mensajeros
      • Telegram
      • 360Dialog (WhatsApp)
      • 360Dialog (nube)
      • Viber
      • Line messenger
      • VK Teams
      • 📇Widget
      • Facebook Messenger
    • 👨‍💻Plataformas omnicanal
      • Jivo
      • Chat2Desk
      • Bitrix24
      • Livetex
      • Edna Chat Center
      • Edna Pulse
      • Webim (External Bot API 1.0)
      • Webim (API de bots externos 2.0)
      • Omnidesk
    • Mensajeros de empresa
      • Microsoft Teams
    • API de mensajería
      • Chat API
      • 🗣️API del buzón de voz
        • API de voz
    • Compatibilidad con Markdown en los canales de fin de agente
  • Uso de agentes
    • Límites
  • 📈Cómo comprobar Analytics para sus Agentes
    • Ficha Análisis y filtros
    • Historial del chat
    • Informe del contexto del chat
    • Informe de estadísticas de slot
    • Informe Stop Slots
    • Informe de uso del proyecto
  • 🧷Información complementaria
    • 🖥️Capacidades funcionales y no funcionales de la Plataforma
    • Otros
      • 🏅Buenas prácticas en el diseño de diálogos
      • 💻Requisitos del sistema para trabajar con la consola de usuario
      • 📚Recursos
    • Solicitud de agrupación de diálogos
  • Integración de canales
  • 🔑Copia de los recursos e infraestructuras necesarios
  • 📝Tarea de incorporación
Powered by GitBook
On this page
  • Conexión
  • Configuración del canal del proyecto en la plataforma
  • Editar y eliminar el canal del proyecto
  • Solicitudes del canal cliente/servidor al Agente
  • Método:
  • Solicitar estructura
  • Tipo de acontecimiento
  • Identificador Chat_id
  • Objeto Visitante
  • Objeto de mensaje
  • Tipos de contenido admitidos
  • Objeto de datos de servicio
  • Respuesta a las solicitudes del canal cliente/servidor al Agente en la Plataforma
  • Platformrespuesta en caso de solicitud correcta
  • Plataforma respuesta a solicitud fallida
  • Solicitudes de la plataforma al canal cliente/servidor
  • URL básica
  • Formato de URL: https://{dirección_del_servidor}/{método}, donde:
  • Autorización en el lado del cliente
  • Estructura general de la solicitud
  • Identificador Chat_id
  • Objeto de mensaje
  • Cierre de diálogos y transferencia a un Agente
  • Comunicación
  • Asignación de variables de canal desde la API de chat
  • Comunicación en la API de chat
  1. Cómo desplegar su Agente en los canales
  2. API de mensajería

Chat API

PreviousAPI de mensajeríaNextAPI del buzón de voz

Last updated 2 months ago

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.

Conexión

Configuración del canal del proyecto en la plataforma

Debe crear y configurar un canal de proyecto con el conector "Chat API".

  1. Vaya a la pestaña Canales del proyecto.

  1. Pulse el botón Crear canal.

  1. Se abrirá el panel de selección de canal final.

  1. Seleccione Chat API.

  2. Se abrirá el panel de creación del Canal Proyecto.

  1. Opcionalmente, introduzca un título para este Canal de Proyectos en el campo Nombre con el marcador de posición Nuevo canal.

  1. 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*.*

  1. 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 .

  1. Copie el enlace webhook para el canal del agente (URL webhook Chatbot) haciendo clic en el botón Copiar este webhook.

  1. Para guardar el Canal Proyecto sin activarlo, pulse el botón CREAR.

  1. 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.

  1. Para cancelar la creación del Canal Proyecto, pulse el botón CANCELAR.

Editar y eliminar el canal del proyecto

Para editar un Canal de Proyectos, haga clic en su ficha en la lista de Canales de Proyectos.

  1. Para editar cualquier campo, haga clic en él e introduzca un nuevo valor.

  2. 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.

  1. Para desactivar el Canal Proyecto, pulse el botón DESACTIVAR.

  1. Para aplicar los cambios a un Canal Proyecto no activado, pulse el botón GUARDAR.

  1. 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.

  1. Para cancelar los cambios, pulse el botón CANCELAR.

  1. Para eliminar el Canal Proyecto, pulse el botón ELIMINAR.

Solicitudes del canal cliente/servidor al Agente

Método:

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

Solicitar estructura corporal:

{
 "event": (string),
 "chat_id": (string),
 "visitor"(optional object): {
   "id": (string),
   "fields": {
     Fields (object)
   }
 },
 "message": {
   Message (object)
 },
 "service_data"(optional object): {
   Service data (object)
 }
}

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.

Tipo de acontecimiento

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.

Identificador Chat_id

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.

Objeto Visitante

Visitante es un objeto opcional que contiene información sobre el usuario del bot.

Formato visitante:

{
 "id": (string — user ID pseudo-unique, assigned by the client's server),
 "fields": {
  "name": (string),
  "login": (string),
  "phone": (string),
  "email": (string),
  "site": (string)
  }
 }

Ejemplo de visitante:

{
 "id": "03e1c040d8214bfa8ccfbb053186a24a",
 "fields": {
  "name": "Mike",
  "login": "mike",
  "phone": "+18891111111",
  "email": "mike@gmail.com",
  "site": "https://site.com"
  }
 }

Objeto de mensaje

Mensaje es un objeto que contiene información enviada al Agente para su procesamiento.

{
"kind": (string — message type),
"text": (string — message text),
"data": (JSON — file or button clicked data)
}

Tipos de contenido admitidos

A continuación se muestran ejemplos del contenido del objeto Mensaje para distintos tipos de mensajes.

  • Texto

  • Formato del mensaje:

{
"kind": "text",
"text": (string — message text)
}
  • Archivo

  • Formato del mensaje:

{
"kind": "attachment",
"attachment": {
 "id": (string — file id),
 "content_type": (string — Internet Media Type),
 "url": (string — file URL)
 }
}

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.

Objeto de datos de servicio

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:

{
 "kind": "keyboard_response",
  "keyboard_response": {
    "button": {
     "id": (string — button id),
     "text": (string — button label)
    }
  }
}

Respuesta a las solicitudes del canal cliente/servidor al Agente en la Plataforma

Estado HTTP: 200 OK

BODY:

{
"result": "ok"
}

Plataforma respuesta a solicitud fallida

  • 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:

{
   "error": "There is no active channel for received event."
}
  • 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

Solicitudes de la plataforma al canal cliente/servidor

A continuación se muestran los formatos, ejemplos y descripciones de las solicitudes de la API de chat público al servidor cliente.

URL básica

Las solicitudes se envían a la URL del servidor cliente introducida en el Canal Webhook : URL al conectar el Canal Proyecto.

Formato de URL: https://{dirección_del_servidor}/{método}, donde:

  • {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.

Autorización en el lado del cliente

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

Estructura general de la solicitud

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:

{
    "message": Message (object),
    "chat_id": (string)
}

Importante: La estructura del objeto Mensaje depende del tipo de mensaje transmitido (texto, fichero, botones).

Identificador Chat_id

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.

Objeto de mensaje

Mensaje -un objeto que contiene información enviada al Agente para su procesamiento.

{
 "kind": (string — message type),
 "text": (string — Agent's message text),
 "data": (JSON — file data),
 "buttons": (object — button info)
 }

Tipos de contenido admitidos

A continuación se muestran ejemplos del contenido del objeto Mensaje para distintos tipos de mensajes.

  • Texto

Formato del mensaje:

{
 "kind": "text",
 "text": (string — Agent's message text)
}

Ejemplo de mensaje:

{
 "kind": "text",
 "text": "Hi, how can I help you?"
}
  • Archivo

Formato del mensaje:

{
 "kind": "attachment",
 "attachment": {
    "url": (string — file URL),
    "type": (string — Internet Media Type),
    "caption": (string — Attachment Caption. Optional field)
 }
}

Ejemplo de mensaje:

{
 "kind": "attachment",
 "attachment": {
    "url": "https://site.com/wp-content/uploads/2019/04/diagram.png",
    "type": "image/png",
    "caption": "Here is the diagram!"
 }
}

Importante: el envío de archivos se realiza desde la ranura de adjuntos.

  • Mensaje con botones

    • Formato del mensaje:

{
 "kind": "keyboard",
  "buttons": [
       {
           "text": (string — button label),
           "id": (string — button id)
       }
  ]
}
  • Ejemplo de mensaje:

{
 "kind": "keyboard",
  "buttons": [
       {
         "text": "Transfer to Support",
         "id": "fedc60c4dc0d4348b48b524d"
       }, 
       {
         "text": "Transfer to Sales",
         "id": "574f2caad88a41a7a2d6b667"
       }
   ]
}

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.

Cierre de diálogos y transferencia a un Agente

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:

{
    "chat_id": (string)
}

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).

Comunicación

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.

Asignación de variables de canal desde la API de chat

Canal variable
Canal final
Variable en el cuerpo de una solicitud entrante de un canal
Peculiaridades

chat.id

visitor.id

visitor.fields.name

No

visitor.fields.login

visitor.fields.phone

visitor.fields.email

visitor.fields.site

service_data

no

Comunicación en la API de chat

Funcionalidad
Canal
Disponibilidad
Description

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

respuesta en caso de solicitud correcta

{server_address} — address,

⚛️
Platform
Platform
channel_conversation_id
Chat API
channel_visitor_id
Chat API
channel_visitor_firstname
Chat API
channel_visitor_lastname
Chat API
channel_visitor_account
Chat API
channel_visitor_phone
Chat API
channel_visitor_email
Chat API
channel_visitor_source
Chat API
channel_service_data
Chat API
channel_reply_to
Chat API
Chat API
Chat API
Chat API
Chat API
Chat API
Chat API
Chat API
Chat API
Chat API
Chat API