API openframe

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 8 minutes de lecture
  • L’API OpenFrame fournit des points de terminaison qui permettent au Centre de contact en tant que service (CCaaS) de créer et de mettre à jour des enregistrements d’interaction sans utiliser le gestionnaire d’opération.

    Utilisez cette API pour créer des enregistrements d’interaction afin de suivre les appels téléphoniques de l’agent. Une fois qu’un enregistrement d’interaction est créé, il peut s’afficher automatiquement lorsqu’un Espace de travail configurable de CSM agent reçoit un appel téléphonique.

    Pour accéder à cette API, le module d’extension com.sn_openframe_store doit être installé sur l’instance et l’utilisateur appelant doit avoir le rôle sn_openframe_api_user ou sn_openframe_user. L’API openframe s’exécute dans l’espace de noms sn_openframe .

    Pour plus d’informations sur les enregistrements d’interaction vocale CSM, reportez-vous à la section CSM voice interaction record page.

    openframe - CORRECTIF /openframe/voice-interaction/{interactionSysId}

    Met à jour l’enregistrement d’interaction spécifié dans la table Interaction [interaction]. Les fournisseurs de centre de contact en tant que service (CCaaS) peuvent ensuite utiliser ces enregistrements pour suivre les appels téléphoniques.

    Format d'URL

    URL versionnée : /api/now/openframe/{api_version}/voice-interaction/{interactionSysId}

    URL par défaut : /api/now/openframe/voice-interaction/{interactionSysId}

    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

    interactionSysId Sys_id de l’enregistrement d’interaction à mettre à jour. Cette valeur est renvoyée par le point de terminaison Créer une interaction vocale/POST .

    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
    interaction Requis. Détails de l’interaction vocale. Au moins un paramètre doit être transmis.

    Type de données : objet

    "interaction": {
      "additionalParams": {Object},
      "callbackPhoneNumber": "String",
      "clientSessionId": "String",
      "inboundId": "String",
      "userPhoneNumber": "String"
    }
    interaction.additionalParams Paires nom-valeur des champs d’enregistrement d’interaction associés et leurs valeurs respectives.
    Par exemple :
    "additionalParams": {
      "direction": "inbound",
      "short_description": "New outbound call",
      "assigned_to": "a8f98bb0eb32010045e1a5115206fe3a"
    }

    Type de données : objet

    Par défaut : aucun

    interaction.callbackPhoneNumber 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 : E.164

    Par défaut : aucun

    interaction.clientSessionId Identificateur unique de l’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

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

    Table : champ d’ID entrant dans la table Application du canal du fournisseur [sys_cs_provider_application].

    Par défaut : aucun

    interaction.userPhoneNumber Numéro de téléphone de l’utilisateur ayant passé l’appel associé à l’interaction vocale.

    Type de données : chaîne

    Format : E.164

    interactionContext Variables de contexte d’interaction à définir. Paires nom-valeur des variables de contexte d’interaction à enregistrer dans l’enregistrement d’interaction. Ces valeurs sont déterminées par CCaaS.
    Par exemple :
    "interactionContext":{
      "devicetype": "genesys",
      "requester_session_language": "en-US"
    }

    Type de données : objet

    Par défaut : aucun

    Journaux téléphoniques Paires nom-valeur des journaux téléphoniques à créer et à associer à un appel. Vous pouvez spécifier n’importe quel champ dans la table Journal téléphonique [sn_open_frame_phone_log].
    Par exemple :
    "phoneLogs":[
      {
        "agent": "String",
        "call_id": "String",
        "start_time": "String"
      }
    ]

    Type de données : tableau d’objets

    Par défaut : aucun

    Enregistrements connexes Enregistrements associés à l’appel.
    Type de données : tableau d’objets
    "relatedRecords":[
      {
        "documentId": "String",
        "documentTable": "String"
      }
    ]

    Par défaut : aucun

    relatedRecords.documentId Sys_id de l’enregistrement connexe.

    Type de données : chaîne

    Table : spécifiée dans le relatedRecords.documentTable paramètre.

    relatedRecords.documentTable Nom de la table qui contient l’enregistrement connexe.

    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. Un type de demande incorrecte ou mal formé a été détecté.
    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
    état État de la mise à jour de l’enregistrement.
    Valeurs possibles :
    • RÉUSSITE : l’enregistrement d’interaction a été mis à jour avec succès.
    • ÉCHEC : l’enregistrement d’interaction n’a pas été mis à jour.

    Demande cURL

    L’exemple de code suivant montre comment mettre à jour l’enregistrement d’interaction avec le sys_id 12961fff7fb2d2102d0cd3cf8c86652b.

    curl "http://instance.service-now.com/api/now/openframe/voice-interaction/12961fff7fb2d2102d0cd3cf8c86652b" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"interaction\":{
          \"additionalParams\":{
             \"direction\":\"inbound\",
             \"short_description\":\"New Poonam outbound call\",
             \"assigned_to\":\"a8f98bb0eb32010045e1a5115206fe3a\"
          }
       },
       \"interactionContext\":{
          \"devicetype\":\"genesys\",
          \"requester_session_language\":\"en-US\"
       },
       \"phoneLogs\":[
          {
             \"call_id\":\"2323223\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"33535353\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"1997654\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          }
       ],
       \"relatedRecords\":[
          {
             \"documentTable\":\"csm_consumer\",
             \"documentId\":\"59e788fbdb1b1200b6075200cf9619d2\"
          },
          {
             \"documentTable\":\"sys_user\",
             \"documentId\":\"62826bf03710200044e0bfc8bcbe5df1\"
          }
       ]
    }" \
    --user 'username':'pasword'
    

    Réponse :

    {
      "result": {
        "status": "SUCCESS"
      }
    }
    

    openframe - POST /openframe/voice-interaction

    Crée un enregistrement d’interaction dans la table Interaction [interaction] lorsqu’un agent accepte un appel. Les fournisseurs de centre de contact en tant que service (CCaaS) peuvent ensuite utiliser ces enregistrements pour suivre les appels téléphoniques.

    Utilisez ce point de terminaison pour fournir une expérience cohérente aux agents, similaire aux autres canaux natifs tels que la messagerie instantanée et le ticket, lors de l’acceptation d’appels téléphoniques.

    Format d'URL

    URL versionnée : /api/now/openframe/{api_version}/voice-interaction

    URL par défaut : /api/now/openframe/voice-interaction

    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
    interaction Obligatoire. Détails de l’interaction vocale. Au moins un paramètre doit être transmis.
    Type de données : objet
    "interaction": {
      "additionalParams": {Object},
      "callbackPhoneNumber": "String",
      "clientSessionId": "String",
      "inboundId": "String",
      "userPhoneNumber": "String"
    }
    interaction.additionalParams Paires nom-valeur des champs d’enregistrement d’interaction associés et leurs valeurs respectives.
    Par exemple :
    "additionalParams": {
      "direction": "inbound",
      "short_description": "New outbound call",
      "assigned_to": "a8f98bb0eb32010045e1a5115206fe3a"
    }

    Type de données : objet

    Par défaut : aucun

    interaction.callbackPhoneNumber 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 : E.164

    Par défaut : aucun

    interaction.clientSessionId Identificateur unique de l’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

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

    Table : champ d’ID entrant dans la table Application du canal du fournisseur [sys_cs_provider_application].

    Par défaut : aucun

    interaction.userPhoneNumber Requis. Numéro de téléphone de l’utilisateur ayant passé l’appel associé à l’interaction vocale.

    Type de données : chaîne

    Format : E.164

    interactionContext Variables de contexte d’interaction à définir. Paires nom-valeur des variables de contexte d’interaction à enregistrer dans l’enregistrement d’interaction. Ces valeurs sont déterminées par CCaaS.
    Par exemple :
    "interactionContext":{
      "devicetype": "genesys",
      "requester_session_language": "en-US"
    }

    Type de données : objet

    Par défaut : aucun

    Journaux téléphoniques Paires nom-valeur des journaux téléphoniques à créer et à associer à un appel. Vous pouvez spécifier n’importe quel champ dans la table Journal téléphonique [sn_open_frame_phone_log].
    Par exemple :
    "phoneLogs":[
      {
        "agent": "String",
        "call_id": "String",
        "start_time": "String"
      }
    ]

    Type de données : tableau d’objets

    Par défaut : aucun

    Enregistrements connexes Enregistrements associés à l’appel.
    Type de données : tableau d’objets
    "relatedRecords":[
      {
        "documentId": "String",
        "documentTable": "String"
      }
    ]

    Par défaut : aucun

    relatedRecords.documentId Sys_id de l’enregistrement connexe.

    Type de données : chaîne

    Table : spécifiée dans le relatedRecords.documentTable paramètre.

    relatedRecords.documentTable Nom de la table qui contient l’enregistrement connexe.

    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 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. Un type de demande incorrecte ou mal formé a été détecté.
    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
    Numéro Ne revenait qu’en cas de succès. Numéro d’interaction de l’interaction vocale nouvellement créée.

    Type de données : chaîne

    état État de la création de l’enregistrement.
    Valeurs possibles :
    • RÉUSSITE : l’enregistrement d’interaction a été créé avec succès.
    • ÉCHEC : l’enregistrement d’interaction n’a pas été créé.
    sysId Ne revenait qu’en cas de succès. Sys_id de l’enregistrement d’interaction vocale nouvellement créé.

    Table : Interaction [interaction]

    Demande cURL

    L’exemple de code suivant montre comment créer un nouvel enregistrement d’interaction.

    curl "http://instance.service-now.com/api/now/openframe/voice-interaction" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"interaction\":{
          \"userPhoneNumber\":\"+1303506536\",
          \"clientSessionId\":\"a545t65678\",
          \"callbackPhoneNumber\":\"+14089965744\",
          \"additionalParams\":{
             \"direction\":\"inbound\",
             \"short_description\":\"New outbound call\",
             \"assigned_to\":\"a8f98bb0eb32010045e1a5115206fe3a\"
          }
       },
       \"interactionContext\":{
          \"devicetype\":\"genesys\",
          \"requester_session_language\":\"en-US\"
       },
       \"phoneLogs\":[
          {
             \"call_id\":\"2323223\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"33535353\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"1997654\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          }
       ],
       \"relatedRecords\":[
          {
             \"documentTable\":\"csm_consumer\",
             \"documentId\":\"59e788fbdb1b1200b6075200cf9619d2\"
          },
          {
             \"documentTable\":\"sys_user\",
             \"documentId\":\"62826bf03710200044e0bfc8bcbe5df1\"
          }
       ]
    }" \
    --user 'username':'password'
    

    Réponse :

    {
      "result": {
        "status": "SUCCESS",
        "sysId": "12961fff7fb2d2102d0cd3cf8c86652b",
        "number": "IMS0000052"
      }
    }