API openframe
L’API OpenFrame fournit des points de terminaison qui offrent au Centre de contact en tant que service (CCaaS) la possibilité 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éé, l’interaction 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 - PATCH /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}
Paramètres de demande pris en charge
| 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 autre que la plus récente. 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 Create Voice Interaction/POST . Type de données : chaîne Table : Interaction [interaction] |
| Nom | Description |
|---|---|
| Néant |
| 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 | Paires nom-valeur des champs d’enregistrement d’interaction associés et leurs valeurs respectives. Par exemple : Type de données : objet Par défaut : aucun |
| interaction.callbacknumérotéléphone | 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. Cette valeur est mappée au champ caller_phone_number dans la table Interaction [interaction]. Voir également la description de la callerPhoneNumber propriété Créer une interaction vocale/POST. 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’applications pour le service vocal. Table : champ ID entrante dans la table Application de canal du fournisseur [sys_cs_provider_application]. Par défaut : aucun |
| interaction.numérotéléphoneutilisateur. | 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 le CCaaS. Par exemple : 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 : 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 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 uniquement à cette action HTTP 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.
| 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 des données du corps de la demande. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Néant |
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.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été traitée avec succès. |
| 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 |
|---|---|
| statut | État de la mise à jour de l’enregistrement. Valeurs possibles :
|
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/interaction vocale
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 à d’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
Paramètres de demande pris en charge
| 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 autre que la plus récente. Type de données : chaîne |
| Nom | Description |
|---|---|
| Néant |
| 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 | Paires nom-valeur des champs d’enregistrement d’interaction associés et leurs valeurs respectives. Par exemple : Type de données : objet Par défaut : aucun |
| interaction.callbacknumérotéléphone | 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. Cette valeur est mappée au champ caller_phone_number dans la table Interaction [interaction]. Voir également la description de la callerPhoneNumber propriété Créer une interaction vocale/POST. 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’applications pour le service vocal. Table : champ ID entrante dans la table Application de canal du fournisseur [sys_cs_provider_application]. Par défaut : aucun |
| interaction.numérotéléphoneutilisateur. | 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 le CCaaS. Par exemple : 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 : 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 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 uniquement à cette action HTTP 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.
| 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 des données du corps de la demande. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Néant |
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.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été traitée avec succès. |
| 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 | Seulement retourné avec succès. Numéro d’interaction de l’interaction vocale nouvellement créée. Type de données : chaîne |
| statut | État de la création de l’enregistrement. Valeurs possibles :
|
| sysId | Seulement retourné avec 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 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"
}
}