AWA API d’affectation manuelle

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 8 minutes de lecture
  • L’API d’affectation manuelle AWA fournit un point de terminaison permettant d’affecter manuellement des éléments de travail disponibles aux agents disponibles Affectation de travail avancée (AWA).

    Un élément de travail est un élément de 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, reportez-vous à 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 principal cas d’utilisation de ce point de terminaison est d’activer les systèmes d’acheminement externes pour acheminer les éléments de travail. Si Affectation de travail avancée cette option est configurée 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 le routage 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

    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. 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 La sys_id de l’élément de travail à affecter à un agent disponible. Situé dans la table Éléments de travail [awa_work_item].

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

    Type : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Aucun
    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 en cas d’expiration du timeout paramètre. Situé dans la table État de présence AWA [awa_presence_state].

    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)

    agent_sys_id Requis. Sys_id de l’agent disponible pour recevoir l’élément de travail. Les agents sont des utilisateurs ayant le rôle awa_agent dans la table Utilisateur [sys_user].

    Pour plus d’informations sur la façon de 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

    allowed_to_decline Marqueur indiquant si les agents sont autorisés à rejeter des éléments de travail. Si ce paramètre est défini sur true, 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 (insensibles à la casse) :
    • true/yes/1 : l’agent peut rejeter des éléments de travail.
    • faux/non/0 : l’agent ne peut pas rejeter d’éléments de travail.

    Type de données : booléennes

    Valeur par défaut : true

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

    Ce paramètre n’est valide que si le est transmis en tant que enable_auto_assignvrai.

    Valeurs valides :
    • card_only : n’affichez que la carte.
    • card_and_tab : affichez à la fois la carte et l’onglet.

    Type de données : chaîne

    Par défaut : card_only

    enable_auto_assign Marqueur indiquant si l’élément de travail doit être accepté automatiquement ou doit permettre à l’agent d’accepter ou de rejeter manuellement l’élément de travail.
    Valeurs valides (insensibles à la casse) :
    • vrai/oui/1 : accepter automatiquement.
    • faux/non/0 : autoriser l’agent à accepter ou rejeter manuellement.

    Type de données : booléennes

    Valeur par défaut : false

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

    Par exemple, si l’élément de travail a été proposé à 11 h 30 min 30 s, que le délai d’expiration est de 30 secondes et que l’heure actuelle est 11 h 30 min 45 s, le compte à rebours affiche 00 h 15 (comme s’il restait 15 secondes).

    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 attendant que l’agent accepte l’affectation de travail.

    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 le sys_id d’agent fourni.
    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 réponse (JSON ou XML)

    Nom Description
    succès Marqueur indiquant si l’affectation manuelle de l’élément de travail a réussi.
    Valeurs possibles :
    • vrai : affectation de l’élément 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 une 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 » : la sys_id de l’élément de travail fournie n’existe pas.
    • « L’appelant <API_caller_sys_id> n’a pas le rôle awa_manager ni awa_integration_user » : l’utilisateur authentifié qui effectue 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 rubrique 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 de 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 » : le sys_id d’état de présence fourni 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 offerte (<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.
    • « Horodatage après 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 » : 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 » : le display_option fourni 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 : « oui »/« non », « vrai »/« faux », « 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."
      }
    }