API de ressource d’interaction vocale

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 20 minutes de lecture
  • L’API Voice Interaction fournit des points de terminaison permettant de transcrire et de 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 discutent.

    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 s’affichent dans Espace de travail d'agent, ce qui permet aux agents d’exploiter des fonctionnalités telles que l’assistant d’agent et la recherche, tout en discutant avec 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’appels

    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é, cependant, ce type d’implémentation n’est pas couvert dans cette section.
    1. Commencez par appeler le point de Ressource d’interaction vocale : POST /cs/voice-interactions 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 s’affichent Espace de travail d'agent en temps opportun. Lors du traitement d’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é de conserver les messages vocaux, appelez le point de Ressource d’interaction vocale : PATCH /cs/voice-interactions/{interactionId}/state terminaison pour mettre fin à la capture et fermer l’enregistrement de l’interaction vocale.

    Disponibilité

    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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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 mettre fin. Renvoyé par le point de Ressource d’interaction vocale : POST /cs/voice-interactions terminaison.

    Type de données : chaîne

    Table : Interaction [interaction]

    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 de l’enregistrement vocal d’origine.

    Si elle est configurée à cette fin, 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

    Type de contenu 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 la réponse (JSON ou XML)

    Nom Description
    résultat Statut 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 se situe dans l’instance ServiceNow , l’instance consigne la trace de la pile associée.

    Demande cURL

    L’exemple suivant montre comment mettre fin à 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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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
    agentId Identificateur unique de l’agent auquel affecter l’interaction vocale.

    Type de données : chaîne

    Par défaut : invoquer l’Agent virtuel

    Numéro de téléphone de l’appelant 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

    clientSessionId Identificateur unique d’un enregistrement dans un système externe utilisé pour suivre cet appel téléphonique entre les systèmes, permettant l’intégration entre ServiceNow et des plateformes tierces (par exemple, les fournisseurs CCaaS).

    Type de données : chaîne

    Par défaut : aucun

    inboundId Identificateur unique du fournisseur d’application pour le service vocal.

    Type de données : chaîne

    Valeur 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

    Type de contenu 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 la réponse (JSON ou XML)

    Nom Description
    interactionId Sys_id de l’enregistrement d’interaction vocale nouvellement créé.
    Utilisez cette sys_id lorsque :

    Type de données : chaîne

    Table : Interaction [interaction]

    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 de 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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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 point de Ressource d’interaction vocale : POST /cs/voice-interactions 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
    agentId Identificateur unique de l’agent auquel affecter l’interaction vocale.

    Type de données : chaîne

    Par défaut : invoquer l’Agent virtuel

    Numéro de téléphone de l’appelant 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

    clientSessionId Identificateur unique d’un enregistrement dans un système externe utilisé pour suivre cet appel téléphonique entre les systèmes, permettant l’intégration entre ServiceNow et des plateformes tierces (par exemple, les fournisseurs CCaaS).

    Type de données : chaîne

    Par défaut : aucun

    inboundId Identificateur unique du fournisseur d’application pour le service vocal.

    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

    Type de contenu 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 la réponse (JSON ou XML)

    Nom Description
    conversationId Sys_id de l’enregistrement de conversation nouvellement créé.

    Type de données : chaîne

    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 d’un logiciel de fournisseur 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 historiques. Si vous traitez une conversation en temps réel, vous devez appeler ce point de terminaison fréquemment, afin que les messages s’affichent Espace de travail d'agent en temps opportun. Les messages sont classé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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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 point de Ressource d’interaction vocale : POST /cs/voice-interactions 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 du 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 : long

    Unité : millisecondes

    <json_string>.content 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 : long

    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 d’ID du message source.

    Type de données : chaîne

    Par défaut : aucun

    <json_string>.isEvent
    Défini par Amazon Connect mais non actuellement utilisé par la méthode. Marqueur indiquant si le message associé est un événement.
    Valeurs valides :
    • vrai : le message est un événement.
    • faux : 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 tiers silencieux ou est amené dans une conversation téléphonique sans que l’appelant le sache et offre des conseils à un agent. L’appelant n’entend ni ne voit ces messages, mais l’agent si.

    Valeurs valides :
    • vrai : message interne, ne pas afficher à l’appelant.
    • faux : Pas un message interne, affichage à l’appelant.

    Type de données : booléennes

    Valeur par défaut : false

    <json_string>.ScoreLoudness
    Mesure du volume de la parole d’un client ou d’un agent 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)

    Valeur par défaut : nul

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

    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 en positif, négatif 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

    Valeur par défaut : nul

    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

    Type de contenu 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 la 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éé.

    Type de données : chaîne

    Table : Message de conversation de la transcription vocale [sys_cs_message_voice_transcript]

    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 lorsqu’un appel est terminé. Vous pouvez utiliser cette API pour joindre des messages transcrits d’un appel vocal entre un agent et son 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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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
    conversationStarted Heure de début de la conversation.

    Type de données : chaîne

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

    Table : Interaction [interaction]

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

    Type de données : chaîne

    Table : Interaction [interaction]

    source Nom du canal qui a créé à l’origine la transcription de l’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 : long

    Unité : millisecondes

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

    Type de données : chaîne

    transcription.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 : long

    Unité : millisecondes

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

    Type de données : chaîne

    Par défaut : aucun

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

    Type de données : booléennes

    Valeur par défaut : false

    transcript.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 tiers silencieux ou est amené dans une conversation téléphonique sans que l’appelant le sache et offre des conseils à un agent. L’appelant n’entend ni ne voit ces messages, mais l’agent si.

    Valeurs valides :
    • vrai : message interne, ne pas afficher à l’appelant.
    • faux : Pas un message interne, affichage à l’appelant.

    Type de données : booléennes

    Valeur par défaut : false

    transcript.LoudnessScore
    Mesure du volume de la parole d’un client ou d’un agent 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)

    Valeur par défaut : nul

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

    Type de données : chaîne

    Transcription.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 en positif, négatif 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

    Valeur par défaut : nul

    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

    Type de contenu 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 la 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 ont été joints.

    Type de données : chaîne

    Table : Conversation [sys_cs_message_conversation]

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