logo
Desarrollo
Buscar
Configurar ID de usuario

Configurar ID de usuario

GPTBots permite a los desarrolladores configurar un ID de usuario único (UserId) para usuarios del agente en diferentes canales (p. ej., sitios web, aplicaciones, LiveChat). Este UserId habilita la asociación de identidad de usuario entre canales, lo que facilita la fusión de identidades entre canales, las consultas del negocio mediante herramientas (Tools) y el mantenimiento de atributos de usuario y registros de chat. Entre los escenarios de aplicación específicos para UserId se incluyen:

  • Tools: Cuando el agente de IA llama a Tools para realizar solicitudes a la API de negocio del desarrollador, el UserId se incluirá en la cabecera HTTP, lo que permite identificar al usuario.
  • Atributos de usuario: Tras configurar el UserId, la información de atributos de usuario se asociará a este UserId.
  • Registros de conversación: Tras configurar el UserId, los registros de conversación del usuario con el agente se atribuirán a este UserId.
  • Callbacks de eventos: Tras configurar el UserId, los callbacks de eventos generados en iframes/widgets y reportados a GA4/webhooks incluirán esta información.

⚠️ El ID de usuario (UserId) debe ser el identificador único de un usuario dentro del sistema de negocio del desarrollador. Este UserId se puede utilizar para consultar datos de negocio como el nivel VIP del usuario, las etiquetas de usuario y la información de pedidos.

API para configurar el ID de usuario

Esta API permite configurar el ID de usuario mediante una combinación de ID anónimo + tipo de conversación + ID de origen para gestionar la información de identidad de usuario.

Método de solicitud

POST

Endpoint

https://api.${endpoint}/v1/user/set-userid

Solicitud

Ejemplo de solicitud

curl -X POST 'https://api.${endpoint}/v1/user/set-userid' \ -H 'Authorization: Bearer ${token}' \ -H 'Content-Type: application/json' \ -d '{ "user_id": "67b58121035e5b152b0419ee", "anonymous_ids": [ { "anonymous_id": "6a0dnyvi3jc32flk7enw", "conversation_type": "SHARE" }, { "anonymous_id": "6a0dnyvi3jc32flk7enw", "conversation_type": "TELEGRAM", "source_id": "bot_029392" } ] }'
                      
                      curl -X POST 'https://api.${endpoint}/v1/user/set-userid' \
-H 'Authorization: Bearer ${token}' \
-H 'Content-Type: application/json' \
-d '{
    "user_id": "67b58121035e5b152b0419ee",
    "anonymous_ids": [
        {
            "anonymous_id": "6a0dnyvi3jc32flk7enw",
            "conversation_type": "SHARE"
        },
        {
            "anonymous_id": "6a0dnyvi3jc32flk7enw",
            "conversation_type": "TELEGRAM",
            "source_id": "bot_029392"
        }
    ]
}'

                    
Este bloque de código en una ventana flotante

Un user_id se puede vincular a un máximo de 100 anonymous_id. Si se supera este límite, el vínculo con el updateTime más antiguo se eliminará automáticamente.
Se puede obtener el ID anónimo del usuario actual consultando anonymous_id en las variables globales, y el tipo de conversación mediante conversation_type.

Cabeceras de la solicitud

Campo Tipo Descripción
Authorization Bearer ${token} Utilizar Authorization: Bearer ${token} para la autenticación. Se recomienda obtener el token en la página «API Key».
Content-Type application/json Tipo de datos; el valor es: application/json.

Cuerpo de la solicitud

Parámetro Tipo Descripción Obligatorio
user_id string ID de usuario definido por el desarrollador true
anonymous_ids array Lista de IDs anónimos generados por la plataforma GPTBots, normalmente basada en identificadores únicos de plataformas de terceros. Se puede obtener desde anonymous_id en las variables globales del agente. true
anonymous_ids[].anonymous_id string ID anónimo true
anonymous_ids[].conversation_type string Plataforma de origen del ID anónimo; equivale a la plataforma en «Agent-Integration», como WHATSAPP, LINE, etc. Se puede obtener desde conversation_type en la visión general de usuario. true
anonymous_ids[].source_id string ID de canal de la plataforma de origen de la conversación. Por ejemplo, si se integra con TELEGRAM y se añaden dos bots de TG, cada bot tendrá su propio Source ID. false

Descripción de la lógica de vinculación:

  1. La relación de vinculación queda determinada de forma única por la combinación de anonymous_id + conversation_type + source_id.
  2. Si esta combinación ya está vinculada al user_id actual, solo se actualizará el momento de vinculación (updateTime).
  3. Si esta combinación no está vinculada a ningún user_id, se creará una nueva relación de vinculación.
  4. Si esta combinación ya está vinculada a otro user_id, primero se desvinculará la relación anterior y, a continuación, se vinculará al user_id actual.
  5. Si el número de vínculos para un único user_id supera 100, el registro de vinculación con el updateTime más antiguo se eliminará automáticamente.

Respuesta

Cuerpo de la respuesta

{ "code": 0, "message": "OK", "data": { "user_id": "67b58121035e5b152b0419ee", "anonymous_ids": [ { "anonymous_id": "6a0dnyvi3jc32flk7enw", "conversation_type": "SHARE", "source_id": null }, { "anonymous_id": "6a0dnyvi3jc32flk7enw", "conversation_type": "TELEGRAM", "source_id": "bot_029392" } ] } }
                      
                      {
    "code": 0,
    "message": "OK",
    "data": {
        "user_id": "67b58121035e5b152b0419ee",
        "anonymous_ids": [
            {
                "anonymous_id": "6a0dnyvi3jc32flk7enw",
                "conversation_type": "SHARE",
                "source_id": null
            },
            {
                "anonymous_id": "6a0dnyvi3jc32flk7enw",
                "conversation_type": "TELEGRAM",
                "source_id": "bot_029392"
            }
        ]
    }
}

                    
Este bloque de código en una ventana flotante

Respuesta correcta

Campo Tipo Descripción
user_id string ID de usuario
anonymous_ids array Todos los IDs anónimos actualmente vinculados a este ID de usuario y sus tipos de conversación
anonymous_ids[].anonymous_id string ID anónimo
anonymous_ids[].conversation_type string Valor de enumeración del tipo de conversación; equivale a la plataforma en «Agent-Integration»
anonymous_ids[].source_id string ID de canal de la plataforma de origen de la conversación. Por ejemplo, si se integra con TELEGRAM y se añaden dos bots de TG, cada bot tendrá su propio Source ID.

Respuesta de error

Campo Tipo Descripción
code int Código de error
message string Mensaje de error

Códigos de estado

Código de estado Descripción
200 Correcto
400 Parámetros no válidos
401 No autorizado
403 Prohibido
500 Error del servidor