logo
Développement
Rechercher
Définir l'ID utilisateur

Définir l'ID utilisateur

GPTBots permet aux développeurs de définir un identifiant unique (UserId) pour les utilisateurs Agent sur différents canaux (par exemple, sites web, applications, LiveChat). Ce UserId permet l'association de l'identité utilisateur entre les canaux, facilitant la fusion d'identités, les requêtes métier via les Outils, ainsi que la gestion des attributs utilisateur et des historiques de conversation. Les scénarios d'application spécifiques pour UserId incluent :

  • Outils : Lorsque l'Agent IA appelle des Outils pour effectuer des requêtes vers l'API métier du développeur, le UserId sera inclus dans l'en-tête, permettant d'identifier l'utilisateur.
  • Attributs utilisateur : Après avoir défini le UserId, les informations d'attributs utilisateur seront associées à ce UserId.
  • Historique des conversations : Après avoir défini le UserId, les historiques de conversation de l'utilisateur avec l'Agent seront attribués à ce UserId.
  • Rappels d'événements : Après avoir défini le UserId, les rappels d'événements générés dans les iframes/widgets et transmis à GA4/webhooks contiendront cette information.

⚠️ L'ID utilisateur (UserId) doit être l'identifiant unique d'un utilisateur dans le système métier du développeur. Ce UserId peut être utilisé pour interroger des données métier telles que le niveau VIP de l'utilisateur, ses tags ou ses informations de commande.

Définir l'ID utilisateur

Cette API permet aux développeurs de définir l'ID utilisateur à l'aide d'une combinaison de anonymous ID + type de conversation + source ID pour gérer les informations d'identité utilisateur.

Méthode de requête

POST

Endpoint

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

Requête

Exemple de requête

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"
        }
    ]
}'

                    
Ce bloc de code dans la fenêtre flottante

Un user_id peut être lié à un maximum de 100 anonymous_id. Si cette limite est dépassée, la liaison avec le updateTime le plus ancien sera automatiquement supprimée.
Les développeurs peuvent obtenir l'anonymous ID de l'utilisateur courant via la variable globale anonymous_id, et le type de conversation via conversation_type.

En-têtes de la requête

Champ Type Description
Authorization Bearer ${token} Utilisez Authorization: Bearer ${token} pour l'authentification. Veuillez obtenir votre token sur la page Clé API.
Content-Type application/json Type de données, valeur : application/json.

Corps de la requête

Paramètre Type Description Obligatoire
user_id string ID utilisateur défini par le développeur true
anonymous_ids array Liste des anonymous ID générés par la plateforme GPTBots, généralement basés sur des identifiants uniques de plateformes tierces. Récupérable via anonymous_id dans les variables globales de l'Agent. true
anonymous_ids[].anonymous_id string Anonymous ID true
anonymous_ids[].conversation_type string Plateforme source de l'anonymous ID, équivalent à la plateforme dans 'Agent-Integration', comme WHATSAPP, LINE, etc. Récupérable via conversation_type dans l'aperçu utilisateur. true
anonymous_ids[].source_id string ID de canal provenant de la plateforme source de la conversation. Par exemple, si intégré à TELEGRAM avec deux bots TG, chaque bot aura son propre Source ID. false

Description de la logique de liaison :

  1. La relation de liaison est déterminée de façon unique par la combinaison de anonymous_id + conversation_type + source_id.
  2. Si cette combinaison est déjà liée au user_id courant, seul le temps de liaison (updateTime) sera mis à jour.
  3. Si cette combinaison n'est liée à aucun user_id, une nouvelle relation de liaison sera créée.
  4. Si cette combinaison est déjà liée à un autre user_id, l'ancienne liaison sera d'abord supprimée, puis liée au user_id courant.
  5. Si le nombre de liaisons pour un même user_id dépasse 100, l'enregistrement de liaison avec le updateTime le plus ancien sera automatiquement supprimé.

Réponse

Corps de la réponse

{ "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"
            }
        ]
    }
}

                    
Ce bloc de code dans la fenêtre flottante

Réponse réussie

Champ Type Description
user_id string ID utilisateur
anonymous_ids array Tous les anonymous ID actuellement liés à cet ID utilisateur et leurs types de conversation
anonymous_ids[].anonymous_id string Anonymous ID
anonymous_ids[].conversation_type string Valeur d'énumération du type de conversation, équivalent à la plateforme dans "Agent-Integration"
anonymous_ids[].source_id string ID de canal provenant de la plateforme source de la conversation. Par exemple, si intégré à TELEGRAM avec deux bots TG, chaque bot aura son propre Source ID.

Réponse d'erreur

Champ Type Description
code int Code d'erreur
message string Message d'erreur

Codes de statut

Code de statut Description
200 Succès
400 Paramètres invalides
401 Non autorisé
403 Interdit
500 Erreur serveur