API de rappel Omichannel

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 40 minutes de lecture
  • L’API Omnichannel Callback fournit des méthodes de création, de mise à jour et de lancement d’une demande de rappel pour les conversations avec des agents actifs.

    L’API Omnichannel Callback permet aux agents de rappeler des utilisateurs par programmation plutôt que d’attendre un agent disponible dans la file d’attente. Par exemple, les agents peuvent utiliser la fonctionnalité de rappel pour rappeler des utilisateurs lorsque le temps d’attente de l’agent est long ou lorsqu’aucun agent n’est disponible. Vous pouvez effectuer les actions suivantes avec cette API :
    • Créez une nouvelle demande de rappel immédiat ou planifiez une nouvelle demande.
    • Créez une interaction initiale et de nouvelles tentatives d’interaction ultérieures.
    • Mettez à jour un rappel existant.

    Cette API appartient à l’espace de noms sn_omni_callback et nécessite le rôle Administrateur avec API de rappel [sn_omni_callback.callback_api].

    Pour en savoir plus sur l’application en tant qu’aptitude ServiceNow de la Rappel omnicanal plateforme IA, reportez-vous à la section Omnichannel Callback.

    Rappel omnicanal : POST api/sn_omni_callback/actions

    Fournit des actions pour l’intégration de plateformes CCaaS (Contact Center as a Service) tierces au ServiceNow® système de rappel omnicanal de . Cette API agit comme un pont, acheminant les opérations de rappel (créer, mettre à jour, annuler, fermer) vers les fournisseurs CCaaS externes via des flux secondaires configurables Studio de workflow .

    Remarque :
    Ce point de terminaison fonctionne de la même manière que Rappel omnicanal : POST /api/sn_omni_callback/callback/create et Rappel omnicanal : PATCH /api/sn_omni_callback/callback/update, mais il est utilisé pour mettre à jour ou créer des rappels dans une intégration tierce avec un contexte d’acheminement.

    Intelligent Routing

    Le point de terminaison /actions achemine intelligemment les demandes de rappel en fonction du routingContext paramètre. Lorsqu’une règle d’acheminement est configurée, l’API utilise une structure de charge utile unique et unifiée pour toutes les actions et achemine la demande vers un flux secondaire CCaaS à l’aide de routingContext. Lorsque l’acheminement est configuré, le contenu de la demande ne change jamais. Seule la valeur de niveau action supérieur diffère.

    Remarque :
    L’API recherche les règles d’acheminement dans la table Configuration de l’acheminement du rappel [sys_cs_callback_routing_config] en fonction du routingContext paramètre. Si une règle de correspondance est trouvée, la demande est transmise au flux secondaire personnalisé configuré. Le flux secondaire peut s’intégrer à des plateformes CCaaS externes ou mettre en œuvre une logique métier personnalisée. Le flux secondaire traite la demande et renvoie la réponse.

    Si elle est omise ou si routingContext aucune règle d’acheminement ne correspond, l’API revient au comportement par défaut ServiceNow et attend le format de charge utile standard des points de terminaison POST /create, PATCH /update ou PATCH /cancel correspondants.

    Format d'URL

    URL versionnée : /api/sn_omni_callback/v1/actions

    URL par défaut : /api/sn_omni_callback/actions

    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 autre que la plus récente.

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres du corps de la demande
    Nom Description
    Objet Objet contenant l’opération et les détails.

    Type de données : objet

    {
        "action": "String",
        "payload": {Object},
        "routingContext": {Object}
      }
    action Requis. Définit l’action à effectuer sur le rappel.
    Valeurs acceptées :
    • create : crée un nouvel enregistrement de rappel.
    • update : met à jour un enregistrement de rappel existant en fonction du numéro de rappel.
    • close : ferme un enregistrement de rappel, car la demande de rappel a été exécutée. N’initie pas le rappel. Met à jour le champ Motif dans la table Rappel [sys_cs_callback].
    • annuler : annule un enregistrement de rappel, car le client a annulé la demande et n’a pas besoin de se connecter à un agent. Met à jour le champ Motif dans la table Rappel [sys_cs_callback].

    Type de données : chaîne

    charge utile Requis. Objet contenant des données spécifiques requises pour l’action donnée lors routingContext de la transmission de l’objet. Pour les opérations fermer et annuler, seule callbackID la charge utile est nécessaire.
    Remarque :
    Pour les actions de création et de mise à jour, si routingContext elle n’est pas transmise, utilisez la structure d’objets payload documentée dans les Rappel omnicanal : POST /api/sn_omni_callback/callback/create opérations and Rappel omnicanal : PATCH /api/sn_omni_callback/callback/update , respectivement. La section « Exemples » présente les scénarios d’acheminement et de non-acheminement.

    Type de données : objet

    payload Structure pour les actions de création et de mise à jour.

    {
      "callbackContext": {Object},
      "callbackDetails": {Object},
      "callbackId": "String",
      "phoneNumber": "String",
      "type": "String"
    }

    payload Structure des actions fermer et annuler.

    "payload": {
      "callbackId": "String"
    }
    payload.callbackContext Facultatif. Objet contenant les détails de contexte de la demande de rappel.

    Table : Contexte de rappel [sys_cs_callback_context]

    Type de données : objet

    "callbackContext": {
      "customer_timezone": "String",
      "ivr_path": "String",
      "queue": "String"
    }
    payload.callbackContext.customer_timezone Fuseau horaire du client ayant demandé le rappel. Les fuseaux horaires peuvent être fournis dans les formats suivants.
    • Pays/Ville : par exemple, Amérique/Los_Angeles.
    • Pays/Fuseau horaire : par exemple, États-Unis/Pacifique.
    • Abréviation du fuseau horaire : par exemple, PST.

    Pour obtenir la liste complète des fuseaux horaires valides, consultez le champ Fuseau horaire de la table Utilisateur [sys_user]. Pour plus d’informations sur les fuseaux horaires, reportez-vous à la section Time zones.

    Type de données : chaîne

    payload.callbackContext.ivr_path Le chemin IVR (serveur vocal interactif) qu’un client suit avant d’être transféré à un agent humain.

    Contient généralement une liste des files d’attente ou des options de menu que le client a parcourues dans le système IVR. Cette chaîne est transmise par le Centre de contact en tant que service (CCaaS). Par exemple, « ivr_path » : « Assistance technique > Gestion des comptes »

    Type de données : chaîne

    payload.callbackContext.queue Numérotez les affectations dans la file d’attente.

    Type de données : chaîne

    charge utile.callbackDetails Facultatif. Objet contenant les détails de la demande de rappel.

    Table : Rappel [sys_cs_callback]

    Type de données : objet

    "callbackDetails": {
      "description": "String",
      "end_time": "String",
      "expire_time": "String",
      "first_name": "String",
      "last_name": "String",
      "opened_by": "String",
      "phone_number": "String",
      "next_retry": "String",
      "reason": "String",
      "scheduled_start_time": "String",
      "short_description": "String",
      "state": "String", 
      "type": "String"
    }
    chargeutile.détailsrappel.description Explication détaillée de la demande de rappel. Peut inclure des préoccupations client spécifiques, le contexte ou des notes de l’agent.

    Type de données : chaîne

    payload.callbackDetails.end_time Intervalle de temps auquel la demande de rappel est censée être terminée. Après cet horodatage, le rappel est considéré comme en retard ou expiré sauf reprogrammation. Applicable uniquement à un type de rappel planifié .

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    payload.callbackDetails.expire_time Heure limite finale après laquelle la demande de rappel ne doit plus être tentée. Elle est souvent utilisée pour fermer ou annuler automatiquement les demandes périmées.

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    payload.callbackDetails.first_name Prénom du client demandant le rappel.

    Type de données : chaîne

    payload.callbackDetails.last_name Nom de famille du client demandant le rappel.

    Type de données : chaîne

    payload.callbackDetails.opened_by Sys_id de l’utilisateur ou de l’agent qui a créé ou initié la demande de rappel.

    Table : Utilisateur [sys_user]

    payload.callbackDetails.phone_number Numéro de téléphone du client à rappeler.

    Type de données : chaîne

    payload.callbackDetails.next_retry Heure de la prochaine tentative planifiée en cas d’échec des tentatives de rappel précédentes. Utile pour la logique de nouvelle tentative automatisée ou manuelle.

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    charge utile.callbackDetails.reason Motif de la demande de rappel. Aide à l’acheminement, à l’analyse et à la génération de rapports en balisant le rappel avec un motif standardisé.
    Valeurs valides :
    • Autre problème
    • Valeurs personnalisées définies par votre implémentation. Par exemple, « Demande de facturation »,« Assistance technique »

    Table : Rappel [sys_cs_callback], Champ : reason_type

    Type de données : chaîne

    payload.callbackDetails.scheduled_start_time Valeur de date et d’heure de début de la fenêtre de rappel. Applicable uniquement à un type de rappel planifié .

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    payload.callbackDetails.short_description Bref résumé de la demande de rappel, généralement utilisé dans des listes ou des tableaux de bord.

    Type de données : chaîne

    chargeutile.callbackDetails.state Le statut actuel du workflow de la demande de rappel.
    Valeurs valides :
    • Approbation en attente
    • En cours
    • Terminé
    • annulé

    Type de données : chaîne

    charge.callbackDetails.type Catégorie de la demande. La valeur est toujours rappel.
    charge.callbackId Requis. Sys_id ou external_id du rappel.

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    charge.numéro.téléphone Requis. Numéro de téléphone de l’utilisateur demandant le rappel.

    Type de données : chaîne

    charge.type Requis. Type de rappel.

    Valeur valide : callback_request

    Type de données : chaîne

    routingContext Requis pour la configuration de l’acheminement. En cas de non réussite ou si la règle d’acheminement ne correspond pas, le point de terminaison d’actions n’invoque pas de flux secondaire CCaaS et rebascule sur l’utilisation du traitement ServiceNow par défaut.

    Informations contextuelles utilisées pour trouver un flux secondaire personnalisé ou une règle d’acheminement. En cas d’omission, l’API utilise le traitement de rappel par défaut.

    Type de données : objet

    "routingContext": {
     "sourceTable": "String",
     "sourceId": "String",
     "userId": "String"
    }
    routingContext.sourceId Sys_id de l’enregistrement source initiant le rappel. Correspond à la valeur de sourceTable.

    Type de données : chaîne

    routingContext.sourceTable Nom de la table d’où provient la demande.
    Valeurs acceptées :
    • sp_portal
    • sn_csm_ec_engmnt_center_module
    • sn_embeddable_core_module

    Type de données : chaîne

    routingContext.userId Utilisateur à l’origine de la demande (généralement l’agent ou l’utilisateur système).

    Table : Utilisateur [sys_user]

    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.

    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

    Tableau 5. En-têtes de réponses
    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.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été traitée avec succès.

    Paramètres du corps de la réponse (JSON ou XML)

    Nom Description
    body Objet contenant des informations sur la réussite ou l’échec de la demande.

    Type de données : objet

    {
      "status": 200,
      "body": {
        "message": "String",
        "number": "String"
     }
    }
    Corps.Message Message contenant de brefs détails sur la réussite ou l’échec de l’action.

    Type de données : chaîne

    Corps.Numéro Le numéro de référence du rappel. Par exemple, « CAL0010012 ».

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    statut Code d’état correspondant de la demande.

    Type de données : chaîne

    Créer un exemple (routage activé)

    Cette action crée un nouvel enregistrement de rappel avec le contexte d’acheminement configuré.

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "action": "create",
      "routingContext": {
        "sourceTable": "sn_csm_ec_engmnt_center_module",
        "sourceId": "a1b2c3d4e5f6a7b8",
        "userId": "beth.anglin"
      },
      "payload": {
        "callbackId": "cb-98765",
        "callbackDetails": {
          "first_name": "Alice",
          "last_name": "Smith",
          "state": "Pending Approval",
          "reason": "Request updated by user",
          "end_time": "2025-12-17T23:00:00Z",
          "scheduled_start_time": "2025-12-17T22:00:00Z",
          "next_retry": "2025-12-18T10:00:00Z",
          "expiry_time": "2025-12-18T12:00:00Z",
          "phone_number": "+14155552671",
          "short_description": "Callback request for customer support",
          "description": "Customer requested a callback regarding their recent order.",
          "opened_by": "user_sys_id_12345",
          "type": "callback"
        },
        "type": "callback_request",
        "phoneNumber": "+14155552671",
        "callbackContext": {
          "queue": "Customer Support",
          "ivr_path": "support/ivr-path",
          "customer_timezone": "GMT-5"
        }
      },
      "additional_parameters": {}
    }

    Créer (aucun contexte d’acheminement)

    L’exemple suivant montre comment créer un enregistrement de rappel sans contexte d’acheminement.
    Remarque :
    Créer des actions sans contexte d’acheminement Suivez la structure de requête documentée à la section Rappel omnicanal : POST /api/sn_omni_callback/callback/create.
    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "action": "create",
      "payload": {
      "type": "asap",
      "callbackDetails": {
        "appointment": "68cc0a5a9314521060320dd548373cbd",
        "description": "Customer reported issue with order #12345",
        "short_description": "Order issue",
        "reason_type": "product_issue",
        "expire_time": "2025-09-01 17:00",
        "messaging_channel": "web_channel_sys_id",
        "channel_to_callback": "genesys_channel_sys_id",
        "scheduled_start_time": "2025-09-01 1:00",
        "end_time": "2025-09-01 17:00",
        "user_document": "abel.tuter",
        "user_table": "sys_user"
    },
      },
      "callbackContext": {
        "queue": "sample queue",
        "ivr_path": "sample ivr path"
      },
      "inboundId": "ServiceNowVoice",
      "isExternal": true,
      "phoneNumber": "+123454768",
      "externalCallbackId": "new-external-id",
      "interactionDetails": {
        "clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z",
        "userId": "32423424",
        "callerPhoneNumber": "+14089178877"
      }
    }

    Action de mise à jour (routage activé)

    Cet exemple d’action met à jour un enregistrement de rappel existant avec le contexte d’acheminement. La callbackNumber valeur identifie l’enregistrement à mettre à jour :

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "action": "update",
      "payload": {
        "callbackDetails": {
          "appointment": "68cc0a5a9314521060320dd548373cbd",
          "description": "Customer reported issue with order #12345",
          "short_description": "Order issue",
          "reason_type": "product_issue",
          "expire_time": "2025-09-01 17:00",
          "messaging_channel": "web_channel_sys_id",
          "channel_to_callback": "genesys_channel_sys_id",
          "scheduled_start_time": "2025-09-01 1:00",
          "end_time": "2025-09-01 17:00",
          "user_document": "abel.tuter",
          "user_table": "sys_user"
        },
        "callbackContext": {
          "queue": "5 value changed via api",
          "ivr_path": "5 some-ivr-path changed via api"
        },
        "inboundId": "AmazonConnect",
        "phoneNumber": "+14089178877",
        "callbackId": "a16ead53fff0621088c6ffffffffffce"
      }
    }

    Mettre à jour (aucun contexte d’acheminement)

    L’exemple suivant montre comment mettre à jour un enregistrement de rappel sans contexte d’acheminement :
    Remarque :
    Les actions de mise à jour sans contexte d’acheminement suivent la structure de requête documentée dans .Rappel omnicanal : PATCH /api/sn_omni_callback/callback/update
    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "action": "update",
      "payload": {
        "callbackDetails": {
          "appointment": "68cc0a5a9314521060320dd548373cbd",
          "description": "Customer reported issue with order #12345",
          "short_description": "Order issue",
          "reason_type": "product_issue",
          "expire_time": "2025-09-01 17:00",
          "messaging_channel": "web_channel_sys_id",
          "channel_to_callback": "genesys_channel_sys_id",
          "scheduled_start_time": "2025-09-01 1:00",
          "end_time": "2025-09-01 17:00",
          "user_document": "abel.tuter",
          "user_table": "sys_user"
        },
        "callbackContext": {
          "queue": "5 value changed via api",
          "ivr_path": "5 some-ivr-path changed via api"
        },
        "inboundId": "AmazonConnect",
        "phoneNumber": "+14089178877",
        "callbackId": "a16ead53fff0621088c6ffffffffffce"
      }
    }

    Annuler l'action

    Cet exemple d’action annule un enregistrement de rappel donné avec contexte d’acheminement et met à jour le champ de motif dans la table Rappel [sys_cs_callback].

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
        "action": "cancel",
        "routingContext": {
            "sourceTable": "sn_csm_ec_engmnt_center_module",
            "sourceId": "a1b2c3d4e5f6a7b8",
            "userId": "beth.anglin"
        },
         "payload": {
            "callbackId": "CAL0001234"
        }
    }

    Annuler (aucun contexte d’acheminement)

    L’exemple suivant montre comment annuler un enregistrement de rappel sans contexte d’acheminement :

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "action": "cancel",
      "payload": {
        "callbackId": "cb-98765"
      }
    }

    Fermer l’action (acheminement activé)

    Cet exemple ferme un enregistrement de rappel avec le contexte d’acheminement et met à jour le champ de motif dans la table Rappel [sys_cs_callback] :

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
        "action": "close",
        "routingContext": {
            "sourceTable": "sn_csm_ec_engmnt_center_module",
            "sourceId": "a1b2c3d4e5f6a7b8",
            "userId": "beth.anglin"
        },
        "payload": {
            "callbackId": "CAL0001234"
        }
    }

    Fermer (aucun contexte d’acheminement)

    L’exemple suivant montre comment fermer un enregistrement de rappel sans contexte d’acheminement :

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/actions \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "action": "close",
      "payload": {
        "callbackId": "cb-98765"
      }
    }

    Rappel omnicanal : POST /api/sn_omni_callback/callback/attempt

    Déclenche une interaction pour un rappel existant, y compris de nouvelles tentatives.

    Format d'URL

    URL par défaut : /api/sn_omni_callback/callback/attempt

    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 autre que la plus récente.

    Type de données : chaîne

    Tableau 8. Paramètres de requête
    Nom Description
    Néant
    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    ID rappel Requis. Sys_id ou external_id du rappel.

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    Détails de l’interaction Facultatif. Détails sur l’interaction. Conçu pour les types de rappel « dès que possible » (immédiat) afin que les détails de l’interaction soient acheminés directement à l’agent sans attendre.

    Tous les détails de l’interaction sont transmis dans la charge utile du Ressource d’interaction vocale : POST /cs/voice-interactions fichier .

    Type de données : objet

    "interactionDetails": {
      "callerPhoneNumber": "String",
      "clientSessionId": "String",
      "userId": "String"
    }
    interactionDetails.numéronuméroTéléphoneAppelant 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

    interactionDetails.clientSessionId 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

    Format : généralement un UUID ou un jeton de session unique généré par le système externe

    Par défaut : aucun

    interactionDetails.userId Sys_id de l’utilisateur à rappeler.

    Table : Utilisateur [sys_user]

    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.

    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

    Tableau 11. En-têtes de réponses
    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

    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é 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
    erreurs Message contenant des détails sur les échecs de la création du rappel, comme les ID de demande requis manquants.

    Type de données : tableau de chaînes

    "errors": ["String", "String"]
    messages Message contenant des détails sur la réussite de la création du rappel.

    Type de données : tableau de chaînes

    "messages": ["String", "String"]
    résultat Résultat de la demande.

    Type de données : objet

    "result": {
      "status": "String",
      "response": {Object},
      "errors": [Array],
      "messages": [Array]
    }
    résultat.réponse Objet contenant les ID de rappel et d’interaction de la demande de rappel.

    Type de données : objet

    "response": {
      "callback_created": Boolean
      "callback_id": "String",
      "interaction_id": "String"
    }
    result.response.interaction_id Sys_id de l’interaction nouvellement créée.

    Table : Interaction [interaction]

    Type de données : chaîne

    résultat.état État de réussite ou d’échec de la demande.
    Valeurs valides :
    • réussite
    • échec

    Type de données : chaîne

    Demande cURL

    L’exemple suivant illustre une demande de tentative POST avec des détails sur l’interaction initiale et les interactions de nouvelles tentatives suivantes.

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/attempt' \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "callbackId": "<ID#>",
      "interactionDetails": {
        "clientSessionId": "<ID#>",
        "userId": "<ID#>",
        "callerPhoneNumber": "+112345678901"
      }
    }

    Corps de réponse lorsqu’une callback_Id valide est fournie et qu’une nouvelle interaction a été créée avec succès pour le rappel.

    {
      "result": {
        "status": "success",
        "response": {
          "interaction_id": "<Interaction ID#>"
        }
      }
    }

    Corps de réponse lorsqu’une callback_Id non valide a été fournie dans la demande.

    {
      "result": {
        "status": "failure",
        "response": {
          "interactionId": null
        },
        "errors": [
          "Callback not found for callback ID: <ID#>"
        ]
      }
    }

    Corps de réponse lorsque l’interaction existe déjà pour le rappel donné (le message renvoie des détails sur l’interaction existante) :

    {
      "result": {
        "status": "success",
        "response": {
          "interaction_id": "<Interaction ID#>"
        },
        "messages": [
          "Active Interaction <Interaction ID#> already exists for callback <ID#>"
        ]
      }
    }

    Rappel omnicanal : POST /api/sn_omni_callback/callback/create

    Lance une nouvelle demande de rappel immédiat ou planifié en fonction des détails fournis dans le corps de la demande. Pour les rappels immédiats, cette API crée à la fois le rappel et l’interaction. Pour les rappels planifiés, crée le rappel avec un ID de rendez-vous.

    Format d'URL

    URL versionnée : /api/sn_omni_callback/v1/callback/create

    URL par défaut : /api/sn_omni_callback/callback/create

    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 autre que la plus récente.

    Type de données : chaîne

    Tableau 14. Paramètres de requête
    Nom Description
    Néant
    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    callbackContext Objet contenant les détails de contexte de la demande de rappel.

    Table : Contexte de rappel [sys_cs_callback_context]

    Type de données : objet

    "callbackContext": {
      "customer_timezone": "String",
      "ivr_path": "String",
      "source_channel": "String",
      "queue": "String",
      "voicemail_duration": "String",
      "voicemail_recorded_at": "String",
      "voicemail_transcript": "String",
      "voicemail_url": "String"
    }
    callbackContext.customer_timezone Fuseau horaire du client ayant demandé le rappel. Les fuseaux horaires peuvent être fournis dans les formats suivants.
    • Pays/Ville. Par exemple, Amérique/Los_Angeles.
    • Pays/Fuseau horaire. Par exemple, États-Unis/Pacifique.
    • Abréviation du fuseau horaire. Par exemple, PST.

    Pour obtenir la liste complète des fuseaux horaires valides, consultez le champ Fuseau horaire de la table Utilisateur [sys_user]. Pour plus d’informations sur les fuseaux horaires, reportez-vous à la section Time zones.

    Type de données : chaîne

    callbackContext.ivr_path Le chemin IVR (serveur vocal interactif) qu’un client suit avant d’être transféré à un agent humain.

    Contient généralement une liste des files d’attente ou des options de menu que le client a parcourues dans le système IVR. Cette chaîne est transmise par le Centre de contact en tant que service (CCaaS). Par exemple, « ivr_path » : « Assistance technique > Gestion des comptes »

    Type de données : chaîne

    callbackContext.queue Numérotez les affectations dans la file d’attente.

    Type de données : chaîne

    callbackContext.source_channel Source du rappel. Par exemple, IVR, Web ou VA.

    Type de données : chaîne

    callbackContext.voicemail_duration Durée du message vocal en heures, minutes ou secondes.

    Champ : Durée de la messagerie vocale

    Type de données : nombre

    callbackContext.voicemail_recorded_at Horodatage dans lequel le message vocal a été enregistré.

    Champ : messagerie vocale enregistrée à

    Type de données : chaîne

    callbackContext.voicemail_transcript Texte transcrit du message vocal.

    Champ : Transcription de la messagerie vocale

    Type de données : chaîne

    callbackContext.voicemail_url Lien relatif à l’enregistrement de rappel contenant le message vocal.

    Champ : URL de la messagerie vocale

    Type de données : chaîne

    détails de rappel Objet contenant les détails de la demande de rappel.

    Table : Rappel [sys_cs_callback]

    Type de données : objet

    "callbackDetails": {
      "appointment": "String",
      "channel_to_callback": "String",
      "description": "String",
      "end_time": "String",
      "expire_time": "String",
      "messaging_channel": "String",
      "reason_type": "String"
      "scheduled_start_time": "String",
      "short_description": "String",
      "user_document": "String",
      "user_table": "String"
    }
    callbackDetails.rendez-vous Sys_id du rendez-vous. Applicable uniquement à un type de rappel planifié .

    Table : Prise de rendez-vous [sn_apptmnt_booking_appointment_booking]

    Type de données : chaîne

    callbackDetails.channel_to_callback Canal de messagerie cible par lequel acheminer le rappel.

    Table : Canal de messagerie [sys_cs_channel], Champ : sys_id

    Type de données : chaîne

    callbackDetails.description Description complète décrivant le motif du rappel, si nécessaire.

    Type de données : chaîne

    callbackDetails.end_time Valeur de date et d’heure d’arrêt de la tentative de rappel. Applicable uniquement à un type de rappel planifié .

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    callbackDetails.expire_time Date et heure de fermeture de la demande de rappel.

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    callbackDetails.messaging_channel Source du rappel. Identifie l’interface client à l’origine de la demande de rappel, par exemple un client Web, une application mobile ou une messagerie incorporée.

    Table : Canal de messagerie [sys_cs_channel], Champ : sys_id

    Type de données : chaîne

    callbackDetails.reason_type Motif de la demande de rappel. Aide à l’acheminement, à l’analyse et à la génération de rapports en balisant le rappel avec un motif standardisé.
    Valeurs valides :
    • Autre problème
    • Valeurs personnalisées définies par votre implémentation. Par exemple, « Demande de facturation »,« Assistance technique »

    Table : Rappel [sys_cs_callback], Champ : reason_type

    Type de données : chaîne

    callbackDetails.scheduled_start_time Valeur de date et d’heure de lancement du rappel. Applicable uniquement à un type de rappel planifié .

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    callbackDetails.short_description Fournit une explication détaillée de la demande de rappel. Peut inclure des préoccupations client spécifiques, le contexte ou des notes de l’agent.

    Type de données : chaîne

    callbackDetails.user_document Sys_id de l’utilisateur qui a demandé le rappel. Utilisé avec pour callbackDetails.user_table identifier l’utilisateur demandant le rappel.

    Table : utilisateur [sys_user], champ : sys_id

    Type de données : chaîne

    callbackDetails.user_table Table dans laquelle réside l’enregistrement utilisateur. Utilisé avec pour callbackDetails.user_document identifier l’utilisateur demandant le rappel. La valeur est toujours sys_user.

    Type de données : chaîne

    externalCallbackId Identificateur externe du rappel qui a été créé dans un fournisseur tiers.

    Type de données : chaîne

    inboundId Sys_id de l’appel entrant associé au rappel. Fournit une traçabilité liant la demande de rappel à un enregistrement d’appel entrant spécifique qui peut provenir d’un fournisseur tiers ou d’une plateforme CCaaS.

    Table : Rappel [sys_cs_callback], Champ : provider_application_id

    Type de données : chaîne

    Détails de l’interaction Facultatif. Détails sur l’interaction. Conçu pour les types de rappel « dès que possible » (immédiat) afin que les détails de l’interaction soient acheminés directement à l’agent sans attendre.

    Tous les détails de l’interaction sont transmis dans la charge utile du Ressource d’interaction vocale : POST /cs/voice-interactions fichier .

    Type de données : objet

    "interactionDetails": {
      "callerPhoneNumber": "String",
      "clientSessionId": "String",
      "userId": "String"
    }
    interactionDetails.numéronuméroTéléphoneAppelant 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

    interactionDetails.clientSessionId 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

    Format : généralement un UUID ou un jeton de session unique généré par le système externe

    Par défaut : aucun

    interactionDetails.userId Sys_id de l’utilisateur à rappeler.

    Table : Utilisateur [sys_user]

    Type de données : chaîne

    isExternal Marqueur indiquant si le rappel est externe et a été demandé auprès d’un autre fournisseur tiers.
    Valeurs valides :
    • vrai : le rappel est externe.
    • faux : le rappel n’est pas externe.

    Valeur par défaut : false

    type Requis. Type de rappel.
    Valeurs valides :
    • dès que possible : l’interaction de rappel est créée instantanément.
    • planifié : l’interaction de rappel est créée et planifiée à une heure ultérieure sélectionnée par le client.

    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.

    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

    Tableau 17. En-têtes de réponses
    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

    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é 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
    résultat Résultat de la demande.

    Type de données : objet

    "result": {
      "status": "String",
      "response": {Object},
      "errors": [Array],
      "messages": [Array]
    }
    résultat.erreurs Message contenant des détails sur les échecs de la création du rappel, comme les ID de demande requis manquants.

    Type de données : tableau de chaînes

    "errors": ["String", "String"]
    résultats.messages Message contenant des détails sur la réussite de la création du rappel.

    Type de données : tableau de chaînes

    "messages": ["String", "String"]
    résultat.réponse Objet contenant les ID de rappel et d’interaction de la demande de rappel.

    Type de données : objet

    "response": {
      "callback_created": Boolean
      "callback_id": "String",
      "interaction_id": "String"
    }
    result.response.callback_created

    Marqueur indiquant si la nouvelle demande de rappel a été créée ou non.

    Valeurs possibles :
    • vrai : le rappel a été créé avec succès.
    • faux : le rappel n’a pas été créé. Par exemple, le rappel existe déjà avec le callback_id donné.

    Type de données : booléennes

    result.response.callback_id Sys_id du nouveau rappel, le cas échéant.

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    result.response.interaction_id Sys_id de l’interaction nouvellement créée.

    Table : Interaction [interaction]

    Type de données : chaîne

    résultat.état État de réussite ou d’échec de la demande.
    Valeurs valides :
    • réussite
    • échec

    Type de données : chaîne

    Demande cURL

    L’exemple suivant crée une demande de rappel simple en fonction des détails fournis par l’agent dans le corps de la demande.

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/create' \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "type": "asap",
      "callbackDetails": {
        "appointment": "68cc0a5a9314521060320dd548373cbd",
        "description": "Customer reported issue with order #12345",
        "short_description": "Order issue",
        "reason_type": "product_issue",
        "expire_time": "2025-09-01 17:00",
        "messaging_channel": "web_channel_sys_id",
        "channel_to_callback": "genesys_channel_sys_id",
        "scheduled_start_time": "2025-09-01 1:00",
        "end_time": "2025-09-01 17:00",
        "user_document": "abel.tuter",
        "user_table": "sys_user"
    },
      },
      "callbackContext": {
        "queue": "sample queue",
        "ivr_path": "sample ivr path"
      },
      "inboundId": "ServiceNowVoice",
      "isExternal": true,
      "phoneNumber": "+123454768",
      "externalCallbackId": "new-external-id",
      "interactionDetails": {
        "clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z",
        "userId": "32423424",
        "callerPhoneNumber": "+14089178877"
      }
    }

    Le corps de la réponse renvoie une réponse de réussite avec des ID de rappel et d’interaction pour la demande de rappel nouvellement créée.

    {
      "status": "success",
      "response": {
        "callback_id": "a16ead53fff0621088c6ffffffffffce",
        "interaction_id": "696e6d57fff0621088c6ffffffffff7d"
      }
    }

    Corps de réponse lorsque les détails de l’interaction n’ont pas été fournis :

    {
      "status": "success",
      "response": {
        "callback_created": true,
        "callback_id": "7df2059ffffc221088c6ffffffffff0c"
      }
    }

    Corps de réponse lorsque l’ID de rappel existe déjà, mais que de nouveaux détails d’interaction ont été fournis :

    {
      "result": {
        "status": "success",
        "response": {
          "interaction_id": "84054fff53786210011eddeeff7b12d6",
          "callback_id": "8b43c3fb53786210011eddeeff7b12a6",
          “callback_created”: false
        },
        "messages": [
          "Successfully updated the callback 8b43c3fb53786210011eddeeff7b12a6",
          "Successfully created the interaction 84054fff53786210011eddeeff7b12d6"
        ]
      }
    }

    Corps de réponse lorsque l’ID de rappel existe déjà, mais que les nouveaux détails d’interaction n’ont pas été fournis :

    {
      "result": {
        "status": "success",
        "response": {
          "callback_id": "8b43c3fb53786210011eddeeff7b12a6"
        },
        "messages": [
          "Successfully updated the callback 8b43c3fb53786210011eddeeff7b12a6"
        ]
      }
    }

    Corps de réponse lorsque des champs obligatoires sont manquants dans la demande :

    {
      "result": {
        "status": "failure",
        "response": {
          "callbackId": null
        },
        "errors": [
          "Parameter 'type' is required in request"
        ]
      }
    }

    Rappel omnicanal : POST api/sn_omni_callback/callback/get

    Récupère les informations de rappel en fonction des paramètres de requête.

    Format d'URL

    URL versionnée : /api/sn_omni_callback/v1/callback/get

    URL par défaut : /api/sn_omni_callback/callback/get

    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 autre que la plus récente.

    Type de données : chaîne

    Tableau 20. Paramètres de requête
    Nom Description
    Néant
    Tableau 21. Paramètres du corps de la demande (XML ou JSON)
    Nom Description
    Paramètres de requête Objet contenant la paire clé-valeur des paramètres de requête sur lesquels filtrer les résultats.

    Type de données : objet

    "queryParameters": {
      "number": "String",
      "state": "String",
      "opened_by": "String",
      "sys_id", "String",
      "callback_type": "String",
      "external_callback_id": "String",
      "callback_number": "String"
    }
    queryParameters.numéro Le numéro de référence de rappel à rechercher. Par exemple, « CAL0010012 ».

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    queryParameters.state Numéro représentant l’état actuel du rappel.
    Valeurs possibles :
    • 1 : En cours
    • 2 : Travail en cours
    • 3 : fermé terminé
    • 4 : Fermé abandonné
    • 7 : Annulé

    Type de données : nombre

    queryParameters.opened_by ID d’utilisateur de l’utilisateur demandant le rappel.

    Table : Utilisateur [sys_user]

    Type de données : chaîne

    queryParameters.sys_id Sys_id de l’enregistrement de rappel.

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    queryParameters.callback_type Type de rappel.
    Valeurs valides :
    • dès que possible : l’interaction de rappel est créée instantanément.
    • planifié : l’interaction de rappel est créée et planifiée à une heure ultérieure sélectionnée par le client.

    Type de données : chaîne

    queryParameters.external_callback_id Identificateur externe du rappel créé dans un système tiers.

    Type de données : chaîne

    queryParameters.callback_number Numéro de téléphone de l’appelant à rappeler.

    Type de données : chaîne

    Paramètres de réponse Facultatif. Spécifie les champs à renvoyer dans la réponse. En cas d’omission, le point de terminaison renvoie les champs par défaut.

    Type de données : objet

    "responseParameters": {
      "callback": [Array],
      "context": [Array]
    }
    responseParameters.callback Facultatif. Renvoie les champs de l’enregistrement de rappel (par exemple, numéro, phone_number).

    Table : Rappel [sys_cs_callback]

    Type de données : objet

    "callback": [String, String]
    Valeurs valides :
    • number : numéro de référence unique pour ce rappel (par exemple, « CAL0010012 »).
    • phone_number : numéro de téléphone de l’appelant.
    responseParameters.context Facultatif. Renvoie des informations contextuelles sur le rappel, telles que la file d’attente, l’affectation ou les métadonnées connexes sous la forme de paires clé :valeur.

    Table : Contexte de rappel [sys_cs_callback_context]

    Type de données : tableau de chaînes

    "callbackContext": {
      "customer_timezone": "String",
      "ivr_path": "String",
      "source_channel": "String",
      "queue": "String",
      "voicemail_duration": "String",
      "voicemail_recorded_at": "String",
      "voicemail_transcript": "String",
      "voicemail_url": "String"
    }
    responseParameters.context.customer_timezone Fuseau horaire de l’utilisateur demandant le rappel.

    Chaîne

    responseParameters.context.ivr_path Le chemin IVR (serveur vocal interactif) qu’un client suit avant d’être transféré à un agent humain.

    Contient généralement une liste des files d’attente ou des options de menu que le client a parcourues dans le système IVR. Cette chaîne est transmise par le Centre de contact en tant que service (CCaaS). Par exemple, « ivr_path » : « Assistance technique > Gestion des comptes »

    Type de données : chaîne

    responseParameters.context.source_channel Source du rappel. Par exemple, IVR, Web ou VA.

    Chaîne

    responseParameters.context.queue Nom ou ID de la file d’attente à laquelle le rappel est affecté.

    Chaîne

    responseParameters.context.voicemail_duration Durée du message vocal en heures, minutes ou secondes.

    Table : contexte de rappel [sys_cs_callback_context], champ : durée de la messagerie vocale

    Chaîne

    responseParameters.context.voicemail_recorded_at Horodatage dans lequel le message vocal a été enregistré.

    Table : contexte de rappel [sys_cs_callback_context], champ : messagerie vocale Enregistré à

    Type de données : chaîne

    responseParameters.context.voicemail_transcript Texte transcrit du message vocal.

    Table : contexte de rappel [sys_cs_callback_context], champ : transcription de la messagerie vocale

    Type de données : chaîne

    responseParameters.context.voicemail_url Lien relatif à l’enregistrement de rappel contenant le message vocal.

    Table : contexte de rappel [sys_cs_callback_context], champ : URL de la messagerie vocale

    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.

    Tableau 22. En-têtes de demandes
    En-tête Description
    Néant
    Tableau 23. En-têtes de réponses
    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.

    Tableau 24. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été traitée avec succès.

    Paramètres du corps de réponse (JSON ou XML)

    Nom Description
    résultat Objet contenant l’enregistrement de rappel ou les informations de rappel qui correspondaient aux critères de recherche spécifiés.

    Type de date : objet

    "result": {
      "response": {Object},
      "status": "String"
    }
    résultat.réponse Informations de rappel.

    Type de données : objet

    "response": {
     "callbacks": [Array],
     "count": "Number"
    }
    résultat.réponse.rappels Objet contenant des détails sur l’enregistrement de rappel sous la forme de paires clé :valeur.
    Remarque :
    Affiche tous les champs par défaut s’ils responseParameters n’ont pas été spécifiés dans la demande.

    Type de données : tableau de chaînes

    "callbacks": [
      {
        "number": "String",
        "state": "String",
        "first_name": "Virtual",
        "last_name": "Agent",
        "user_table": "sys_user",
        "opened_by": "Virtual Agent",
        "assigned_to": ""
      }
    ]
    result.response.callbacks.assigned_to ID de l’agent affecté à la demande.

    Type de données : chaîne

    résultat.réponse.rappels.contexte Informations contextuelles de l’enregistrement de rappel. Varie en fonction de l’entrée de la demande.

    Table : Contexte de rappel [sys_cs_callback_context]

    Type de données : tableau de chaînes

    "callbackContext": {
      "customer_timezone": "String",
      "ivr_path": "String",
      "source_channel": "String",
      "queue": "String",
      "voicemail_duration": "String",
      "voicemail_recorded_at": "String",
      "voicemail_transcript": "String",
      "voicemail_url": "String"
    }
    result.response.callbacks.context.customer_timezone Fuseau horaire de l’utilisateur demandant le rappel.

    Chaîne

    result.response.callbacks.context.ivr_path Le chemin IVR (serveur vocal interactif) qu’un client suit avant d’être transféré à un agent humain.

    Contient généralement une liste des files d’attente ou des options de menu que le client a parcourues dans le système IVR. Cette chaîne est transmise par le Centre de contact en tant que service (CCaaS). Par exemple, « ivr_path » : « Assistance technique > Gestion des comptes »

    Type de données : chaîne

    result.response.callbacks.context.source_channel Source du rappel. Par exemple, IVR, Web ou VA.

    Chaîne

    résultat.réponse.rappels.contexte.file d’attente Nom ou ID de la file d’attente à laquelle le rappel est affecté.

    Chaîne

    result.response.callbacks.context.voicemail_duration Durée du message vocal en heures, minutes ou secondes.

    Chaîne

    result.response.callbacks.context.voicemail_recorded_at Horodatage dans lequel le message vocal a été enregistré.

    Type de données : chaîne

    result.response.callbacks.context.voicemail_transcript Texte transcrit du message vocal.

    Type de données : chaîne

    result.response.callbacks.context.voicemail_url Lien relatif à l’enregistrement de rappel contenant le message vocal.

    Type de données : chaîne

    result.response.callbacks.created_on Horodatage lors de la création du rappel.

    Type de données : chaîne

    result.response.callbacks.first_name Prénom de l’utilisateur qui a initié le rappel ou qui y est associé.

    Type de données : chaîne

    result.response.callbacks.last_name Nom de famille de l’utilisateur associé. Complète le nom complet de l’utilisateur pour la connexion, l’acheminement et l’affichage.

    Type de données : chaîne

    résultat.réponse.rappels.numéro Numéro de référence de rappel unique. Par exemple, « CAL0010012 ».

    Type de données : chaîne

    result.response.callbacks.opened_by ID d’utilisateur de l’utilisateur demandant le rappel.

    Table : Utilisateur [sys_user]

    Type de données : chaîne

    result.response.callbacks.phone_number Numéro de téléphone de l’appelant.

    Type de données : chaîne

    résultat.réponse.rappels.état État actuel du rappel.
    Valeurs possibles :
    • 1 : En cours
    • 2 : Travail en cours
    • 3 : fermé terminé
    • 4 : Fermé abandonné
    • 7 : Annulé

    Type de données : chaîne

    result.response.callbacks.user_table Table à laquelle se référer lors de la recherche des détails de l’utilisateur de rappel. Par exemple, sys_user.

    Type de données : chaîne

    nombre.réponse.résultat Nombre d’enregistrements correspondants selon les critères de recherche.

    Type de données : nombre

    résultat.état État de réussite ou d’erreur de la demande.
    Valeurs possibles :
    • erreur : défaillance interne ou inattendue, telle qu’une défaillance de connexion à la base de données, une exception de serveur ou une erreur d’exécution non détectée.
    • échec : impossible de terminer l’opération. Par exemple : aucun enregistrement trouvé, échec de la validation ou paramètre non pris en charge.
    • not_found : l’entité interrogée n’existe pas.
    • non autorisé : l’appelant ne dispose pas d’autorisations, d’informations d’identification ou d’accès.
    • invalid_request : pour les paramètres mal formés, les types incorrects ou les champs obligatoires manquants.
    • délai d’expiration : le système ou la base de données en amont n’est pas revenu à temps.
    • partial_success : certains enregistrements ont été traités avec succès ou d’autres ont échoué.

    Type de données : chaîne

    Demande cURL

    L’exemple POST suivant interroge les enregistrements de rappel spécifiquement ouverts par un Agent virtuel (« opened_by : « virtual.agent ») et est dans un état fermé (4), et demande à l’API de renvoyer uniquement le numéro de référence et le numéro de téléphone de l’enregistrement de rappel (« callback » : ["number », « callback_number"]) dans un contexte de file d’attente (« context » : ["queue"]).

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/get' \
      -H "Content-Type: application/json" \
      -H "Accept: application/json" \
      -u 'username':'password' \ 
      -d {
      "queryParameters": {
        "opened_by": "virtual.agent",
        "state": 4,
      },
      "responseParameters": {
        "callback": ["number", "callback_number"],
        "context": ["queue"]
      }
    }

    Corps de la réponse.

    {
      "result": {
        "status": "success",
        "response": {
          "callbacks": [
            {
              "number": "CAL0010036",
              "callback_number": "+14089178878",
              "context": {
                "queue": "21 value changed via api"
              }
            },
            {
              "number": "CAL0010037",
              "callback_number": "+14089178878",
              "context": {
                "queue": "21 value changed via api"
              }
            },
            {
              "number": "CAL0010001",
              "callback_number": "+918008509174",
              "context": {
                "queue": "queue"
              }
            },
            {
              "number": "CAL0010033",
              "callback_number": "+14089178878",
              "context": {
                "queue": "21 value changed via api"
              }
            },
            {
              "number": "CAL0010003",
              "callback_number": "+918008509174",
              "context": {
                "queue": "Soumya queue"
              }
            },
            {
              "number": "CAL0010035",
              "callback_number": "+14089178878",
              "context": {
                "queue": "21 value changed via api"
              }
            },
            {
              "number": "CAL0010038",
              "callback_number": "+14089178878",
              "context": {
                "queue": "21 value changed via api"
              }
            },
            {
              "number": "CAL0010034",
              "callback_number": "+14089178878",
              "context": {
                "queue": "21 value changed via api"
              }
            }
          ],
          "count": 8
        }
      }
    }
    L’exemple suivant récupère les informations de rappel en fonction d’un ID externe correspondant, new-external-2325. Étant donné que l’appel ne fournit responseParameters pas dans la demande, la réponse renvoie l’enregistrement par défaut complet.
    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/get' \
      -H "Content-Type: application/json" \
      -H "Accept: application/json" \
      -u 'username':'password' \ 
      -d {
      "queryParameters": {
        "external_callback_id": "new-external-2325"
      }
    }

    Corps de la réponse :

    {
      "result": {
        "status": "success",
        "response": {
          "callbacks": [
            {
              "number": "CAL0010038",
              "state": "Closed Abandoned",
              "first_name": "Virtual",
              "last_name": "Agent",
              "user_table": "sys_user",
              "opened_by": "Virtual Agent",
              "assigned_to": ""
            }
          ]
        }
      }
    }

    Rappel omnicanal : PATCH /api/sn_omni_callback/callback/update

    Met à jour un rappel existant en fonction des détails fournis dans la demande.

    Indiquez uniquement les paramètres de demande dans le corps de la demande que vous souhaitez mettre à jour.

    Format d'URL

    URL par défaut : /api/sn_omni_callback/callback/update

    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 autre que la plus récente.

    Type de données : chaîne

    Tableau 26. Paramètres de requête
    Nom Description
    Néant
    Tableau 27. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    callbackContext Objet contenant les détails de contexte de la demande de rappel.

    Table : Contexte de rappel [sys_cs_callback_context]

    Type de données : objet

    "callbackContext": {
      "customer_timezone": "String",
      "ivr_path": "String",
      "source_channel": "String",
      "queue": "String",
      "voicemail_duration": "String",
      "voicemail_recorded_at": "String",
      "voicemail_transcript": "String",
      "voicemail_url": "String"
    }
    callbackContext.customer_timezone Fuseau horaire du client ayant demandé le rappel. Les fuseaux horaires peuvent être fournis dans les formats suivants.
    • Pays/Ville. Par exemple, Amérique/Los_Angeles.
    • Pays/Fuseau horaire. Par exemple, États-Unis/Pacifique.
    • Abréviation du fuseau horaire. Par exemple, PST.

    Pour obtenir la liste complète des fuseaux horaires valides, consultez le champ Fuseau horaire de la table Utilisateur [sys_user]. Pour plus d’informations sur les fuseaux horaires, reportez-vous à la section Time zones.

    Type de données : chaîne

    callbackContext.ivr_path Le chemin IVR (serveur vocal interactif) qu’un client suit avant d’être transféré à un agent humain.

    Contient généralement une liste des files d’attente ou des options de menu que le client a parcourues dans le système IVR. Cette chaîne est transmise par le Centre de contact en tant que service (CCaaS). Par exemple, « ivr_path » : « Assistance technique > Gestion des comptes »

    Type de données : chaîne

    callbackContext.queue Numérotez les affectations dans la file d’attente.

    Type de données : chaîne

    callbackContext.source_channel Source du rappel. Par exemple, IVR, Web ou VA.

    Type de données : chaîne

    callbackContext.voicemail_duration Durée du message vocal en heures, minutes ou secondes.

    Champ : Durée de la messagerie vocale

    Type de données : nombre

    callbackContext.voicemail_recorded_at Horodatage dans lequel le message vocal a été enregistré.

    Champ : messagerie vocale enregistrée à

    Type de données : chaîne

    callbackContext.voicemail_transcript Texte transcrit du message vocal.

    Champ : Transcription de la messagerie vocale

    Type de données : chaîne

    callbackContext.voicemail_url Lien relatif à l’enregistrement de rappel contenant le message vocal.

    Champ : URL de la messagerie vocale

    Type de données : chaîne

    détails de rappel Objet contenant les détails de la demande de rappel.

    Table : Rappel [sys_cs_callback]

    Type de données : objet

    "callbackDetails": {
      "appointment": "String",
      "channel_to_callback": "String",
      "description": "String",
      "end_time": "String",
      "expire_time": "String",
      "messaging_channel": "String",
      "reason_type": "String"
      "scheduled_start_time": "String",
      "short_description": "String",
      "user_document": "String",
      "user_table": "String"
    }
    callbackDetails.rendez-vous Sys_id du rendez-vous. Applicable uniquement à un type de rappel planifié .

    Table : Prise de rendez-vous [sn_apptmnt_booking_appointment_booking]

    Type de données : chaîne

    callbackDetails.channel_to_callback Canal de messagerie cible par lequel acheminer le rappel.

    Table : Canal de messagerie [sys_cs_channel], Champ : sys_id

    Type de données : chaîne

    callbackDetails.description Description complète décrivant le motif du rappel, si nécessaire.

    Type de données : chaîne

    callbackDetails.end_time Valeur de date et d’heure d’arrêt de la tentative de rappel. Applicable uniquement à un type de rappel planifié .

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    callbackDetails.expire_time Date et heure de fermeture de la demande de rappel.

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    callbackDetails.messaging_channel Source du rappel. Identifie l’interface client à l’origine de la demande de rappel, par exemple un client Web, une application mobile ou une messagerie incorporée.

    Table : Canal de messagerie [sys_cs_channel], Champ : sys_id

    Type de données : chaîne

    callbackDetails.reason_type Motif de la demande de rappel. Aide à l’acheminement, à l’analyse et à la génération de rapports en balisant le rappel avec un motif standardisé.
    Valeurs valides :
    • Autre problème
    • Valeurs personnalisées définies par votre implémentation. Par exemple, « Demande de facturation »,« Assistance technique »

    Table : Rappel [sys_cs_callback], Champ : reason_type

    Type de données : chaîne

    callbackDetails.scheduled_start_time Valeur de date et d’heure de lancement du rappel. Applicable uniquement à un type de rappel planifié .

    Format : valeur glide_date_time, par exemple aaaa-MM-jj HH :mm :ss

    Type de données : chaîne

    callbackDetails.short_description Fournit une explication détaillée de la demande de rappel. Peut inclure des préoccupations client spécifiques, le contexte ou des notes de l’agent.

    Type de données : chaîne

    callbackDetails.user_document Sys_id de l’utilisateur qui a demandé le rappel. Utilisé avec pour callbackDetails.user_table identifier l’utilisateur demandant le rappel.

    Table : utilisateur [sys_user], champ : sys_id

    Type de données : chaîne

    callbackDetails.user_table Table dans laquelle réside l’enregistrement utilisateur. Utilisé avec pour callbackDetails.user_document identifier l’utilisateur demandant le rappel. La valeur est toujours sys_user.

    Type de données : chaîne

    ID rappel Requis. Sys_id ou external_id du rappel.

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    inboundId Sys_id de l’appel entrant associé au rappel. Fournit une traçabilité liant la demande de rappel à un enregistrement d’appel entrant spécifique qui peut provenir d’un fournisseur tiers ou d’une plateforme CCaaS.

    Table : Rappel [sys_cs_callback], Champ : provider_application_id

    Type de données : chaîne

    phoneNumber Numéro de téléphone de l’appelant.

    Type de données : chaîne de chiffres

    Format : conforme à la norme E.164

    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.

    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

    Tableau 29. En-têtes de réponses
    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

    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é 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
    erreurs Message contenant des détails sur les échecs de la création du rappel, comme les ID de demande requis manquants.

    Type de données : tableau de chaînes

    "errors": ["String", "String"]
    messages Message contenant des détails sur la réussite de la création du rappel.

    Type de données : tableau de chaînes

    "messages": ["String", "String"]
    résultat Résultat de la demande.

    Type de données : objet

    "result": {
      "status": "String",
      "response": {Object},
      "errors": [Array],
      "messages": [Array]
    }
    résultat.réponse Objet contenant les ID de rappel et d’interaction de la demande de rappel.

    Type de données : objet

    "response": {
      "callback_created": Boolean
      "callback_id": "String",
      "interaction_id": "String"
    }
    result.response.callback_created

    Marqueur indiquant si la nouvelle demande de rappel a été créée ou non.

    Valeurs possibles :
    • vrai : le rappel a été créé avec succès.
    • faux : le rappel n’a pas été créé. Par exemple, le rappel existe déjà avec le callback_id donné.

    Type de données : booléennes

    result.response.callback_id Sys_id du nouveau rappel, le cas échéant.

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    result.response.interaction_id Sys_id de l’interaction nouvellement créée.

    Table : Interaction [interaction]

    Type de données : chaîne

    résultat.état État de réussite ou d’échec de la demande.
    Valeurs valides :
    • réussite
    • échec

    Type de données : chaîne

    Demande cURL

    L’exemple suivant met à jour certains détails de rappel dans la demande de rappel associée.

    curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/update' \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -u 'username':'password' \ 
      -d ' {
      "callbackDetails": {
        "appointment": "68cc0a5a9314521060320dd548373cbd",
        "description": "Customer reported issue with order #12345",
        "short_description": "Order issue",
        "reason_type": "product_issue",
        "expire_time": "2025-09-01 17:00",
        "messaging_channel": "web_channel_sys_id",
        "channel_to_callback": "genesys_channel_sys_id",
        "scheduled_start_time": "2025-09-01 1:00",
        "end_time": "2025-09-01 17:00",
        "user_document": "abel.tuter",
        "user_table": "sys_user"
    },
      "callbackContext": {
        "queue": "5 value changed via api",
        "ivr_path": "5 some-ivr-path changed via api"
      },
      "inboundId": "AmazonConnect",
      "phoneNumber": "+14089178877",
      "callbackId": "a16ead53fff0621088c6ffffffffffce"
    }
    Réponse d’une mise à jour réussie de l’ID de rappel valide existant.
    {
      "result": {
        "status": "success",
        "response": {
          "callback_id": "952f763b53786210011eddeeff7b1297"
        },
        "messages": [
          "Successfully updated the callback 952f763b53786210011eddeeff7b1297"
        ]
      }
    }
    Réponse lorsqu’un ID de rappel non valide est fourni dans la demande :
    
      "result": {
        "status": "failure",
        "response": {
          "callbackId": null
        },
        "errors": [
          "Callback not found for callback ID: 952f763b53786210011eddeef7b1297"
        ]
      }
    }
    Réponse lorsqu’un ID de rappel est manquant dans la demande :
    
      "result": {
        "status": "failure",
        "response": {
          "callbackId": null
        },
        "errors": [
          "Parameter 'callbackId' is required in request"
        ]
      }
    }

    Rappel omnicanal : PATCH /api/sn_omni_callback/callback/close/{callback_number}

    Annule une demande de rappel donnée.

    Format d'URL

    URL versionnée : /api/{api_version}/sn_omni_callback/callback/close/{callback_number}

    URL par défaut : /api/sn_omni_callback/callback/close/{callback_number}

    Paramètres de demande pris en charge

    Tableau 31. 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 autre que la plus récente.

    Type de données : chaîne

    callback_number Sys_id ou external_id du rappel à annuler.

    Table : Rappel [sys_cs_callback]

    Type de données : chaîne

    Tableau 32. Paramètres de requête
    Nom Description
    Néant
    Tableau 33. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    motif Facultatif. Spécifie l’annulation du rappel donné. La valeur est toujours Annulée. Si reason elle n’est pas transmise, la demande est fermée plutôt qu’annulée.

    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.

    Tableau 34. 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

    Tableau 35. En-têtes de réponses
    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.

    Tableau 36. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été traitée avec succès.

    Paramètres du corps de réponse

    Nom Description
    motif Motif de la mise à jour de la demande de rappel. La valeur est toujours Annulé ou Fermé.

    Table : rappel [sys_cs_callback], champ : motif

    Type de données : chaîne

    {
    "reason": "Cancelled"
    }

    Demande cURL

    La demande suivante annule la demande de rappel avec l’ID de rappel CAL0001234.

    curl -X POST "https://instance.servicenow.com/api/sn_omni_callback/callback/close/CAL0001234" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -u "username:password" \
      -d '{
        "reason": "Cancelled"
      }'
    

    L’organisme de réponse confirme l’annulation.

    {
    "reason":"Cancelled"
    }