logo
Desarrollo
Buscar
Servicio humano

Servicio humano

Cuando se elige Webhook como método de acceso al servicio humano, primero se debe crear un servicio Webhook en el entorno del servidor. Se deben proporcionar las tres interfaces siguientes según las especificaciones para recibir solicitudes de servicio humano, mensajes de usuario y mensajes de respuesta del servicio de atención al cliente humana. GPTBots también proporciona dos interfaces para recibir mensajes de respuesta del servicio de atención al cliente e instrucciones de cierre de conversación.

Notas importantes:

  1. Se debe garantizar que el servicio Webhook funcione correctamente, ya que afecta directamente al funcionamiento del servicio de soporte humano.
  • Si se muestra «Busy» tras iniciar el soporte humano, indica que el servicio Webhook no funciona correctamente.
  • Si se muestra «Connecting» tras iniciar el soporte humano, indica que el servicio Webhook funciona con normalidad.
  1. Después de iniciar correctamente una solicitud de servicio de soporte humano:
  • Se debe llamar a la interfaz Reply to User Message (https://api.gptbots.ai/v1/human/message/receive) para responder al usuario con, al menos, un mensaje, a fin de establecer la conexión de la conversación.
  • Si no se responde al mensaje del usuario dentro del período de waiting timeout configurado (valor predeterminado: 60 segundos), la conversación de soporte humano se finalizará automáticamente.

Recepción de la solicitud de conversación de servicio humano

Cuando un usuario final inicia una solicitud de servicio humano, GPTBots reenvía dicha solicitud al servicio Webhook. Un código de estado de respuesta 200 devuelto por el servicio de interfaz indica que la conversación del servicio humano se ha creado correctamente.

Método de solicitud

POST

Endpoint

https://YOUR_DOMAIN/human/service/conversation/establish

Ejemplo de solicitud

curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \ -H 'Content-Type: application/json' \ -d '{ "body": [ { "text": "human service", "message_type": "QUESTION" }, { "text": "content", "message_type": "ANSWER" }, { "text": "content", "files": { "content_type":"Image", "url":"http://gptbots.ai/example.jpg" }, "message_type": "QUESTION" } ], "timestamp": 1742265090895, "email": "bob@gmail.com", "conversation_id": "67d8db020fa31d1ef64f53dg", "bot_id": "665d88b03ce2b13cf2d573454", "user_info": { "phone": null, "email": "bob@gmail.com", "user_id": "KDslas", "anonymous_id": "652face5184b30540a6ea7fe" } }'
                      
                      curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \
-H 'Content-Type: application/json' \
-d '{
  "body": [
    {
      "text": "human service",
      "message_type": "QUESTION"
    },
    {
      "text": "content",
      "message_type": "ANSWER"
    },
    {
      "text": "content",
      "files": {
        "content_type":"Image",
        "url":"http://gptbots.ai/example.jpg"
      },
      "message_type": "QUESTION"
    }
  ],
  "timestamp": 1742265090895,
  "email": "bob@gmail.com",
  "conversation_id": "67d8db020fa31d1ef64f53dg",
  "bot_id": "665d88b03ce2b13cf2d573454",
  "user_info": {
    "phone": null,
    "email": "bob@gmail.com",
    "user_id": "KDslas",
    "anonymous_id": "652face5184b30540a6ea7fe"
  }
}'

                    
Este bloque de código en una ventana flotante

Nota: El conversation_id de este cuerpo de solicitud solo se utiliza para identificar el ID único de la conversación en escenarios de conversación de servicio humano, que es diferente del ID único generado por Crear ID de conversación (Create Conversation ID) para escenarios de conversación del agente.

Parámetros de la solicitud

Parámetro Tipo Descripción
conversation_id string ID de conversación para escenarios de atención al cliente humana (distinto de los ID de conversación del agente); se debe retransmitir a GPTBots en la interfaz de respuesta del servicio de atención al cliente
timestamp long Marca de tiempo
email string Correo electrónico del usuario; algunos sistemas de servicio humano requieren un correo electrónico para prestar servicios correctamente
bot_id string ID del agente (anteriormente bot)
body list<Object> Cuerpo del mensaje
message_type string Tipo de mensaje, QUESTION/ANSWER
text string La pregunta iniciada por el cliente para el servicio de atención al cliente humana y su contexto
files Object Información de archivos
content_type string Tipo de archivo
url string URL del archivo
user_info object Información del usuario
user_info.phone string Número de teléfono del usuario; actualmente solo disponible al cambiar a atención al cliente humana mediante WhatsApp
user_info.email string Correo electrónico del usuario; disponible cuando el usuario introduce su correo electrónico
user_info.user_id string ID de usuario. Identificador único de la identidad del usuario definido por los desarrolladores empresariales; lo establecen los desarrolladores para un ID anónimo específico
user_info.anonymous_id string ID anónimo. Cuando un usuario inicia una conversación con el agente en plataformas de canal que no son API, el sistema genera un ID anónimo que contiene la información de la plataforma de canal en función de la plataforma de canal del usuario

