Erreurs courantes dans API Agent virtuel
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"
}
}| 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
}
}
| 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 :
- 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" } } - 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 :
- 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 } }
- URL de fichier direct :
- 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 :
- 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.)
- Sans authentification de message dans
- Champs de demande requis.
userIddoit être présent et unique.emailIddoit ê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 :
- Vérifiez la configuration du fournisseur.
- Accédez à la table
sys_cs_provideret ouvrez l’enregistrement « VA bot to bot provider ». -
Tableau 3. Paramètre requis Champ Valeur attendue automatic_link_enabledVRAIautomatic_link_actionsn_va_as_service.agent_virtuel__bot_à_bot_auto_link_accountlink_account_enabledVRAI
- Accédez à la table
- Vérifiez la carte utilisateur du fournisseur.
- Accédez à la table
provider_user_map. - Filtrer par :
active=falseETchannel_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.
- Accédez à la table
- 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
- Vérifiez les personnalisations en exécutant le script
Liste de vérification de dépannage de liaison de l’utilisateur :
- Configuration :
- L’authentification du message existe et est active.
userIdest présent dans la demande.emailIdest présent dans la demande.automatic_link_enabled = vraiautomatic_link_actionpointe 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.
- L’utilisateur existe dans
- Mappage d’utilisateur du fournisseur :
- Aucun enregistrement inactif pour ce
userId. - Vérifiez les mappages en double.
- Aucun enregistrement inactif pour ce
- Personnalisations :
- Vérifiez le script de lien automatique pour toute modification.
- Testez avec le script OOB s’il est personnalisé.