API d’auto-correction

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 5 minutes de lecture
  • Fournit un point de terminaison pour créer ou gérer des problèmes Next Experience.

    L’API d’autocorrection est disponible en tant qu’API REST scriptée personnalisée. Cette API nécessite le module d’extension Self Remediation Framework (self-remediation-framework) et le rôle sn_srf.experience_issue_create.

    Tout fournisseur DEX/DEM peut utiliser l’API d’autocorrection pour créer un problème d’expérience lorsqu’il détecte un problème sur le point de terminaison d’un utilisateur. Le problème d’expérience créé stimule l’engagement de l’utilisateur et l’aide à résoudre lui-même le problème. L’API d’autocorrection peut être utilisée par n’importe quel fournisseur DEM/DEX interne ou externe.

    Pour utiliser cette API, assurez-vous que les tables suivantes sont remplies d’enregistrements :

    • sn_srf_issue_registry_template
    • sn_srf_issue_registry
    • sn_srf_resolution
    • sn_srf_notification_content
    • sn_srf_provider

    Auto-correction : CRÉER /sn_srf/self_remediation/experience_issue/create

    Permet aux fournisseurs de créer un problème d’expérience lorsque le fournisseur DEM/DEX détecte un problème sur le point de terminaison de l’utilisateur.

    Format d'URL

    URL par défaut : /api/sn_srf/self_remediation/experience_issue/create

    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

    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    point de terminaison Requis. L’objet endpoint spécifie les détails du problème d’expérience à l’aide de clés pour détecter les informations sur les utilisateurs et les éléments de configuration (CI). Transmettez au moins une clé pour permettre au cadre de travail d’identifier l’utilisateur. Les clés non valides renvoient une erreur.

    Type de données : objet

    
    --data “{
      "endpoint": {
        "CI": "String",
        "user_id": "String",
        "user_name": "String",
        "email": "String"
      },
    endpoint.user_id Facultatif. Sys_id de l’utilisateur pour lequel le problème a été détecté.

    Type de données : chaîne

    endpoint.user_name Facultatif. Nom d’utilisateur de l’utilisateur pour lequel le problème a été détecté.

    Type de données : chaîne

    endpoint.email Facultatif. E-mail de l’utilisateur pour lequel le problème a été détecté.

    Type de données : chaîne

    endpoint.CI Facultatif. Sys_id du CI (appareil) sur lequel le problème a été détecté.

    Type de données : chaîne

    issue_code Requis. Identifie que le problème s’est produit de façon unique. Le code d’émission doit être disponible et déployé dans l’instance du client. Le paramètre renvoie une erreur si un problème vide ou non valide est fourni.

    Type de données : chaîne

    fournisseur Requis. Le code unique du fournisseur. Ce code doit correspondre provider_code à sn_srf_provider l’instance du client.

    Type de données : chaîne

    input_parameters Facultatif. Les paramètres d’entrée envoyés sont transmis à la résolution configurée (par exemple, un flux secondaire, une action de flux ou une action de CI).

    Type de données : objet

    "input_parameters": {
        "process_id": "Number"
      }
    investigative_details Facultatif. Spécifie tous les détails qui pourraient être utiles pour une enquête manuelle en cas d’échec de la résolution de l’efficacité de l’utilisation de l’énergie (PUE). Les détails de l’enquête sont copiés sur l’incident qui est créé comme solution de secours en cas d’échec de la résolution du PUE.

    Type de données : objet

    "investigative_details": {
        "cpu usage": "String",
        "processes running": "String",
        "available memory": "String"
      }
    experience_id Facultatif. Si le fournisseur souhaite créer le problème d’expérience avec un experience_id spécifique (et non sys_id), envoyez-le dans la demande. Cela peut être utilisé pour un suivi plus approfondi dans les tickets de chaînage des problèmes d’expérience.

    Type de données : nombre

    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 une 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
    Aucun

    Codes d'état

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

    Code d'état Description
    200 Un problème d’expérience a été créé avec succès. Renvoie l’experience_Id.
    400 Demande non valide, veuillez fournir des détails sur le point de terminaison.

    Un objet vide endpoint a été envoyé dans la demande.

    400 Code d’émission non valide, veuillez fournir un code d’émission valide.

    Un champ vide issue_code est envoyé dans la demande.

    400 Fournisseur non valide, veuillez fournir un fournisseur valide.

    Un fournisseur vide est envoyé dans la demande.

    400 Code du problème ou fournisseur non valide, veuillez fournir des détails valides.

    Le problème ne peut pas être détecté dans l’instance client. Vérifier issue_code et provider détails.

    400 Le code de problème n’a pas de résolution appropriée.

    Aucune résolution valide n’est configurée dans le cadre de travail PUE pour le problème identifié.

    400 Impossible de résoudre les détails de l’utilisateur à partir du point de terminaison, veuillez fournir des détails valides.

    Cette erreur est renvoyée si l’ID de cadre de travail PUE n’est pas en mesure d’identifier l’utilisateur à partir des détails de point de terminaison donnés.

    400 Un problème d’expérience est en cours de résolution avec le code de problème donné pour l’utilisateur spécifié.

    Le problème d’expérience spécifié est actuellement à l’état En cours ou Ouvert.

    400 Le problème d’expérience existant avec donné experience_id est toujours en cours d’exécution ou est fermé.

    Cette erreur se produit lorsqu’un problème d’expérience se trouve dans un scénario de chaînage (par exemple, si une nouvelle issue_code clé est envoyée avec une clé existante experience_id et que le problème d’expérience antérieure est toujours en cours d’exécution ou est à l’état Fermé).

    Le problème d’expérience avec ce experience_id doit être dans l’état action_wait pour envoyer une nouvelle issue_code avec le experience_id précédent.

    400 Une erreur s’est produite lors de la création d’un problème d’expérience.

    Il s’agit d’une erreur technique.

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

    Nom Description
    experienceId Numéro d’ID d’expérience du problème d’expérience créé.

    Demande cURL

    L’exemple suivant crée un problème d’expérience pour l’utilisateur Abel Tuter.

    curl  "http://instance.servicenow.com//api/sn_srf/self_remediation/experience_issue/create" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'
    --data “{
      "endpoint": {
        "CI": "d049b28e936aa1106f98f6db5cba10d5",
        "user_id": "62826bf03710200044e0bfc8bcbe5df1",
        "user_name": "abel.tuter",
        "email": ""
      },
      "issue_code": "100",
      "provider": "sn",
      "experience_id": "09ed4830f393739df33",
      "input_parameters": {
        "process_id": "10644"
      },
      "investigative_details": {
        "cpu usage": "78%",
        "processes running": "35",
        "available memory": "23%"
      }
    }”\
    

    Le corps de la réponse renvoie l’ID d’expérience, indiquant que la création du problème a réussi.

    { 
      "result": { 
        "experience_id": “xxxxxxxxxxxxxx”
      } 
    }