API d’intégration de bot d’Agent virtuel

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 29 minutes de lecture
  • L’API d’intégration de bot d’Agent virtuel fournit des points de terminaison qui permettent aux utilisateurs d’intégrer n’importe quelle interface de messagerie instantanée ou écosystème de bot avec et ServiceNow Agent virtuel /ou Agent actif.

    Cette API est construite sur le cadre de travail d’intégration conversationnelle de messagerie instantanée personnalisée fournie avec Agent virtuel et fonctionne dans l’espace de sn_va_as_service noms.

    Pour plus d’informations sur l’installation et la configuration de l’API Agent virtuel Bot Integration, consultez API Virtual Agent.

    Intégration du bot VA : POST /sn_va_as_service/bot/integration

    Envoie un message, une pièce jointe ou une URL spécifié à un bot secondaire ServiceNow Agent virtuel (VA) spécifié.

    Le site d’un client peut avoir un ou plusieurs bots secondaires ServiceNow . En plus de transmettre des messages à un ServiceNow bot secondaire VA, le bot primaire ou le client de messagerie instantanée peut utiliser ce point de terminaison pour transmettre des messages à un agent via Agent actif la messagerie instantanée. Utilisez le action paramètre transmis dans le corps de la demande pour spécifier la façon dont le contenu spécifié doit être géré.

    Remarque :
    Ce point de terminaison peut être synchrone ou asynchrone selon la configuration utilisée. Si elle est asynchrone, lorsque la demande est reçue par le point de terminaison, il valide la demande et répond avec un état d’appel de réussite ou d’échec et le code d’état HTTP approprié. Le VA traite ensuite la demande et envoie une deuxième réponse au point de terminaison de réponse configuré. Par exemple, pour une intégration de bot à bot, la deuxième réponse serait l’URL de votre bot principal. Ces deux réponses sont définies ci-dessous. Pour plus d’informations sur ce point de terminaison de réponse configuré, consultez Configurer le point de terminaison REST de réponse de sortie et l’authentification sortante pour l’API Agent virtuel.
    Remarque :
    Les réponses dans les exemples de code pour ce point de terminaison montrent ce qui est envoyé par l’agent virtuel au point de terminaison de réponse configuré. Ils n’affichent pas la réponse réelle à ce point de terminaison, qui est une simple réponse de réussite ou d’échec.

    Format d'URL

    URL par défaut : /api/sn_va_as_service/bot/integration

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres de corps de demande
    Nom Description
    action Action que l’agent virtuel doit prendre.
    Valeurs valides :
    • AGENT : bascule la conversation de VA à Agent actif.
    • END_CONVERSATION : met fin à la conversation de messagerie instantanée. Le message.text paramètre doit être vide lors de l’utilisation de cette action.
    • START_CONVERSATION : démarre une conversation de messagerie instantanée.
    • SWITCH : bascule la conversation vers une rubrique qui correspond à ce qui est spécifié dans les intent.id paramètres or topic.name .
      Remarque :
      Utilisez uniquement l’action SWITCH pour changer de rubrique lorsque la détection d’intention se produit dans le bot primaire. Si la détection d’intention se produit dans le ServiceNow® VA, utilisez le message.text paramètre.
    • SET_USER_TIMEZONE : définit le fuseau horaire de l’utilisateur sur le fuseau horaire spécifié dans le timezone paramètre. Ce fuseau horaire reste en vigueur jusqu’à ce que vous le réinitialisiez à l’aide de ce même paramètre.
    • TAPING/VIEWING : Affiche l’indicateur de saisie au format Agent actif. Envoyez d’abord TAPING, puis une fois que l’utilisateur a fini de taper, envoyez VIEWING.
    • Null ou paramètre non transmis : envoie le message au ServiceNow VA.

    Type de données : chaîne

    Valeur par défaut : Null

    botToBot (en anglais seulement)

    Marqueur indiquant si la conversation se fait entre des bots, par exemple entre un bot principal et un bot secondaire.

    Valeurs possibles :
    • true : conversation de bot à bot.
    • false : conversation de bot autonome ServiceNow .

    Type de données : booléennes

    Valeur par défaut : true

    ID de session client Identificateur unique de session client de l’application/du service que l’utilisateur final utilise pour communiquer avec le ServiceNow bot. Cet ID permet d’identifier l’ensemble des demandes/réponses pour une conversation utilisateur spécifique. Le format de ce paramètre est déterminé par l’implémenteur.

    Type de données : chaîne

    Valeur par défaut : Null

    VariablesClient Paires nom-valeur au format JSON qui sont renvoyées dans la réponse. Ces valeurs ne sont pas traitées par le point de terminaison, mais peuvent être utilisées pour conserver des informations client spécifiques associées à la conversation.

    Type de données : objet

    Valeur par défaut : Null

    Variables contextuelles Paires nom-valeur au format JSON qui fournissent des informations supplémentaires sur l’utilisateur. Fournissez ces informations pour personnaliser l’expérience de conversation. Pour plus d’informations sur les variables de contexte, consultez Définir et publier des variables de contexte de messagerie instantanée.
    Par exemple :
    "contextVariables": {
      "requester_session_language": "es", 
      "deviceTimeZone": "America/Los_Angeles"
      "live_agent_only": "true",
      "liveagent_deviceType": "test_device_type"
      "topic": "7c3c819073a3101066c7e9344ef6a7e4" 
    } 

    Type de données : objet

    Valeur par défaut : Null

    ID d’e-mail Requis lors de l’activation de la liaison de compte, sinon tous les utilisateurs sont considérés comme des utilisateurs invités. Adresse e-mail de l’utilisateur final du client de messagerie instantanée, la personne avec laquelle le bot interagit. Pour plus d’informations sur la liaison de comptes, voir Lier votre compte d’utilisateur ServiceNow à une application de messagerie pour les conversations Virtual Agent.

    Type de données : chaîne

    Histoire Historique de la conversation du bot principal avec l’utilisateur, à partir de la demande initiale de l’utilisateur.

    Type de données : objet

    "history": {
      "displayName": "String",
      "isBotMessage": Boolean,
      "type": "String",
      "value": "String"
    }

    Par exemple :

    { 
      "isBotMessage": true,
      "value": "message 1",
      "displayName": "Bot",
      "type": "text"
    }, 
    
    { 
      "isBotMessage": false,
      "value": "message 2", 
      "displayName": "User",
      "type": "text"
    } 
    history.displayName Nom de l’utilisateur à qui le message a été envoyé. S’il s’agit du bot principal, passez Bot.

    Type de données : chaîne

    history.isBotMessage Marqueur qui indique si le message a été envoyé par le bot primaire.
    Valeurs valides :
    • true : le message a été envoyé par le bot primaire.
    • false : le message a été envoyé par l’utilisateur.

    Type de données : booléennes

    history.type Type de message envoyé.

    Valeurs valides : texte

    Type de données : chaîne

    valeur.historique Contenu de l’information. Par exemple, le texte du message.

    Type de données : chaîne

    intention Décrit l’intention de la conversation. Fournissez ces informations lorsque le action paramètre est réglé sur SWITCH.

    Type de données : objet

    "intent": {
      "id": "String"
    }
    intent.id NLU ID d’intention de la rubrique système vers laquelle basculer la conversation. Situé dans la table Langue de la rubrique CS [sys_cs_topic_language]. Le intent.id problème est résolu en fonction de la langue transmise dans la session de messagerie instantanée. Si aucune langue n’est transmise lors du démarrage d’une conversation, la langue est obtenue à partir de la session/du profil de l’utilisateur.

    Type de données : chaîne

    message Requis. Détails du message à envoyer au ServiceNow bot.

    Type de données : objet

    "message": {
      "attachment": {Object},
      "clientMessageId": "String",
      "text": "String",
      "typed": Boolean
    }
    message.pièce jointe Nécessaire en cas d’envoi d’une pièce jointe. Détails de la pièce jointe.

    Vous ne pouvez transmettre des pièces jointes qu’en tant qu’URL et une seule pièce jointe peut être transmise par appel. Une analyse antivirus est déclenchée sur toutes les pièces jointes.

    Type de données : objet

    "attachment": {
      "clientAttachmentId": "String",
      "contentType": "String",
      "fileName": "String",
      "headers": {Object},
      "url": "String"
    }
    message.attachment.clientAttachmentId Identificateur unique de la pièce jointe à envoyer au ServiceNow bot. Le format de cet identificateur est déterminé par l’implémenteur.

    Type de données : chaîne

    Valeur par défaut : Null

    message.attachment.contentType Requis si la pièce jointe est spécifiée. Type MIME standard de la pièce jointe.
    Valeurs valides (insensibles à la casse) :
    • Candidature/PDF
    • Application/MSWORD
    • image/png
    • image/jpeg
    • texte/brut
    • Vidéo/MPEG

    Type de données : chaîne

    message.attachment.fileName Requis si la pièce jointe est spécifiée. Nom de fichier de la pièce jointe.

    Type de données : chaîne

    message.pièce jointe.en-têtes Informations supplémentaires nécessaires si le fichier joint est privé et protégé.
    Type de données : objet
    "headers":{
      "Authorization":"String"	
    }
    message.attachment.headers.Authorization Informations nécessaires pour obtenir l’autorisation d’accéder à la pièce jointe, telles qu’un nom d’utilisateur et un mot de passe.

    Type de données : chaîne

    message.pièce jointe.url Requis si la pièce jointe est spécifiée. URL où se trouve la pièce jointe. Le VA obtient la pièce jointe à partir de cette URL, exécute une analyse antivirus, puis traite le fichier. Si la pièce jointe n’est pas un fichier public, vous devez transmettre un message.attachment.header objet qui contient les informations d’autorisation afin que la pièce jointe soit accessible. Vous devez également vous assurer que le domaine URL figure dans les domaines de confiance déposés dans sys_cs_provider.

    Type de données : chaîne

    message.clientMessageId Identificateur alphanumérique unique du message. Le format de cet identificateur est déterminé par l’implémenteur.

    Type de données : chaîne

    Valeur par défaut : Null

    message.texte Obligatoire si attachment le paramètre n’est pas spécifié. Texte du message. La langue du message doit être transmise dans le contextVariables paramètre.

    Type de données : chaîne

    Longueur maximale : illimitée

    message.typed Requis. Marqueur indiquant si le message a été saisi ou s’il s’agit d’une sélection d’option (sélectionnée).
    Valeurs valides :
    • true : le message a été saisi par l’utilisateur.
    • false : le message était une sélection d’option.

    Type de données : booléennes

    requestId Requis. Identificateur alphanumérique unique de cette demande. Le format de cet identificateur est déterminé par l’implémenteur.

    Type de données : chaîne

    Message silencieux Marqueur indiquant s’il s’agit d’un message silencieux. Un message silencieux est un message qui ne nécessite pas de réponse.
    Valeurs valides :
    • true : message silencieux, aucun message de réponse n’est attendu.
    • false : message normal, message de réponse attendu.
    Remarque :
    Si une requête avec silentMessage = true est envoyée, tous les messages bot suivants restent supprimés jusqu’à ce qu’une demande de désactivation du mode silencieux soit envoyée en passant silentMessage = false.

    Type de données : booléennes

    Valeur par défaut : false

    horodatage Heure d’époque Unix à laquelle le message a été envoyé par l’utilisateur final du client de messagerie instantanée.

    Type de données : nombre

    Unité : millisecondes

    Par défaut : Heure actuelle

    fuseau horaire Fuseau horaire GMT de l’utilisateur final du client de messagerie instantanée.
    Par exemple :
    "timezone":"Asia/Kolkata"

    Pour obtenir la liste des valeurs de fuseau horaire disponibles, reportez-vous à la section https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

    Type de données : chaîne

    Valeur par défaut : fuseau horaire GMT de l’instance ServiceNow .

    sujet Nécessaire si l’utilisateur souhaite passer à une rubrique particulière en spécifiant un nom de rubrique. Paire nom-valeur de la rubrique vers laquelle basculer. Vous pouvez spécifier le nom de la rubrique ou l’sys_id de la rubrique.
    Remarque :
    Vous ne pouvez spécifier qu’un seul nom ou ID de rubrique dans l’objet.

    Type de données : objet

    "topic": {
      "name": "String",
      "id": "String"
    }

    Par exemple :

    {​ 
      "requestId": "xxxx-xxxx-xxxx-xxxx",​
      "clientSessionId": "xxx-xxx-xxx-xxx",​
      "action":"SWITCH",​
      "topic":{​ 
        "name": "Topic Name"​
      },​ 
      "userId": "beth"​ 
    }​ 
    topic.name Nom de la rubrique vers laquelle basculer. Situé dans le champ Nom de la table des rubriques [sys_cs_topic] de Virtual Agent.

    Type de données : chaîne

    topic.id Sys_id de la rubrique vers laquelle basculer. Situé dans le champ sys_id de la table des rubriques [sys_cs_topic] de Virtual Agent.

    Type de données : chaîne

    userId Requis. Identificateur d’utilisateur unique. Il s’agit de l’identificateur de l’utilisateur final qui interagit avec le bot.

    Type de données : chaîne

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir une liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Content-Type Format de données du corps de la demande. Prend uniquement en charge application/json.
    jeton Requis si vous utilisez l’authentification basée sur un jeton ; facultative pour l’authentification de base ou OAuth. Jeton d’authentification à utiliser si l’authentification par jeton a été configurée pour ce point de terminaison.

    Type de données : chaîne

    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir une liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    Si vous recevez un code d’état 200, mais que vous ne recevez pas de réponse, vérifiez les points suivants :
    • Indique si la demande échoue dans la validation de jeton statique, JWT ou basée sur le hachage, qui se produit généralement dans le thread de travail de Agent virtuel.
    • Si le format du corps de la demande est correct. Si elle est incorrecte, la conversion ne se produit pas correctement.
    • Indique si certains paramètres requis sont manquants dans le corps de la demande. Vous pouvez rechercher les exceptions et les erreurs dans les journaux système de l’instance ServiceNow .
    • Si le site défini dans le message REST pour recevoir la réponse est opérationnel ; capable de détection dans les journaux.
    • Assurez-vous que le message REST qui définit l’emplacement de publication de la réponse est défini correctement.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    405 Méthode non valide. La fonctionnalité est désactivée.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    État de l’appel de point de terminaison. Il est envoyé en réponse à la réception de la demande d’appel initiale. La demande n’a pas encore été traitée.

    Nom Description
    erreur Description de l’erreur détectée. Renvoyé uniquement si une erreur se produit.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    erreur.détail Détails sur l’erreur rencontrée.

    Type de données : chaîne

    message d’erreur Message d’erreur généré.

    Type de données : chaîne

    statut État de l’appel de point de terminaison.
    Valeurs valides :
    • échec
    • succès

    Type de données : chaîne

    Paramètres de corps de réponse VA

    Corps de réponse envoyé par l’agent virtuel au point de terminaison de réponse configuré.

    Nom Description
    Messagerie instantanée d’agent

    Marqueur indiquant si la conversation est connectée au ServiceNow Agent actif.

    Valeurs possibles :
    • true : les messages de messagerie instantanée proviennent d’un agent actif.
    • false : les messages de messagerie instantanée proviennent d’un bot et ce paramètre n’est pas renvoyé dans la réponse.

    Type de données : booléennes

    body Liste d’objets qui décrivent les éléments du corps du message de réponse.

    Type de données : tableau

    "body": [
      {
        "actionType": "String",
        "agentInfo": {Object},
        "data": "String",
        "group": "String",
        "header": "String",
        "height": Number,
        "itemType": "String",
        "label": "String",
        "maskType": "String",
        "maxCount": Number,
        "maxSize": Number,
        "message": "String",
        "multiSelect": Boolean,
        "nluTextEnabled": Boolean,
        "options": {Object},
        "promptMsg": "String",
        "required": Boolean,
        "style": "String",
        "templateName": "String",
        "type": "String",
        "uiType": "String",
        "value": "String/{Object}",
        "width": Number
      }
    ]
    corps.actionType Type de message d’action réparti par le bot secondaire au bot primaire. Par exemple, indicateur de saisie ou temps d’attente de l’agent.
    Valeurs valides :
    • Indicateur de saisie de fin
    • StartSpinner (en anglais seulement)
    • Indicateur de saisie automatique

    Par exemple :

    Envoi de StartTypeIndicator au bot primaire lorsque l’indicateur de frappe est activé.

    "body": {​ 
      "uiType":"ActionMsg",​ 
      "actionType":"StartTypingIndicator"​ 
    }  

    Envoi de StartSpinner lors du transfert vers Agent actif pour afficher le temps d’attente à l’utilisateur final.

    "body": { 
      "uiType":"ActionMsg", 
      "actionType":"StartSpinner", 
      "spinnerType":"wait_time",  
      "message":"Routing you to a live agent...", 
      "waitTime":"8 Seconds" 
    } 

    Type de données : chaîne

    corps.agentInfo S’ils sont activés dans la configuration du chat d’agent, le nom et l’avatar de l’agent associé.
    Type de données : objet
    "agentInfo":{   
      "agentAvatar":"String",
      "agentName": "String", 
      "sentFromAgent": Boolean
    }

    Par exemple :

    "agentInfo":{ 
      "sentFromAgent": true,
      "agentName":"Beth Anglin", 
      "agentAvatar":"https://instance.servicenow.com/ee4eebf30a0004d963b5c5ac0d734dc4.iix?t=small" 
    } 
    corps.agentInfo.agentAvatar URL du fichier avatar associé à l’agent.

    Par exemple : « https://instance.servicenow.com/ee4eebf30a0004d963b5c5ac0d734dc4.iix?t=small »

    Type de données : chaîne

    body.agentInfo.agentName Nom d’affichage de l’agent.

    Type de données : chaîne

    body.agentInfo.sentFromAgent Marqueur indiquant si le message a été envoyé par un agent actif.
    Valeurs possibles :
    • true : envoyé par un agent actif.
    • false : envoyé par un agent virtuel.

    Type de données : booléennes

    données.corps Chaîne JSON qui définit les données dans la carte.

    Type de données : chaîne

    groupe.corps Groupe de contrôle riche auquel appartient l’élément de corps. Vous pouvez transformer davantage ces contrôles par défaut en écrivant des scripts de transformation sortants. Pour plus d’informations sur ces scripts, consultez Scripts d’action de Virtual Agent.
    Valeurs possibles :
    • Carte de sortie par défaut
    • Date par défaut
    • DefaultGroupedPartsOutputControl
    • Html par défaut
    • Image de sortie par défaut
    • Lien de sortie par défaut
    • Texte par défaut
    • Sélecteur par défaut

    Type de données : chaîne

    corps.en-tête En-tête du lien.

    Type de données : chaîne

    taille.corps Hauteur de l’élément HTML.

    Type de données : nombre

    Unité : Pixels

    corps.type d’élément Type d’élément de corps.
    Valeurs possibles : (sensible à la casse)
    • Texte par défaut
      • Fichier
      • Image
      • Texte d’entrée
      • Texte de sortie
    • Sélecteur par défaut
      • Image : Les objets apparaissent sous forme de carrousel.
      • Liste : les éléments apparaissent dans une liste déroulante.

    Type de données : chaîne

    étiquette.corps Étiquette à afficher pour l’élément associé.

    Type de données : chaîne

    body.maskType Indique la sensibilité des données associées.
    Valeurs possibles :
    • AUCUN : les données associées sont de nature générale et n’ont pas besoin d’être sécurisées.
    • SÉCURISÉ : Les données associées sont de nature sensible et doivent être traitées en toute sécurité.

    Type de données : chaîne

    corps.maxCount Uniquement renvoyé lorsque uiType la valeur est FileUpload. Nombre maximal de pièces jointes pouvant être chargées à la fois.

    Type de données : nombre (entier)

    body.maxSize Uniquement renvoyé lorsque uiType la valeur est FileUpload. Taille maximale de la pièce jointe pouvant être téléchargée.

    Type de données : nombre (entier)

    Unité : mégaoctets

    message.corps Uniquement renvoyé lorsque actionType est StartSpinner. Message à afficher à l’utilisateur.

    Type de données : chaîne

    body.multiSelect Marqueur indiquant si l’utilisateur peut sélectionner plusieurs options.
    Valeurs possibles :
    • true : sélections multiples.
    • false : sélection unique.

    Type de données : booléennes

    body.nluTextEnabled Marqueur indiquant si le client de messagerie instantanée de l’utilisateur peut recevoir des messages texte NLU (Natural Language Understanding).
    Valeurs possibles :
    • true : peut recevoir des messages NLU.
    • false : impossible de recevoir des messages NLU.

    Type de données : booléennes

    corps.options Liste d’objets qui décrivent les options disponibles pour un contrôle de sélecteur.
    Type de données : tableau
    "options": [
      {
        "attachment": "String",
        "description": "String",
        "enabled": Boolean,
        "label": "String",
        "renderStyle": "String",
        "value": "String"
      }
    ]
    Pièce-jointe.options.corps URL de l’image dans le carrousel à récupérer.

    Type de données : chaîne

    description.options.corps Description de l’élément carrousel.

    Type de données : chaîne

    corps.options.activé Marqueur indiquant si le contrôle de sélecteur est activé sur le client de messagerie instantanée de l’utilisateur final. Dans les implémentations bot-to-bot, le bot primaire est chargé de s’assurer que le contrôle du sélecteur est désactivé.
    Valeurs possibles :
    • true : activé
    • false : désactivé

    Type de données : booléennes

    étiquette.options.corps Étiquette à afficher pour le paramètre associé body.options.value .

    Type de données : chaîne

    corps.options.renderStyle Style à utiliser lors du rendu de l’élément associé.

    Valeur possible : data

    Type de données : chaîne

    Valeur.Options.Corps Valeur à afficher pour le paramètre associé body.options.label .

    Type de données : chaîne

    body.promptMsg Message d’invite à afficher avec le contrôle de sélecteur.

    Type de données : chaîne

    corps.requis Marqueur indiquant si l’utilisateur final doit répondre à la requête dans l’élément de corps.
    Valeurs possibles :
    • true : obligatoire
    • false : facultatif

    Type de données : booléennes

    corps.type de spinner Uniquement renvoyé lorsque actionType est StartSpinner. Type de spinner affiché à l’utilisateur de la messagerie instantanée.

    Valeurs possibles :

    wait_time : Message indiquant le délai avant le transfert à un agent actif.

    Type de données : chaîne

    style.corps Style de l’élément du corps.
    Valeurs possibles :
    • bouton
    • Manège
    • liste
    • null

    Type de données : chaîne

    body.templateName Nom du modèle à utiliser pour afficher la carte associée.

    Type de données : chaîne

    type corps Uniquement renvoyé pour DefaultOutputLink. Type de données de retour.

    Valeurs possibles : lien

    Type de données : chaîne

    corps.uiType Type d’élément de corps. Les valeurs possibles dépendent de la valeur du body.group paramètre. Ces valeurs sont mappées aux contrôles définis dans Concepteur d’agent virtuel. Pour plus d’informations, reportez-vous à la section Prise en main de Concepteur d’agent virtuel.
    Valeurs possibles :
    • Message d’action
    • Carte de sortie par défaut

      Carte de sortie

    • Date par défaut
      • Date
      • Date/Heure
      • Heure
    • DefaultGroupedPartsOutputControl

      GroupedPartsOutputControl

    • Html par défaut

      Html de sortie

    • Image de sortie par défaut

      Image de sortie

    • Lien de sortie par défaut

      Lien de sortie

    • Texte par défaut
      • Texte d’entrée
      • Texte de sortie
      • FileUpload (Chargement de fichier)
    • Sélecteur par défaut
      • Sélecteur
      • TopicPickerControl (Sélectionneur de rubrique)
      • Booléen

    Type de données : chaîne

    valeur.corps Données à utiliser pour traiter l’élément de corps. Le type d’informations transmises dépend du type d’élément de corps.
    OutputLink : objet.
    "value": {
      "action": "String"
    }

    OutputImage : chaîne. URL de l’image.

    OutputHtml : chaîne de caractères. HTML que le client doit afficher.

    Type de données : chaîne ou objet

    action.valeur.corps Uniquement renvoyé pour DefaultOutputLink. URL du lien renvoyé.

    Type de données : chaîne

    corps.temps d’attente Durée pendant laquelle l’utilisateur doit patienter avant d’être connecté à un agent actif.

    Type de données : chaîne

    largeur.corps Largeur de l’élément HTML associé.

    Type de données : nombre

    Unité : Pixels

    ID de session client Identificateur unique de session client de l’application/du service de messagerie instantanée que l’utilisateur final utilise pour communiquer avec le ServiceNow bot.

    Type de données : chaîne

    VariablesClient Paires nom-valeur au format JSON qui sont copiées à partir de ce qui est transmis dans le clientVariables paramètre dans le corps de la demande. Ces valeurs ne sont pas traitées par le point de terminaison, mais peuvent être utilisées pour conserver des informations client spécifiques associées à la conversation.

    Type de données : objet

    terminé

    Marqueur indiquant si le a ServiceNow Agent virtuel terminé la conversation avec succès.

    Valeurs possibles :
    • true : la conversation s’est terminée avec succès.
    • false : la conversation n’est pas terminée et ce paramètre n’est pas renvoyé dans la réponse.

    Type de données : booléennes

    enterpriseId Actuellement inutilisé.
    message Détails du message envoyé à l’agent virtuel ServiceNow . C’est la même chose que l’objet de message transmis.

    Type de données : objet

    "message": {
      "attachment": {Object},
      "clientMessageId": "String",
      "text": "String",
      "typed": Boolean
    }
    message.pièce jointe Détails de la pièce jointe. Les pièces jointes peuvent être un fichier ou une URL.

    Type de données : objet

    "attachment": {
      "clientAttachmentId": "String",
      "contentType": "String",
      "fileName": "String",
      "url": "String"
    message.attachment.clientAttachmentId Identificateur unique de la pièce jointe envoyée au ServiceNow VA. Le format de cet identificateur est déterminé par l’implémenteur.

    Type de données : chaîne

    message.attachment.contentType Type MIME standard de la pièce jointe.
    Valeurs possibles (insensibles à la casse) :
    • texte/brut
    • Candidature/PDF
    • Application/MSWORD
    • image/png
    • image/jpeg
    • Vidéo/MPEG

    Type de données : chaîne

    message.attachment.fileName Nom de fichier de la pièce jointe.

    Type de données : chaîne

    message.pièce jointe.url URL où se trouve la pièce jointe.

    Type de données : chaîne

    message.clientMessageId Identificateur alphanumérique unique du message.

    Type de données : chaîne

    message.texte Texte du message.

    Type de données : chaîne

    Longueur maximale : illimitée

    message.typed Marqueur indiquant si le message a été saisi ou s’il s’agit d’une sélection d’option (sélectionnée).
    Valeurs valides :
    • true : le message a été saisi par l’utilisateur.
    • false : le message était une sélection d’option.

    Type de données : booléennes

    nowBotId (en anglais seulement) Actuellement inutilisé.
    nowSessionId (en anglais seulement) Actuellement inutilisé.
    requestId Identificateur unique pour cette demande.

    Type de données : chaîne

    score Score de confiance d’intention ServiceNow NLU du modèle, spécifié sous forme de pourcentage, par exemple 87,3 %. Ce score permet au bot principal de décider s’il souhaite faire apparaître l’intention associée en fonction du seuil de confiance du modèle du NLU bot primaire. Le ServiceNow NLU seuil de confiance du modèle est ignoré sur l’instance ServiceNow afin que le seuil de confiance du modèle du bot principal puisse être appliqué de manière cohérente à tous les bots NLU secondaires.

    Type de données : nombre

    prendre le contrôle

    Marqueur qui indique que le souhaite rendre le ServiceNow Agent virtuel contrôle au bot principal.

    Valeurs valides :
    • true : rendre le contrôle au bot primaire.
    • false : garder le contrôle.

    Type de données : booléennes

    Valeur par défaut : false

    userId Identificateur de l’utilisateur final qui interagit avec le bot.

    Type de données : chaîne

    Démarrer une conversation à l’aide de l’action START_CONVERSATION pour démarrer une conversation

    L’exemple suivant montre comment utiliser l’action START_CONVERSATION pour démarrer une conversation avec Agent virtuel. Cet appel dirige l’utilisateur vers la rubrique de salutation.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{ 
      "requestId": "asd2423-sda23-qwe23-we23", 
      "action": "START_CONVERSATION", 
      "enterpriseId": "ServiceNow", 
      "nowBotId": "A85PWLERF", 
      "clientSessionId": "", 
      "nowSessionId": "",
      "message":{ 
        "text": "", 
        "typed": true, 
        "clientMessageId": "ABC-123" 
      }, 
      "userId": "beth.anglin", 
      "emailId": "beth.anglin@example.com", 
      "timestamp": 1588824102, 
      "timezone": "America/New_York" 
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    { 
      "requestId":"asd2423-sda23-qwe23-we23", 
      "clientSessionId":"", 
      "nowSessionId":"", 
      "message":{ 
        "text":"", 
        "typed":true, 
        "clientMessageId":"ABC-123" 
      },
      "userId":"beth.anglin", 
      "body":[ 
        { 
          "uiType":"OutputText", 
          "group":"DefaultText", 
          "value":"Hi, I'm your Virtual Agent. Let me know how I can help you today.", 
          "maskType":"NONE" 
        },
        { 
          "uiType":"TopicPickerControl", 
          "group":"DefaultPicker", 
          "nluTextEnabled":false, 
          "promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type help any time when you need help.", 
          "label":"Show me everything", 
          "options":[ 
            { 
              "label":"b2b topic", 
              "value":"2bb7bd7670de6010f877c7f188266fc7", 
              "enabled":true 
            }, 
            { 
               "label":"Live Agent Support.", 
               "value":"ce2ee85053130010cf8cddeeff7b12bf", 
               "enabled":true 
            } 
          ] 
        }
      ],
      "score":1 
    } 

    Transférer une conversation à l’aide de l’énoncé Agent actif

    L’exemple suivant illustre comment transférer une conversation vers Agent actif, en contournant la rubrique Message d’accueil, en transmettant l’agent comme énoncé dans le message.text paramètre. Les valeurs d’énoncé possibles sont définies dans la table sys_cs_contextual_action. Pour plus d’informations sur les actions contextuelles, consultez Actions contextuelles pour les intégrations de messagerie instantanée personnalisées.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data " {
      "requestId": "322bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "agent",
        "typed": true
      },
      "userId": "abel.tuter",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    {
      "requestId":"322bas2be70-sadsa-we32-3eq2-1231ra9",
      "clientSessionId":"",
      "message":{
        "text":"agent",
        "typed":true
      },
      "userId":"abel.tuter",
      "body":[
        {
          "uiType":"Picker",
          "group":"DefaultPicker",
          "required":true,
          "nluTextEnabled":false,
          "label":"I want to be sure I got this right. What item best describes what you want to do?",
          "itemType":"List",
          "style":"list",
          "multiSelect":false,
          "options":[
            {
              "label":"Live Agent Support.",
              "value":"Live Agent Support.",
              "renderStyle":"data",
              "enabled":false
            },
            {
              "label":"Virtual Agent Capabilities.",
              "value":"Virtual Agent Capabilities.",
              "renderStyle":"data",
              "enabled":false
            },
            {
              "label":"I want something else",
              "value":"-1",
              "renderStyle":"data",
              "enabled":false
            }
          ],
          "scriptedData":null
        }
      ],
      "score":1
    }

    Transférer une conversation à l’assistance Live Agent en fonction de la sélection de l’utilisateur

    L’exemple suivant montre le transfert de la conversation vers l’assistance Live Agent en fonction de la sélection de l’utilisateur lors de l’interaction précédente.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data "{
      "requestId": "322bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "Live Agent Support.",
        "typed": true
      },
      "userId": "abel.tuter",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    } "

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    {
      "requestId":"322bas2be70-sadsa-we32-3eq2-1231ra9",
      "clientSessionId":"",
      "message":{
        "text":"Live Agent Support.",
        "typed":true
      },
      "userId":"abel.tuter",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"Please stand by while I connect you to a live agent."
        }
      ],
      "agentChat":true,
      "score":1
    }

    Terminer une Agent virtuel conversation en définissant le paramètre d’action

    L’exemple suivant montre comment terminer une Agent virtuel conversation en définissant le action paramètre sur END_CONVERSATION.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "s345ew-sjg554-qwe23-we23",
      "action": "END_CONVERSATION",
      "enterpriseId": "ServiceNow",
      "nowBotId": "A85PWLERF",
      "clientSessionId": "",
      "nowSessionId": "",
      "message":{
        "text": "b2b topic",
        "typed": true,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "emailId": beth.anglin@example.com,
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré indiquant la conversation terminée.

    {
      "requestId":"s345ew-sjg554-qwe23-we23",
      "clientSessionId":"",
      "nowSessionId":"",
      "message":{
        "text":"",
        "typed":true,
        "clientMessageId":"ABC-123"
      },
      "userId":"beth.anglin",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE"
        }
      ],
      "score":1
    }

    Terminer une Agent actif conversation en définissant le paramètre d’action

    L’exemple suivant montre comment terminer une Agent actif conversation en définissant le action paramètre sur END_CONVERSATION.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "sad-sjg554-qwe23-we23",
      "action": "END_CONVERSATION",
      "enterpriseId": "ServiceNow",
      "nowBotId": "A85PWLERF",
      "clientSessionId": "",
      "nowSessionId": "",
      "message":{
        "text": "",
        "typed": true,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "emailId": "beth.anglin@example.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré indiquant la conversation terminée.

    {
      "requestId":"sad-sjg554-qwe23-we23",
      "clientSessionId":"",
      "nowSessionId":"",
      "message":{
        "text":"",
        "typed":true,
        "clientMessageId":"ABC-123"
      },
      "userId":"beth.anglin",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE"
        }
      ],
      "completed":true,
      "score":1
    }

    Utilisez les commandes définies dans la table sys_cs_contextual_action comme énoncé avec lequel démarrer une conversation Agent virtuel

    L’exemple suivant montre comment utiliser la Hi commande définie dans la table sys_cs_contextual_action comme énoncé pour Agent virtuel démarrer une conversation au lieu de définir le action paramètre sur START_CONVERSATION comme indiqué dans les exemples précédents. Cet exemple montre l’utilisation d’une des variantes linguistiques de la Hi commande, « hola ».

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data "{
      "requestId": "302bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "hola",
        "typed": true
      },
      "userId": "fred.ludy",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    { 
      "requestId":"302bas2be70-sadsa-we32-3eq2-1231ra9", 
      "clientSessionId":"",
      "message":{ 
        "text":"hola", 
        "typed":true
      }, 
      "userId":"fred.ludy", 
      "body":[
        { 
          "uiType":"OutputText", 
          "group":"DefaultText",
          "value":"Hi, I'm your Virtual Agent. Let me know how I can help you today.",
          "maskType":"NONE"
        },
        { 
          "uiType":"TopicPickerControl", 
          "group":"DefaultPicker",
          "nluTextEnabled":false,
          "promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type hellllp! any time when you need help.", 
          "label":"Show me everything",
          "options":[
            {
              "label":"boolean check",
              "value":"1b5257a1db712010d3d6d9595e9619f3",
              "enabled":true
            },
            { 
              "label":"Test_table_datepicker",
              "value":"6515f0cadb4220108249f7541d961980",
              "enabled":true
            }, 
            { 
              "label":"Test File upload",
              "value":"76c1f4b2db7520108249f7541d9619a7",
              "enabled":true
            },
            { 
              "label":"Test B2B 2",
              "value":"8373e55cdb8120108249f7541d96196d",
              "enabled":true
            },
            {
              "label":"FAQ Conversation Builder_Global",
              "value":"9f3114a3dbc520108249f7541d961981",
              "enabled":true
            },
            {
              "label":"Get to know you",
              "value":"a443dd6adb812010d3d6d9595e961954", 
              "enabled":true
            }, 
            { 
              "label":"Get to know you_Global", 
              "value":"b1a56b87db8120108249f7541d9619b2", 
              "enabled":true 
            },
            {
              "label":"Live Agent Support.",
              "value":"ce2ee85053130010cf8cddeeff7b12bf",
              "enabled":true
            },
            {
              "label":"Apply for PTO_B2B NLU",
              "value":"d948c94cdb052010d3d6d9595e961969",
              "enabled":true 
            }
          ]
        } 
       ], 
       "score":1 
    } 

    Utiliser les commandes définies dans la table sys_cs_contextual_action comme énoncé pour mettre fin à une conversation

    L’exemple suivant montre comment utiliser la Bye commande définie dans la table sys_cs_contextual_action comme énoncé pour Agent virtuel mettre fin à une conversation au lieu de la définir action sur END_CONVERSATION comme indiqué dans les exemples précédents. Cet exemple montre l’utilisation d’une des variantes linguistiques de la Bye commande, « choa ».

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data "{
      "requestId": "302bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "choa",
        "typed": true
      },
      "userId": "fred.ludy",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    {
      "requestId":"302bas2be70-sadsa-we32-3eq2-1231ra9",
      "clientSessionId":"",
      "message":{ 
        "text":"chao",
        "typed":true
      }, 
      "userId":"fred.ludy",
      "body":[ 
        {
          "uiType":"Picker",
          "group":"DefaultPicker",
          "required":true,
          "nluTextEnabled":false,
          "label":"Please make a selection.",
          "itemType":"List",
          "style":"list",
          "multiSelect":false,
          "options":[
            {
              "label":"End conversation",
              "value":"1",
              "renderStyle":"data",
              "enabled":false
            }, 
            {
              "label":"Cancel",
              "value":"0",
              "renderStyle":"data",
              "enabled":false
            } 
          ],
          "scriptedData":null 
        }
      ],
      "score":1 
    }

    Modifier une conversation en cours à l’aide du paramètre d’action SWITCH

    L’exemple suivant montre comment utiliser le paramètre SWITCH action pour changer une conversation en cours vers la rubrique qui correspond à ce qui est spécifié dans le intent.id paramètre.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "sdfsfs-hgfhg-34fssd-zxcz-sd43",
      "enterpriseId": "ServiceNow",
      "nowBotId": "A85PWLERF",
      "clientSessionId": "",
      "nowSessionId": "",
      "action": "SWITCH",
      "intent" : {
        "id": "Saloon Vehicle"
      },
      "message":{
        "typed": true,
        "clientMessageId": "ABC-123"
      },
      "userId": "Guest",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par l’agent virtuel au point de terminaison de réponse configuré, montrant l’agent virtuel basculé vers la nouvelle rubrique.

    {
       "requestId":"sdfsfs-hgfhg-34fssd-zxcz-sd43",
       "clientSessionId":"",
       "nowSessionId":"",
       "message":{
          "typed":true,
          "clientMessageId":"ABC-123"
       },
       "userId":"Guest",
       "body":[
          {
             "uiType":"InputText",
             "group":"DefaultText",
             "required":true,
             "nluTextEnabled":false,
             "label":"limo input:",
             "maskType":"NONE"
          }
       ],
       "score":1
    }

    Obtenir un score de Compréhension du langage naturel confiance (NLU) pour un énoncé

    L’exemple suivant montre comment obtenir un NLU score de confiance pour un énoncé s’il NLU est activé dans VA.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "sdfsfs-hgfhg-34fssd-zxcz-sd43", 
      "enterpriseId": "ServiceNow", 
      "nowBotId": "A85PWLERF", 
      "clientSessionId": "", 
      "nowSessionId": "", 
      "message":{ 
        "text": "most popular choice", 
        "typed": true, 
        "clientMessageId": "ABC-123" 
      }, 
      "userId": "Guest", 
      "timestamp": 1588824102, 
      "timezone": "America/New_York" 
    }"
    --user "username":"password"
    

    Voici le corps de la réponse envoyé par le VA au point de terminaison de réponse configuré affichant le score de confiance NLU.

    { 
      "requestId":"sdfsfs-hgfhg-34fssd-zxcz-sd43", 
      "clientSessionId":"", 
      "nowSessionId":"", 
      "message":{ 
        "text":"most popular choice", 
        "typed":true, 
        "clientMessageId":"ABC-123" 
      }, 
      "userId":"Guest", 
      "body":[ 
        { 
          "uiType":"InputText", 
          "group":"DefaultText", 
          "required":true, 
          "nluTextEnabled":false, 
          "label":"model input:", 
          "maskType":"NONE" 
        }
      ], 
      "score":"0.92" 
    }

    Transférer une conversation à Live Agent dans une file d’attente spécifique

    L’exemple suivant montre comment transférer une conversation à Live Agent dans une file d’attente spécifique. Vous devez d’abord configurer vos files d’attente avec des conditions spécifiques. Vous transmettez ensuite ces conditions comme contextVariables dans le corps de la demande. Pour en savoir plus sur la création d’une file d’attente d’éléments de travail, reportez-vous à la rubrique Créer une file d’attente d’éléments de travail.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "34re-dasd-qwe23-dsds", // Unique value for a message (hash)
      "enterpriseId": "ServiceNow", // ServiceNow (Optional
      "nowBotId": "A85PWLERF", // In case of multiple ServiceNow secondary bots (one for HR, one for ITSM)
      "action":"AGENT", // Actions to close conversation. Other possible value is END_CONVERSATION
      "clientSessionId": "", // Client conversation id
      "nowSessionId": "", // ServiceNow conversation id
      "message":{
        "text": "How are you?", // User passed message
        "typed": true, // typed or clicked
        "clientMessageId": "ABC-123"
      },
      "userId": "abraham.lincoln", // User’s id in their system
      "emailId": "abraham.lincoln@example.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York",
      "contextVariables":{
        "b2b_category":"humanresource"
      } 
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    {
      "requestId":"34re-dasd-qwe23-dsds",
      "clientSessionId":"",
      "nowSessionId":"",
      "message":{
        "text":"How are you?",
        "typed":true,
        "clientMessageId":"ABC-123"
       },
       "userId":"abraham.lincoln",
       "body":[
         {
           "uiType":"OutputText",
           "group":"DefaultText",
           "value":"I am sorry but I didn't understand your request.",
           "maskType":"NONE"
        },
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"Please try giving me your request in a different way. I'm currently better at understanding short sentences.",
          "maskType":"NONE"
        },
        {
          "uiType":"TopicPickerControl",
          "group":"DefaultPicker",
          "nluTextEnabled":false,
          "promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type help any time when you need help.",
          "label":"Show me everything",
          "options":[
            {
              "label":"Live Agent Support.",
              "value":"ce2ee85053130010cf8cddeeff7b12bf",
              "enabled":true
            }
          ]
        }
      ],
      "score":0
    }

    Transférer une application publique/un fichier PDF en pièce jointe

    Cet exemple montre comment transférer une pièce jointe d’application/pdf publique.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: BOT_Token" \
    --data "{
      "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId": "U94CSJLEN",
      "message": {
        "attachment": {
        "clientAttachmentId": "my-unique-identifier",
        "contentType": "application/pdf",
        "fileName": "MY PDF TEST",
        "url": "http://www.africau.edu/images/default/sample.pdf"
        }
      },
      "userId": "U94CSJLEN",
      "emailId": "admin@example.com"
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    {
      "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId":"U94CSJLEN",
      "message":{
        "attachment":{
          "clientAttachmentId":"my-unique-identifier",
          "contentType":"application/pdf",
          "fileName":"MY PDF TEST",
          "url":"http://www.africau.edu/images/default/sample.pdf"}
        },
        "userId":"U94CSJLEN",
        "body":[
          {
            "uiType":"OutputText",
            "group":"DefaultText",
            "required":false,
            "nluTextEnabled":false,
            "label":"File got",
            "maskType":"NONE",
            "itemType":"outputtext"
          },
          {
            "uiType":"OutputText",
            "group":"DefaultText",
            "required":false,
            "nluTextEnabled":false,
            "label":"The conversation has ended. If you need help again, type hi.",
            "maskType":"NONE",
            "itemType":"outputtext"
           }
        ],
      "completed":true,
      "score":1
    }

    Transférer une pièce jointe vidéo/mpeg

    Cet exemple montre la demande/réponse pour le chargement d’une pièce jointe vidéo/mpeg.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: BOT_TOKEN" \
    --data "{
      "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId": "U94CSJLEN",
      "message": {
        "attachment": {
        "clientAttachmentId": "my-unique-identifier10",
        "contentType": "video/mpeg",
        "fileName": "MY TEST10.mp4",
        "url": "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
        }
      },
      "userId": "U94CSJLEN",
      "emailId": "admin@example.com"
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    {
      "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId":"U94CSJLEN",
      "message":{
        "attachment":{
          "headers":{
            "Authorization":"Basic amFzbWluZS53YWRod2FuaWE6VGVzdGluZ0AxMjM="
          },
          "clientAttachmentId":"my-unique-identifier10",
          "contentType":"video/mpeg",
          "fileName":"MY TEST10.mp4",
          "url":"https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
        }
      },
      "userId":"U94CSJLEN",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"File got",
          "maskType":"NONE",
          "itemType":"outputtext"
        },
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE","itemType":"outputtext"
        }
      ],
      "completed":true,
      "score":1
    }

    Transférer une pièce jointe image/jpeg

    Cet exemple montre la demande/réponse pour le chargement d’une pièce jointe image/jpeg.

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: BOT_TOKEN" \
    --data "{
      "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId": "U94CSJLEN",
      "message": {
        "attachment": {
          "clientAttachmentId": "my-unique-identifier10",
          "contentType": "image/jpeg",
          "fileName": "MY TEST10.jpg",
          "url": "https://image.imagestock.com/image-photo/pink-butterfly-isolated-on-white-260nw-1218104047.jpg"
        }
      },
      "userId": "U94CSJLEN",
      "emailId": "admin@example.com"
    }"
    --user "username":"password"
    

    Voici le corps de réponse envoyé par le VA au point de terminaison de réponse configuré.

    {
      "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId":"U94CSJLEN",
      "message":{
        "attachment":{
          "headers":{
            "Authorization":"Basic amFzbWluZS53YWRod2FuaWE6VGVzdGluZ0AxMjM="
          },
          "clientAttachmentId":"my-unique-identifier10",
          "contentType":"image/jpeg",
          "fileName":"MY TEST10.jpg",
          "url":"https://image.imagestock.com/image-photo/pink-butterfly-isolated-on-white-260nw-1218104047.jpg"
        }
      },
      "userId":"U94CSJLEN",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"File got",
          "maskType":"NONE",
          "itemType":"outputtext"
        },
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE",
          "itemType":"outputtext"
        }
      ],
      "completed":true,
      "score":1
    }