API openframe
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}
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 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] |
| Nom | Description |
|---|---|
| Aucun |
| 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.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 : 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 à 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.
| 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 |
| 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.
| 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 :
|
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
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 différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
| 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 | 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.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 : 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 à 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.
| 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 |
| 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.
| 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 :
|
| 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"
}
}