AWA API d’affectation manuelle

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 8 minutes de lecture
  • L’API d’affectation manuelle AWA fournit un point de terminaison pour affecter manuellement des éléments de travail disponibles à des agents disponibles Affectation de travail avancée (AWA).

    Un élément de travail est un travail unique géré par un AWA agent du début à la fin. Par exemple, une messagerie instantanée ou un ticket est un objet qui peut être acheminé et affecté à des agents. Pour plus d’informations, consultez Affectation de travail avancée.

    Cette API nécessite le module d’extension Affectation de travail avancée (com.glide.awa). Pour appeler cette API, vous devez avoir le rôle awa_manager ou awa_integration_user.

    Affectation manuelle AWA : POST /now/awa/workitems/{work_item_sys_id}/assignments

    Affecte un élément de travail disponible à un agent disponible Affectation de travail avancée (AWA).

    Le cas d’utilisation primaire pour ce point de terminaison est de permettre aux systèmes d’acheminement externes d’acheminer les éléments de travail. S’il Affectation de travail avancée est configuré pour utiliser l’acheminement externe, les éléments de travail de la file d’attente sont affectés à l’aide de l’acheminement externe et non AWA. Vous pouvez affecter la tâche d’élément de travail en appelant ce point de terminaison. Pour plus d’informations, reportez-vous à la section Utiliser l’acheminement externe.

    Format d'URL

    URL versionnée : /now/{api_version}/awa/workitems/{sys_id}/assignments

    URL par défaut : /now/awa/workitems/{sys_id}/assignments

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

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    work_item_sys_id Sys_id de l’élément de travail à affecter à un agent disponible.

    L’élément de travail doit être désaffecté et dans l’état En attente d’acceptation ou Mis en file d’attente . Pour plus d’informations, reportez-vous à Vérifier les éléments de travail de tâche non affectés.

    Type de données : chaîne

    Table : éléments de travail [awa_work_item]

    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    after_timeout_presence Sys_id de l’état de présence vers lequel l’agent bascule si le timeout paramètre expire.

    Si le timeout paramètre n’est pas transmis, il est ignoré.

    Pour plus d’informations sur les états de présence, reportez-vous à la section Configure agent presence states.

    Type de données : chaîne

    Par défaut : « » (chaîne vide)

    Table : État de présence AWA [awa_presence_state]

    agent_sys_id Requis. Sys_id de l’agent disponible pour recevoir l’élément de travail. Les agents sont des utilisateurs disposant du rôle awa_agent.

    Pour savoir comment déterminer si un agent est disponible, consultez Contrôles de la boîte de réception de l’agent.

    Type de données : chaîne

    Table : Utilisateur [sys_user]

    allowed_to_decline Marqueur indiquant si les agents sont autorisés à rejeter des éléments de travail. Si ce paramètre est vrai, la carte de boîte de réception affiche les boutons Accepter et Rejeter sur la carte de boîte de réception.
    Valeurs valides :
    • vrai/oui/1 : l’agent peut rejeter des éléments de travail.
    • faux/non/0 : l’agent ne peut pas rejeter les éléments de travail.

    Type de données : booléennes

    Par défaut : true

    display_option Option d’affichage pour la carte et l’onglet lorsqu’un élément de travail est automatiquement affecté.

    Ce paramètre n’est valide que si la enable_auto_assign valeur est définie sur vrai.

    Valeurs valides :
    • card_and_tab : affichez la carte et l’onglet.
    • card_only : affichez uniquement la carte.

    Type de données : chaîne

    Par défaut : card_only

    enable_auto_assign Marqueur qui indique si l’élément de travail doit être automatiquement accepté ou doit permettre à l’agent d’accepter ou de rejeter manuellement l’élément de travail.
    Valeurs valides :
    • true/yes/1 : accepte automatiquement.
    • faux/no/0 : permet à l’agent d’accepter ou de refuser manuellement.

    Type de données : booléennes

    Valeur par défaut : false

    offered_on Heure de l’offre d’élément de travail. La durée de l’offre est utilisée pour calculer le temps restant à l’agent pour accepter l’élément de travail dans la boîte de réception. Il permet de tenir compte de l’écart entre le moment où la demande d’API est traitée et le moment où le système de routage tiers appelle la demande d’API. Ce paramètre permet aux systèmes externes appelant ce point de terminaison de configurer la durée de l’offre de l’élément de travail afin qu’il reste synchronisé avec le suivi interne de l’élément de travail par le système externe.

    Par exemple, si l’élément de travail a été proposé le 11:30:30, le délai d’expiration est de 30 secondes et l’heure actuelle est 11:30:45, le compte à rebours affiche 00:15 (c’est-à-dire dans les 15 secondes restantes).

    Cette valeur est stockée dans le champ offered_on de l’élément de travail.

    Ce paramètre est ignoré s’il timeout n’est pas transmis.

    Type de données : chaîne

    Format : horodatage UTC (aaaa-MM-jj’T’HH :mm :ss. SSS)

    timeout Durée pendant laquelle l’élément de travail reste dans la boîte de réception de l’agent en attente de l’acceptation de l’affectation de travail par l’agent.

    Type de données : nombre

    Unité : Secondes

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    404 Introuvable. L’élément demandé est introuvable.
    409 Conflit. La demande n’a pas pu être transmise en raison d’une erreur avec l’élément de travail ou l’agent fourni sys_id.
    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
    succès Marqueur indiquant si l’affectation manuelle d’éléments de travail a réussi.
    Valeurs possibles :
    • vrai : affectation des éléments de travail réussie.
    • faux : échec de l’affectation de l’élément de travail.

    Type de données : booléennes

    message Message de réponse confirmant l’affectation réussie ou une exception.

    Réussite : « Affectation manuelle demandée avec succès. »

    Exceptions:
    • « <work_item_sys_id> n’est pas un élément de travail valide » : le sys_id d’élément de travail fourni n’existe pas.
    • « L'<API_caller_sys_id> de l’appelant n’a pas le rôle awa_manager ou awa_integration_user » : l’utilisateur authentifié effectuant la demande d’API doit avoir le rôle awa_manager ou awa_integration_user.
    • « L’élément de travail <work_item_sys_id> ne peut pas être affecté » – L’élément de travail fourni ne peut pas être affecté car il est dans l’état Accepté ou Annulé. Reportez-vous à la section Vérifier les éléments de travail et les événements AWA.
    • « <agent_sys_id> n’est pas un agent valide » : l’agent n’a pas le rôle awa_agent.
    • « L’élément de travail est déjà affecté à <agent_sys_id> » : l’élément de travail fourni est affecté à un autre agent.
    • « L’agent n’est pas disponible » : l’agent n’est pas dans l’état Disponible dans AWA. Reportez-vous aux contrôles de la boîte de réception de l’agent.
    • « La valeur du délai d’expiration ne peut pas être négative » : la valeur du délai d’expiration fournie ne peut pas être une valeur négative.
    • « <presence_state_sys_id> n’est pas un état de présence valide » : l’état de présence fourni sys_id n’existe pas dans la table État de présence AWA [awa_presence_state].
    • « Le temps offert (<offered_on_timestamp>) doit être au format suivant : aaaa-MM-jj’T’HH :mm :ss. « SSS » – L’horodatage fourni offered_on doit être au format spécifié.
    • « L’heure proposée (<offered_on_timestamp >) doit être antérieure à l’heure actuelle, sinon l’agent aura plus de temps pour accepter l’élément de travail » – L’horodatage fourni offered_on ne peut pas être antérieur à l’heure à laquelle la demande est effectuée.
    • « L’horodatage après le délai d’expiration (<offered_on_timestamp >) doit être postérieur à l’heure actuelle, sinon l’agent n’a pas le temps d’accepter l’élément de travail » – L’horodatage après l’ajout de la valeur de délai d’expiration à l’horodatage fourni offered_on doit être postérieur à l’heure à laquelle la demande a été effectuée.
    • « <display_option> n’est pas une option d’affichage valide » : la display_option fournie doit être l’une des valeurs suivantes : « card_only » ou « card_and_tab »
    • « %s n’est pas une valeur booléenne valide » – La valeur de type booléen fournie doit être dans l’un des formats booléens suivants : « yes »/« no », « true »/« false », « 1 »/« 0 »

    Type de données : chaîne

    Demande cURL

    L’exemple suivant montre comment affecter un élément de travail à un agent AWA disponible en utilisant uniquement les paramètres requis.

    curl "https://instance.servicenow.com/api/now/awa/workitems/<work_item_sys_id>/assignments" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"agent_sys_id\":\"<agent_sys_id>\"}" \
    --user 'username':'password'

    Le résultat montre que la tâche a été affectée avec succès à l’agent. Vous pouvez vérifier les résultats dans le champ Affecté à de la table Éléments de travail [awa_work_item].

    {
      "result": {
        "success": true,
        "message": "Manual assignment successfully requested."
      }
    }

    Demande cURL

    L’exemple suivant montre comment affecter un élément de travail à un agent AWA disponible, y compris les paramètres facultatifs.

    curl "https://instance.servicenow.com/api/now/awa/workitems/<work_item_sys_id>/assignments" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data '{
        "agent_sys_id": "46d44a23a9fe19810012d100cca80666",
        "timeout":"10",
        "offered_on":"2024-04-03T23:09:31.000"
      }'
    --user 'username':'password'

    Le résultat montre que la tâche a été affectée avec succès à l’agent. Vous pouvez vérifier les résultats dans le champ Affecté à de la table Éléments de travail [awa_work_item].

    {
      "result": {
        "success": true,
        "message": "Manual assignment successfully requested."
      }
    }