Erreurs courantes dans API Agent virtuel

  • Rversion finale: Australia
  • Mis à jour 2 févr. 2026
  • 4 minutes de lecture
  • Cette section décrit certaines erreurs courantes et API Agent virtuel comment les résoudre.

    API Agent virtuel Validation de la structure

    Structure de la demande :

    API Agent virtuel attend la structure JSON suivante :
    {
      "requestId": "any-unique-request-id",
      "clientSessionId": "any-unique-session-id",
      "userId": "any-unique-user-id",
      "emailId": "user@example.com",
      "action": "",
      "message": {
        "text": "User message text",
        "typed": true
      },
      "contextVariables": {},
      "history": [
        {
          "isBotMessage": true,
          "value": "How can I help you?",
          "displayName": "Bot",
          "type": "text"
        }
      ],
      "clientVariables": {
        "id": "va-bot-12345",
        "timestamp": "1687527831786"
      }
    }
    Tableau 1. Définitions de champs
    Champ Obligatoire Description
    requestId Non Variable de transfert renvoyée dans les réponses
    clientSessionId Non Identificateur de session de transfert
    userId Oui Identificateur d’utilisateur unique (obligatoire)
    ID d’e-mail Non* E-mail de l’utilisateur pour la liaison (*obligatoire pour la liaison de l’utilisateur)
    action Non Paramètre d’action facultatif
    message.texte Oui Contenu du message de l’utilisateur (obligatoire)
    message.typed Non vrai pour le texte de recherche, faux pour la sélection de valeur
    Variables contextuelles Non Données de contexte facultatives
    Histoire Non Historique de la conversation du bot (première demande uniquement)
    Variables clientVariables Non Variables du client transmises
    Remarque :
    Seuls userId les champs et message.text sont obligatoires dans la demande.

    Problèmes de téléchargement de fichiers

    API Agent virtuel prend en charge deux modes de chargement de fichiers, tels que Synchrone et Asynchrone.

    Structure de la demande de chargement de fichier :

    {
        "userId": "{{user_id}}",
        "message": {
            "attachment": {
                    "clientAttachmentId": "{{request_id}}",
                    "contentType": "video/mp4",
                    "fileName": "sample.mp4",
                    "url": "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4",
                    "headers": {
                        "header 1": "value 1"
                    }
                },
            "text": "along with text",
            "typed": true
        }
    }
    Tableau 2. Définitions de champs
    Champ Obligatoire Description
    contentType Oui Type MIME (par exemple, vidéo/mp4, image/png)
    fileName Oui Nom du fichier avec extension
    URL Oui URL accessible pour télécharger le fichier
    clientAttachmentId Non Identificateur unique pour le suivi
    en-têtes Non En-têtes d’authentification pour le téléchargement de fichiers

    Téléchargement de fichiers en mode synchrone :

    Pour charger un fichier en mode synchrone, suivez les étapes ci-dessous :
    1. Chargez le fichier à l’aide de l’API multimédia. Pour plus d'informations, consultez CCCIF Media Resource API.
      L’API média renvoie une URL. Voici un exemple de réponse :
      {
        "result": {
          "mediaUrl": "<instance>/api/now/v1/cs/media/JOBBfkqSq6kDiFzxyinvHhke73O4TZ0j",
          "name": "image.png",
          "state": "available",
          "attachmentId": "e8671b9193209210a755b8e86cba104b"
        }
      }
    2. Utilisez l’URL du média dans API Agent virtuel la demande. Voici un exemple JSON :
      {
        "userId": "user123",
        "message": {
          "attachment": {
            "contentType": "image/png",
            "fileName": "image.png",
            "url": "<instance>/api/now/v1/cs/media/JOBBfkqSq6kDiFzxyinvHhke73O4TZ0j"
          },
          "text": "Here is the image",
          "typed": true
        }
      }

    Chargement de fichier en mode asynchrone :

    Vous pouvez charger un fichier en mode asynchrone de deux manières :
    1. Utilisez l’URL du fichier dans la API Agent virtuel demande.
      • URL de fichier direct :
        {
          "userId": "user123",
          "message": {
            "attachment": {
              "contentType": "application/pdf",
              "fileName": "report.pdf",
              "url": "https://publicserver.com/files/report.pdf"
            },
            "text": "Document attached",
            "typed": true
          }
        }
      • URL de fichier protégé :
        {
          "userId": "user123",
          "message": {
            "attachment": {
              "contentType": "application/pdf",
              "fileName": "confidential.pdf",
              "url": "https://secureserver.com/files/confidential.pdf",
              "headers": {
                "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
                "X-Custom-Header": "custom-value"
              }
            },
            "text": "Secure document attached",
            "typed": true
          }
        }
    2. Utilisation de l’API média (comme suit en mode synchrone).

    Problèmes de liaison d’utilisateurs

    API Agent virtuel Prend en charge la liaison automatique de l’utilisateur uniquement prête à l’emploi. La liaison manuelle n’est pas activée par défaut dans API Agent virtuel.

    Conditions préalables pour la liaison d’utilisateurs :
    1. L’authentification du message est obligatoire.
      • Sans authentification de message dans sys_cs_provider_application, la liaison utilisateur ne fonctionne pas.
      • Vous devez configurer correctement l’authentification du message. (Voir la section sur l’authentification.)
    2. Champs de demande requis.
      • userId doit être présent et unique.
      • emailId doit être présent et valide.

    Exigences relatives à l’enregistrement utilisateur :

    L’emailId doit correspondre à un enregistrement de sys_user qui remplit toutes les conditions ci-dessous :
    • L’enregistrement existe dans la table sys_user .
    • Le champ E-mail correspond exactement.
    • L’utilisateur est actif. (actif = vrai)
    • L’utilisateur n’est pas verrouillé. (locked_out=faux)
    • Un seul enregistrement utilisateur correspond à ces conditions.
    Remarque :
    Si plusieurs utilisateurs ont la même adresse e-mail, la liaison échoue.
    Configuration de liaison automatique :
    1. Vérifiez la configuration du fournisseur.
      • Accédez à la table sys_cs_provider et ouvrez l’enregistrement « VA bot to bot provider ».
      • Tableau 3. Paramètre requis
        Champ Valeur attendue
        automatic_link_enabled VRAI
        automatic_link_action sn_va_as_service.agent_virtuel__bot_à_bot_auto_link_account
        link_account_enabled VRAI
    2. Vérifiez la carte utilisateur du fournisseur.
      • Accédez à la table provider_user_map .
      • Filtrer par : active=false ET channel_user_id={userId de la demande}.
      • Problème : si l’enregistrement existe avec active=false, l’utilisateur ne peut pas être lié automatiquement.
      • Solution : l’administrateur doit supprimer manuellement l’enregistrement inactif et réessayer la demande de liaison.
    3. Recherchez les personnalisations.
      • Vérifiez les personnalisations en exécutant le script sn_va_as_service.virtual_agent__bot_to_bot_auto_link_account .
      • Vérifiez les problèmes de personnalisation courants :
        • Logique empêchant la liaison automatique
        • Contrôles de validation supplémentaires
        • Mappages de champs modifiés

    Liste de vérification de dépannage de liaison de l’utilisateur :

    • Configuration :
      • L’authentification du message existe et est active.
      • userId est présent dans la demande.
      • emailId est présent dans la demande.
      • automatic_link_enabled = vrai
      • automatic_link_action pointe vers le script correct.
      • link_account_enabled = vrai
    • Enregistrement utilisateur :
      • L’utilisateur existe dans sys_user.
      • L’e-mail correspond exactement (sensible à la casse).
      • L’utilisateur est actif.
      • L’utilisateur n’est pas verrouillé.
      • Un seul utilisateur correspond à l’e-mail.
    • Mappage d’utilisateur du fournisseur :
      • Aucun enregistrement inactif pour ce userId.
      • Vérifiez les mappages en double.
    • Personnalisations :
      • Vérifiez le script de lien automatique pour toute modification.
      • Testez avec le script OOB s’il est personnalisé.