API de autocorreção

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 5 min. de leitura
  • Fornece um endpoint para criar ou gerenciar problemas do Next Experience.

    A API de autocorreção está disponível como uma REST API com script personalizado. Esta API requer o plug-in Self Remediation Framework (self-remediation-framework) e a função sn_srf.experience_issue_create.

    Qualquer provedor DEX/DEM pode usar a API de autocorreção para criar um problema de experiência ao detectar um problema no endpoint de um usuário. O problema de experiência criado gera engajamento com o usuário e o ajuda a resolver o problema por conta própria. A API de autocorreção pode ser usada por qualquer provedor de DEM/DEX interno ou externo.

    Para usar esta API, certifique-se de que as seguintes tabelas sejam preenchidas com registros:

    • sn_srf_issue_registry_template
    • sn_srf_issue_registry
    • sn_srf_resolution
    • sn_srf_notification_content
    • sn_srf_provider

    Correção automática - CREATE /sn_srf/self_remediation/experience_issue/create

    Permite que os provedores criem um problema de experiência quando o provedor DEM/DEX detecta um problema no endpoint do usuário.

    Formato de URL

    URL padrão: /api/sn_srf/self_remediation/experience_issue/create

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Especifique este valor somente para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    Nenhum
    Tabela 3. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    endpoint Obrigatório. O objeto endpoint especifica detalhes do problema da experiência usando chaves para detectar informações do usuário e do item de configuração (IC). Passe pelo menos uma chave para permitir que a estrutura identifique o usuário. Chaves inválidas retornam um erro.

    Tipo de dados: objeto

    
    --data “{
      "endpoint": {
        "CI": "String",
        "user_id": "String",
        "user_name": "String",
        "email": "String"
      },
    endpoint.user_id Opcional. Sys_id do usuário para o qual o problema foi detectado.

    Tipo de dados: cadeia de caracteres

    endpoint.user_name Opcional. Nome de usuário do usuário para o qual o problema foi detectado.

    Tipo de dados: cadeia de caracteres

    endpoint.e-mail Opcional. E-mail do usuário para o qual o problema foi detectado.

    Tipo de dados: cadeia de caracteres

    endpoint.CI Opcional. Sys_id do IC (dispositivo) no qual o problema foi detectado.

    Tipo de dados: cadeia de caracteres

    problem_code Obrigatório. Identifica que o problema ocorreu exclusivamente. O código do problema deve estar disponível e implantado na instância do cliente. O parâmetro retornará um erro se um problema vazio ou inválido for fornecido.

    Tipo de dados: cadeia de caracteres

    provedor Obrigatório. O código exclusivo do provedor. Este código deve corresponder a provider_code em sn_srf_provider na instância do cliente.

    Tipo de dados: cadeia de caracteres

    input_parameters Opcional. Os parâmetros de entrada enviados são passados para a resolução configurada (como um subfluxo, ação de fluxo ou ação de IC).

    Tipo de dados: objeto

    "input_parameters": {
        "process_id": "Number"
      }
    detalhes_de investigação Opcional. Especifica todos os detalhes que podem ser úteis para uma investigação manual se a resolução da Eficácia do uso de energia (PUE) falhar. Os detalhes investigativos são copiados para o incidente que é criado como um fallback quando a resolução do PUE falha.

    Tipo de dados: objeto

    "investigative_details": {
        "cpu usage": "String",
        "processes running": "String",
        "available memory": "String"
      }
    experience_id Opcional. Se o provedor quiser criar o problema de experiência com um experience_id específico (não sys_id), envie-o na solicitação. Isso pode ser usado para acompanhamento adicional em casos de encadeamento de problemas de experiência.

    Tipo de dados: número

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Tipos compatíveis: application/json ou application/xml.

    Padrão: application/json

    Tabela 5. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum

    Códigos de status

    Os códigos de status a seguir se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP da REST API.

    Código de status Descrição
    200 Um problema de experiência foi criado com sucesso. Retorna o experience_Id.
    400 Solicitação inválida. Forneça detalhes do endpoint.

    Um objeto endpoint vazio foi enviado na solicitação.

    400 Código de problema inválido. Forneça um código de problema válido.

    Um issue_code vazio é enviado na solicitação.

    400 Provedor inválido. Forneça um provedor válido.

    Um provedor vazio é enviado na solicitação.

    400 Código de problema ou provedor inválido. Forneça detalhes válidos.

    O problema não pode ser detectado na instância do cliente. Verifique os detalhes de issue_code e provider.

    400 O código do problema não tem uma resolução apropriada.

    Uma resolução válida não está configurada na estrutura de PUE para o problema identificado.

    400 Não foi possível resolver os detalhes do usuário do endpoint. Forneça detalhes válidos.

    Este erro será retornado se o ID da estrutura de PUE não puder identificar o usuário de determinados detalhes do endpoint.

    400 Um problema de experiência está sendo resolvido com o código de problema fornecido para o usuário especificado.

    O problema de experiência especificado está em andamento ou em estado aberto.

    400 O problema de experiência existente com determinado experience_id ainda está em execução ou foi encerrado.

    Este erro ocorre quando um problema de experiência está em um cenário de encadeamento (por exemplo, se uma nova chave issue_code for enviada com um experience_id existente e o problema de experiência anterior ainda estiver em execução ou no estado encerrado).

    O problema de experiência com este experience_id deve estar no estado action_wait para enviar um novo problem_code com o experience_id anterior.

    400 Ocorreu um erro ao criar o problema de experiência.

    Isso indica um erro técnico.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    experienceId O número de ID de experiência do problema de experiência criado.

    Solicitação de cURL

    O exemplo a seguir cria um problema de experiência para o usuário 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%"
      }
    }”\
    

    O corpo da resposta retorna o ID da experiência, indicando que a criação do problema foi bem-sucedida.

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