API de ressource d’interaction vocale

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 19 minutes de lecture
  • L’API d’interaction vocale fournit des points de terminaison pour transcrire et stocker les interactions vocales entre les agents et les appelants au cours d’une conversation téléphonique. Il fonctionne en conjonction avec Agent virtuel et Agent actif les chats.

    Vous pouvez utiliser cette API pour conserver les messages transcrits d’un appel téléphonique en cours en temps réel ou pour transcrire et stocker un enregistrement de conversation vocale existant à des fins d’historique. Les messages transcrits apparaissent dans Espace de travail d'agent, ce qui permet aux agents de tirer parti de fonctionnalités telles que l’assistant d’agent et la recherche tout en parlant à un appelant. Les messages transcrits sont conservés dans la table Message de conversation [sys_cs_message].

    Messages transcrits dans Espace de travail d’agent

    Flux d’appel

    Le flux d’appel suivant montre comment utiliser l’API d’interaction vocale pour créer un enregistrement d’interaction vocale, transcrire et stocker les messages de cette conversation vocale, puis fermer l’enregistrement de conversation vocale. Vous pouvez également utiliser des règles métier et d’autres scripts pour exécuter cette fonctionnalité, mais ce type d’implémentation n’est pas couvert dans cette section.
    1. Commencez par appeler le Ressource d’interaction vocale : POST /cs/voice-interactions point de terminaison pour créer un enregistrement d’interaction vocale dans la table Interaction [interaction].
    2. Appelez ensuite le point de terminaison pour stocker les Ressource d’interaction vocale : POST /cs/voice-interactions/{interactionId}/messages messages traduits de la conversation vocale dans la table Message de conversation. Si vous traitez une conversation en temps réel, vous devez appeler ce point de terminaison fréquemment, afin que les messages apparaissent Espace de travail d'agent en temps opportun. Lorsque vous traitez un enregistrement à des fins d’historique, vous pouvez transmettre tous les messages en un seul appel de point de terminaison.
    3. Une fois que vous avez terminé la persistance des messages vocaux, appelez le Ressource d’interaction vocale : PATCH /cs/voice-interactions/{interactionId}/state point de terminaison pour mettre fin à la capture et fermer l’enregistrement d’interaction vocale.

    Graphique des disponibilités

    Cette API est disponible dans le système de base ServiceNow . L’accès est restreint par les ACL imposées aux tables Interaction [interaction] et Conversation [sys_cs_conversation].

    Ressource d’interaction vocale : PATCH /cs/voice-interactions/{interactionId}/state

    Met fin à l’interaction vocale spécifiée. Une fois appelé, aucun message vocal supplémentaire n’est traduit et stocké pour la conversation téléphonique.

    Format d'URL

    URL versionnée : /api/now/{api_version}/cs/voice-interactions/{interactionId}/state

    URL par défaut : /api/now/v1/cs/voice-interactions/{interactionId}/state

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    interactionId Sys_id de l’enregistrement d’interaction dont l’interaction vocale doit être interrompue. Situé dans la table Interaction [interaction] et renvoyé par le point de Ressource d’interaction vocale : POST /cs/voice-interactions terminaison.

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Aucun
    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    URL d’enregistrement URL où se trouve l’enregistrement vocal d’origine.

    Si cette configuration lui est destinée, cette URL s’affiche dans Espace de travail d'agent.

    Type de données : chaîne

    Par défaut : Aucun

    État Requis. État de l’interaction vocale.

    Seule valeur prise en charge : closed_complete

    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 la 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. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    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 la 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.
    400 Demande incorrecte. Le JSON mal formé ou les paramètres requis n’ont pas été transmis.
    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 (JSON ou XML)

    Nom Description
    résultat État de l’opération.
    Valeurs possibles :
    • Réussite
    • Échoué

    Si une erreur est rencontrée, un message décrivant l’erreur est également renvoyé. Si l’erreur concerne l’instance ServiceNow , celle-ci consigne la trace de la pile associée.

    Demande cURL

    L’exemple suivant montre comment terminer une instance vocale.

    curl "http://instance.servicenow.com/api/now/v1/ cs/voice-interactions/86837a386f0331003b3c498f5d3ee4ca/state" \ 
    --request PATCH \
    --header "Content-Type: application/json" \
    --header "Accept:application/json" \
    --user 'username':'password' \
    -d {
      "state": "closed_complete",
      "recordingURL": "https: //zoom_instance/rec/QbF7XmPFHPlX1LG"
    }’

    Réponse :

    {
      "result": "Success"
    }

    Ressource d’interaction vocale : POST /cs/voice-interactions

    Crée un enregistrement d’interaction vocale dans la table Interaction [interaction].

    Vous devez créer cet enregistrement avant d’essayer d’enregistrer des messages vocaux transcrits. Vous pouvez également utiliser ce point de terminaison pour affecter un appel à un agent spécifique en transmettant son ID d’utilisateur spécifique.

    Format d'URL

    URL versionnée : /api/now/{api_version}/cs/voice-interactions

    URL par défaut : /api/now/v1/cs/voice-interactions

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 8. Paramètres de requête
    Nom Description
    Aucun
    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    ID de l’agent Identificateur unique de l’agent auquel affecter l’interaction vocale. Situé dans le champ ID d’utilisateur de la table Utilisateur [sys_user].

    Type de données : chaîne

    Par défaut : appeler Agent virtuel

    callerPhoneNumber (en anglais seulement) Numéro de téléphone de rappel de l’appelant. Il s’agit du numéro que l’agent utilise pour joindre l’appelant en cas d’interruption de l’appel.

    Type de données : chaîne

    Format : conforme à la norme E.164

    Par défaut : Aucun

    ID de session client Identificateur unique d’un enregistrement dans un système externe utilisé pour suivre cet appel téléphonique. Ces informations relient les enregistrements entre les deux systèmes.

    Type de données : chaîne

    Par défaut : Aucun

    inboundId Identificateur unique du fournisseur d’application pour le service vocal. Situé dans le champ ID entrant de la table Application du canal du fournisseur [sys_cs_provider_application].

    Type de données : chaîne

    Par défaut : Extrait de la messagerie instantanée

    userId Obligatoire. Numéro de téléphone de l’appelant qui a passé l’appel associé à la transaction vocale.

    Type de données : chaîne

    Format : défini par le logiciel qui a créé le script de conversation vocale. Généralement conforme à la norme E.164.

    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 la 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 10. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 11. 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 la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 12. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Le JSON mal formé ou les paramètres requis n’ont pas été transmis.
    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 (JSON ou XML)

    Nom Description
    interactionId Sys_id de l’enregistrement d’interaction vocale nouvellement créé. Situé dans la table Interaction [interaction].
    Utilisez cette sys_id lorsque :

    Type de données : chaîne

    Demande cURL

    L’exemple de code suivant montre comment initier une interaction vocale et transférer l’appel à un agent spécifique.

    curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --user 'username':'password' \ 
    --header "Content-Type: application/json"\ 
    -d '{ 
      "userId": "+14089178877",
      "agentId": "beth.anglin",
      "callerPhoneNumber": "+14089178878",
      "clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z"
    }'

    Réponse :

    {
      "result": {
        "interactionId": "4462cb4753751110b6e8ddeeff7b12ca"
      }
    }

    Ressource d’interaction vocale : POST /cs/voice-interactions/{interactionId}/conversation

    Crée un enregistrement de conversation dans la table Conversation [sys_cs_conversation] pour l’interaction spécifiée.

    Format d'URL

    URL versionnée : /api/now/{api_version}/cs/voice-interactions/{interactionId}/conversation

    URL par défaut : /api/now/v1/cs/voice-interactions/{interactionId}/conversation

    Paramètres de demande pris en charge

    Tableau 13. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    interactionId Sys_id de l’enregistrement d’interaction pour lequel créer l’enregistrement de conversation. Cette valeur est renvoyée par le Ressource d’interaction vocale : POST /cs/voice-interactions point de terminaison et stockée dans la table Interaction [interaction].

    Type de données : chaîne

    Tableau 14. Paramètres de requête
    Nom Description
    Aucun
    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    ID de l’agent Identificateur unique de l’agent auquel affecter l’interaction vocale. Situé dans le champ ID d’utilisateur de la table Utilisateur [sys_user].

    Type de données : chaîne

    Par défaut : appeler Agent virtuel

    callerPhoneNumber (en anglais seulement) Numéro de téléphone de rappel de l’appelant. Il s’agit du numéro que l’agent utilise pour joindre l’appelant en cas d’interruption de l’appel.

    Type de données : chaîne

    Format : conforme à la norme E.164

    Par défaut : Aucun

    ID de session client Identificateur unique d’un enregistrement dans un système externe utilisé pour suivre cet appel téléphonique. Ces informations relient les enregistrements entre les deux systèmes.

    Type de données : chaîne

    Par défaut : Aucun

    inboundId Identificateur unique du fournisseur d’application pour le service vocal. Situé dans le champ ID entrant de la table Application du canal du fournisseur [sys_cs_provider_application].

    Type de données : chaîne

    Par défaut : Extraire de la messagerie instantanée

    userId Obligatoire. Numéro de téléphone de l’appelant qui a passé l’appel associé à la transaction vocale.

    Type de données : chaîne

    Format : défini par le logiciel qui a créé le script de conversation vocale. Généralement conforme à la norme E.164.

    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 la 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 16. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 17. 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 la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 18. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Le JSON mal formé ou les paramètres requis n’ont pas été transmis.
    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 (JSON ou XML)

    Nom Description
    conversationId Sys_id de l’enregistrement de conversation nouvellement créé. Situé dans la table Conversation [sys_cs_conversation].

    Demande cURL

    L’exemple de code suivant montre comment appeler ce point de terminaison.

    curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions/7662cb4721751ea0b6e8dda1b27b131f/conversation" \  
    --request POST \  
    --header "Accept:application/json" \  
    --user 'username':'password' \  
    --header "Content-Type: application/json"\  
    -d '{  
      "userId": "+14089178877", 
      "agentId": "admin@example.com", 
      "callerPhoneNumber": "+14089178878", 
      "clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z" 
    }' 

    Réponse :

    { 
      "result": "a47e1afdb7471110b6e8bc15ae11a934" 
    } 

    Ressource d’interaction vocale : POST /cs/voice-interactions/{interactionId}/messages

    Ajoute les messages de conversations vocales spécifiés à l’enregistrement de transaction vocale spécifié. Ces messages sont généralement générés à l’aide de logiciels de fournisseurs tiers. Actuellement, seul Amazon Connect est pris en charge.

    Vous pouvez appeler ce point de terminaison plusieurs fois pendant la transcription en temps réel de l’appel ou transmettre tous les messages en un seul appel si vous transcrivez l’appel à des fins d’historique. Si vous traitez une conversation en temps réel, vous devez appeler ce point de terminaison fréquemment, afin que les messages apparaissent Espace de travail d'agent en temps opportun. Les messages sont triés en fonction de leurs heures de début et de fin par rapport au début de l’appel.

    Format d'URL

    URL versionnée : /api/now/{api_version}/cs/voice-interactions/{interactionId}/messages

    URL par défaut : /api/now/v1/cs/voice-interactions/{interactionId}/messages

    Paramètres de demande pris en charge

    Tableau 19. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    interactionId Sys_id de l’enregistrement d’interaction auquel ajouter les messages spécifiés. Cette valeur est renvoyée par le Ressource d’interaction vocale : POST /cs/voice-interactions point de terminaison et stockée dans la table Interaction [interaction].

    Type de données : chaîne

    Tableau 20. Paramètres de requête
    Nom Description
    Aucun
    Tableau 21. Paramètres de corps de la demande (Amazon Connect)
    Nom Description
    <json_string>
    Liste des messages à joindre à l’interaction vocale spécifiée.
    "<json_string>":[
      {
        "attributes": [Array],
        "beginOffsetMillis": Long,
        "content": "String"
        "endOffsetMillis": Long,
        "id": "String",
        "isEvent": Boolean,
        "isInternalMessage": Boolean,
        "loudnessScore": "Number",
        "participantId": "String",
        "sentiment": "String"
      }
    ]
    <json_string>.attributs
    Paires clé-valeur à associer à l’interaction vocale.

    Il peut s’agir de n’importe quel type d’objet de données, des objets simples aux objets composés complexes. Ils sont utilisés comme identificateurs uniques lors de l’appel des API Amazon Web Services.

    Type de données : tableau d’objets

    Par défaut : Aucun

    <json_string>.beginOffsetMillis Obligatoire. Décalage temporel entre le début de l’interaction vocale et le début du message associé. Par exemple : « beginOffsetMillis » : 2650.

    Type de données : Longue

    Unité : Millisecondes

    <json_string>.contenu Obligatoire. Texte du message à ajouter à l’interaction vocale.

    Type de données : chaîne

    <json_string>.endOffsetMillis Obligatoire. Décalage temporel entre le début de l’interaction vocale et la fin du message. Par exemple : « endOffsetMillis » : 9380.

    Type de données : Longue

    Unité : Millisecondes

    <json_string>.id UUID de message de la source de cette conversation vocale, par exemple pour AmazonConnect. Définit la valeur de colonne de l’ID du message source.

    Type de données : chaîne

    Par défaut : Aucun

    <json_string>.isEvent
    Défini par Amazon Connect, mais non utilisé actuellement par la méthode. Marqueur indiquant si le message associé est un événement.
    Valeurs valides :
    • true : le message est un événement.
    • false : le message n’est pas un événement.

    Type de données : booléennes

    Valeur par défaut : false

    <json_string>.isInternalMessage
    Marqueur indiquant s’il s’agit d’un message interne et ne doit pas être affiché à l’appelant.

    Les transcriptions sont généralement considérées comme des messages internes et n’apparaissent que pour l’agent et non pour l’appelant. En outre, Chuchotage est utilisé lorsqu’un tiers silencieux discute avec un agent ou est amené à participer à une conversation téléphonique à l’insu de l’appelant et offre des conseils à un agent. L’appelant n’entend ni ne voit ces messages, contrairement à l’agent.

    Valeurs valides :
    • true : message interne, ne pas afficher à l’appelant.
    • false : il ne s’agit pas d’un message interne, s’affiche à l’appelant.

    Type de données : booléennes

    Valeur par défaut : false

    <json_string>.loudnessScore
    Mesure du niveau sonore auquel un client ou un agent parle pendant un appel.

    Contact Lens affiche une analyse de la conversation qui montre où ils peuvent parler fort et avoir un sentiment négatif.

    Type de données : nombre

    Plage : -1,0 (négatif) à 1,0 (positif)

    Par défaut : null

    <json_string>.participantId
    Requis. Participant associé au message.
    Valeurs valides :
    • CLIENT
    • AGENT

    Type de données : chaîne

    <json_string>.sentiment
    Sentiment du message.

    Cette valeur est générée par un fournisseur tiers. En fonction des paramètres de configuration de l’instance ServiceNow , cette valeur est ensuite traduite comme positive, négative ou neutre et est stockée dans l’enregistrement de conversation et d’interaction.

    Valeurs valides :
    • NÉGATIF
    • NEUTRE
    • POSITIF

    Type de données : chaîne

    Par défaut : null

    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 la 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 22. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 23. 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 la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 24. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Le JSON mal formé ou les paramètres requis n’ont pas été transmis.
    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 (JSON ou XML)

    Nom Description
    résultat Message décrivant les résultats de l’appel.

    Type de données : chaîne

    ID de conversation Sys_id de l’enregistrement du message d’interaction vocale qui a été créé. Situé dans la table Message de conversation de la transcription vocale [sys_cs_message_voice_transcript].

    Type de données : chaîne

    Demande cURL

    L’exemple suivant montre comment ajouter des messages à un enregistrement d’interaction vocale existant.

    curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions/86837a386f0331003b3c498f5d3ee4ca/messages" \ 
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type: application/json"\ 
    --user 'username':'password' \
    -d ' [ 
      { 
        "isEvent": "false",  
        "isInternalMessage": "false",  
        "beginOffsetMillis": 10000,  
        "content": "This is John. How can I help you?",  
        "endOffsetMillis": 15000,  
        "id": "954c4edc-31a8-48b0-8f6e-7fa0c4ca00a8",  
        "participantId": "AGENT",  
        "sentiment": "NEUTRAL",  
        "loudnessScore": "null",  
        "attributes": [{  
          "key": "key1",  
          "value": "value1"  
          }, {  
          "key": "key2",  
          "value": "value2"  
        }] 
      },  
      {  
        "isEvent": "false",  
        "isInternalMessage": "false",  
        "beginOffsetMillis": 20000,  
        "content": "Uh, yes, John. Um, I'm a little very frustrated right now.",  
        "endOffsetMillis": 25000,  
        "id": "18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",  
        "participantId": "CUSTOMER",  
        "sentiment": "NEGATIVE"  
      },  
      {  
        "isEvent": "false",  
        "isInternalMessage": "false",  
        "beginOffsetMillis": 30000,  
        "content": "I am sorry to hear that",  
        "endOffsetMillis": 35000,  
        "id": "18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",  
        "participantId": "AGENT",  
        "sentiment": "NEGATIVE",  
     
      },  
      {  
        "isEvent":"false",
        "isInternalMessage":"false",
        "beginOffsetMillis":40000,
        "content":"Can you help me with my insurance? My ssn is 123-12-1234",
        "endOffsetMillis":45000,
        "id":"ab09b3b6-23fd-4e41-be05-6b2b53c19059",
        "participantId":"CUSTOMER",
        "sentiment":"NEUTRAL" 
      },  
      {  
        "isEvent":"False",
        "isInternalMessage":"False",
        "beginOffsetMillis":50000, 
        "content":"Of course, let me check your account",
        "endOffsetMillis":55000,
        "id":"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",
        "participantId":"AGENT",
        "sentiment":"NEUTRAL" 
      }  
    ]'

    Réponse :

    { 
      "result": "Voice conversation transcript has been successfully saved. Conversation id: 8439d3c753b51110b6e8ddeeff7b12e2" 
    }

    Ressource d’interaction vocale : POST /cs/voice-interactions/transcript

    Ajoute des messages à une interaction vocale existante une fois l’appel terminé. Vous pouvez utiliser cette API pour joindre les messages transcrits d’un appel vocal entre un agent et l’appelant.

    Format d'URL

    URL versionnée : /api/now/{api_version}/cs/voice-interactions/{interactionId}/transcript

    URL par défaut : /api/now/v1/cs/voice-interactions/{interactionId}/transcript

    Paramètres de demande pris en charge

    Tableau 25. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 26. Paramètres de requête
    Nom Description
    Aucun
    Tableau 27. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    conversationdémarrée Heure de début de la conversation. Situé dans la table Interaction [interaction].

    Type de données : chaîne

    Format : JJ-MM-AAAA HH :MM :SS

    interactionId Sys_id de l’enregistrement d’interaction auquel ajouter les messages spécifiés. Cette valeur est renvoyée par le Ressource d’interaction vocale : POST /cs/voice-interactions point de terminaison et stockée dans la table Interaction [interaction].

    Type de données : chaîne

    source Nom du canal qui a initialement créé la transcription d’interaction de conversation.

    Actuellement, la seule valeur prise en charge est Amazon Connect.

    Type de données : chaîne

    transcription Liste des messages à joindre à l’interaction vocale spécifiée.
    "transcript":[
      {
        "attributes": [Array],
        "beginOffsetMillis": Long,
        "content": "String"
        "endOffsetMillis": Long,
        "id": "String",
        "isEvent": Boolean,
        "isInternalMessage": Boolean,
        "loudnessScore": "String",
        "participantId": "String",
        "sentiment": "String"
      }
    ]

    Type de données : tableau d’objets

    transcription.attributs
    Paires clé-valeur à associer à l’interaction vocale.

    Il peut s’agir de n’importe quel type d’objet de données, des objets simples aux objets composés complexes. Ils sont utilisés comme identificateurs uniques lors de l’appel des API Amazon Web Services.

    Type de données : tableau d’objets

    Par défaut : Aucun

    transcription.beginOffsetMillis Obligatoire. Décalage temporel entre le début de l’interaction vocale et le début du message associé. Par exemple : « beginOffsetMillis » : 2650.

    Type de données : Longue

    Unité : Millisecondes

    transcription.contenu Obligatoire. Texte du message à ajouter à l’interaction vocale.

    Type de données : chaîne

    transcript.endOffsetMillis Obligatoire. Décalage temporel entre le début de l’interaction vocale et la fin du message. Par exemple : « endOffsetMillis » : 9380.

    Type de données : Longue

    Unité : Millisecondes

    transcript.id UUID de message de la source de cette conversation vocale, par exemple pour AmazonConnect. Définit la valeur de colonne de l’ID du message source.

    Type de données : chaîne

    Par défaut : Aucun

    transcription.isEvent
    Défini par Amazon Connect, mais non utilisé actuellement par la méthode. Marqueur indiquant si le message associé est un événement.
    Valeurs valides :
    • true : le message est un événement.
    • false : le message n’est pas un événement.

    Type de données : booléennes

    Valeur par défaut : false

    transcript.isInternalMessage (en anglais seulement)
    Marqueur indiquant s’il s’agit d’un message interne et ne doit pas être affiché à l’appelant.

    Les transcriptions sont généralement considérées comme des messages internes et n’apparaissent que pour l’agent et non pour l’appelant. En outre, Chuchotage est utilisé lorsqu’un tiers silencieux discute avec un agent ou est amené à participer à une conversation téléphonique à l’insu de l’appelant et offre des conseils à un agent. L’appelant n’entend ni ne voit ces messages, contrairement à l’agent.

    Valeurs valides :
    • true : message interne, ne pas afficher à l’appelant.
    • false : il ne s’agit pas d’un message interne, s’affiche à l’appelant.

    Type de données : booléennes

    Valeur par défaut : false

    transcript.loudnessScore (en anglais seulement)
    Mesure du niveau sonore auquel un client ou un agent parle pendant un appel.

    Contact Lens affiche une analyse de la conversation qui montre où ils peuvent parler fort et avoir un sentiment négatif.

    Type de données : nombre

    Plage : -1,0 (négatif) à 1,0 (positif)

    Par défaut : null

    transcript.participantId
    Requis. Participant associé au message.
    Valeurs valides :
    • CLIENT
    • AGENT

    Type de données : chaîne

    transcript.sentiment
    Sentiment du message.

    Cette valeur est générée par un fournisseur tiers. En fonction des paramètres de configuration de l’instance ServiceNow , cette valeur est ensuite traduite comme positive, négative ou neutre et est stockée dans l’enregistrement de conversation et d’interaction.

    Valeurs valides :
    • NÉGATIF
    • NEUTRE
    • POSITIF

    Type de données : chaîne

    Par défaut : null

    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 la 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 28. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 29. 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 la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 30. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Le JSON mal formé ou les paramètres requis n’ont pas été transmis.
    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 (JSON ou XML)

    Nom Description
    résultat Message décrivant les résultats de l’appel.

    Type de données : chaîne

    ID de conversation Sys_id de la table de conversation vocale à laquelle les messages étaient joints. Situé dans la table Conversation [sys_cs_message_conversation].

    Type de données : chaîne

    Demande cURL

    L’exemple suivant montre comment ajouter des messages à un enregistrement d’interaction vocale existant.

    curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions/transcript" \  
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type: application/json"\  
    --user 'username':'password' \ 
    -d ' { 
      "interactionId": "e67a6c30c7233010967a34c91dc26068", 
      "source": "Amazon Connect", 
      "conversationStarted": "2021-08-06 15:07:51", 
      "transcript": [ 
        { 
          "isEvent": "False", 
          "isInternalMessage": "False", 
          "beginOffsetMillis": 100000, 
          "content": "This is John. How can I help you?", 
          "endOffsetMillis": 150000, 
          "id": "954c4edc-31a8-48b0-8f6e-7fa0c4ca00a8", 
          "participantId": "AGENT", 
          "sentiment": "NEUTRAL" 
        }, 
        { 
          "isEvent": "False",
          "isInternalMessage": "False", 
          "beginOffsetMillis": 200000, 
          "content": "Uh, yes, John. Um, I'm a little frustrated right now.", 
          "endOffsetMillis": 25000, 
          "id": "18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f", 
          "participantId": "CUSTOMER", 
          "sentiment": "NEGATIVE" 
        } 
      ] 
    } ' 

    Réponse :

    {  
      "result": "Voice conversation transcript has been successfully saved. Conversation id: 8439d3c753b51110b6e8ddeeff7b12e2"  
    }