Notas sobre el campo email:

  • Al iniciar el servicio humano mediante iframe/Share/Bubble Widget, el usuario debe completar su correo electrónico. También se permite a los desarrolladores personalizar el correo electrónico del usuario para evitar que el usuario tenga que introducir un correo electrónico.
  • Al solicitar el servicio humano a través de plataformas de terceros como WhatsApp/Telegram/livechat, el correo electrónico predeterminado utilizado es support@gptbots.ai. Para livechat, se puede personalizar el correo electrónico del usuario.
  • Al solicitar el servicio humano mediante API, el campo email puede estar vacío. Si está vacío, el correo electrónico predeterminado utilizado es support@gptbots.ai.

Respuesta

Parámetro Tipo Descripción
code int Código de respuesta
message string Detalles

Interfaz de chat

Con el conversation_id creado, se envía el mensaje del usuario al servicio de atención al cliente humana.

Método de solicitud

POST

Endpoint

https://your_domain/chat

Parámetros de la solicitud

Parámetro Tipo Descripción
conversation_id string ID de conversación; debe pasarse a GPTBots en la interfaz de respuesta del servicio de atención al cliente
timestamp long Marca de tiempo
body string Mensaje del usuario

Respuesta

Parámetro Tipo Descripción
code int Código de respuesta
message string Detalles

Interfaz para cerrar la conversación

Cuando se agota el tiempo de espera de una conversación de usuario o el agente cierra la conversación de forma activa, se llama a esta interfaz para cerrar la conversación.

Método de solicitud

POST

Endpoint

https://your_domain/conversation/close

Cabecera de la solicitud

Campo Tipo Descripción
Authorization Bearer ${token} Se utiliza Authorization: Bearer ${token} para la autenticación. El token se obtiene en la página «API Key» (clave de API).
Content-Type application/json Tipo de contenido; se establece en application/json.

Parámetros de la solicitud

Parámetro Tipo Descripción
conversation_id string ID de conversación; debe pasarse a GPTBots en la interfaz de respuesta del servicio de atención al cliente
timestamp long Marca de tiempo
type string Tipo de cierre: TIMEOUT (cierre por tiempo de espera) / USER_CLOSED (cierre activo por parte del usuario)

Respuesta

Parámetro Tipo Descripción
code int Código de respuesta
message string Detalles

Responder a mensajes del usuario

Cuando se elige webhook como método de integración de servicio humano, GPTBots proporciona una interfaz para responder a mensajes de usuario. Esta interfaz permite a los agentes de atención al cliente humanos enviar el contenido del mensaje de vuelta a los usuarios.

Método de solicitud

POST

Endpoint

https://api-${endpoint}.gptbots.ai/v1/human/message/receive

Cabecera de la solicitud

Campo Tipo Descripción
Authorization Bearer ${token} Se utiliza Authorization: Bearer ${token} para la autenticación. El token se obtiene en la página «API Key» (clave de API).
Content-Type application/json Tipo de contenido; se establece en application/json.

Parámetros de la solicitud

Parámetro Tipo Descripción Obligatorio
conversation_id string ID de conversación; se pasa en la interfaz de creación de conversación y en la interfaz de chat; basta con retransmitirlo true
timestamp long Marca de tiempo true
body string Contenido de la respuesta del servicio de atención al cliente humana true

Respuesta

Parámetro Tipo Descripción
code int Código de respuesta
message string Detalles

El servicio de atención al cliente humana cierra la conversación

Cuando se elige webhook como método de acceso al servicio humano, el servicio de atención al cliente humana proporcionado por GPTBots puede cerrar activamente la conversación cuando sea necesario. Tras el cierre, el usuario ya no recibirá mensajes del servicio de atención al cliente, a menos que el usuario inicie de nuevo una conversación de atención al cliente humana.

Método de solicitud

POST

Endpoint

https://api-${endpoint}.gptbots.ai/v1/human/close

Cabecera de la solicitud

Campo Tipo Descripción
Authorization Bearer ${API Key} Se utiliza Authorization: Bearer ${API Key} para la autenticación. La clave de API se obtiene en la página «API Key» (clave de API).
Content-Type application/json Tipo de contenido; se establece en application/json.

Parámetros de la solicitud

Parámetro Tipo Descripción
conversation_id string ID de conversación; debe pasarse a GPTBots en la interfaz de respuesta del servicio de atención al cliente
timestamp long Marca de tiempo

Respuesta

Parámetro Tipo Descripción Obligatorio
conversation_id string ID de conversación; se pasa en la interfaz de creación de conversación y en la interfaz de chat; basta con retransmitirlo true
timestamp long Marca de tiempo true