API de recuperação de dados JSON

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • Consulta de dados emitindo uma solicitação HTTPS GET para a instância.

    Por padrão, uma solicitação GET será interpretada como uma função get se um parâmetro sysparm_sys_id estiver presente. Caso contrário, ele será interpretado como uma função getRecords. Você também pode especificar um parâmetro de URL sysparm_action=get. As respostas de consulta são sempre encapsuladas por um hash de registros, em que os valores de cada registro individual são hash por nome de campo.

    Retornar valor de exibição para variáveis de referência

    Quando você obtém um registro de uma função get ou getRecords, todos os campos associados a esse registro são retornados. Os campos geralmente são campos de referência que contêm um sys_id para outra tabela. O comportamento do sistema de base é retornar o valor de sys_id para esses campos. Para que o valor de exibição do campo seja retornado, use uma destas opções:
    • Adicione a propriedade glide.json.return_displayValue às propriedades do sistema e cada solicitação JSON retornará um valor de exibição para um campo de referência.
    • Adicione o parâmetro displayvalue=true ao URL de solicitação JSON e as solicitações JSON com esse parâmetro retornarão um valor de exibição em vez do sys_id para um campo de referência. A URL JSON seria semelhante a esta:
      https://<instance name>.service-now.com/incident.do?JSON&sysparm_action=getRecords&sysparm_query=active=true^category=hardware&displayvalue=true
      
    • Adicione o parâmetro displayvalue=all ao URL de solicitação JSON e as solicitações JSON com esse parâmetro retornarão um valor de exibição e o sys_id para um campo de referência. O nome do elemento de resposta para o campo de valor de exibição será prefixado com dv_, por exemplo, dv_caller_id.

    Obter variáveis

    Use o parâmetro de consulta displayvariables para retornar uma matriz de variáveis associadas a um registro de item Catálogo de serviços. Para obter variáveis, adicione o parâmetro displayvariables=true ao URL da solicitação JSON. Por exemplo, aqui está um URL para recuperar um registro no formato JSON que inclui variáveis Catálogo de serviços :

    https://<your-instance>.servicenow.com/sc_req_item.do?JSONv2&sysparm_action=getRecords&sysparm_query=sys_id=5018da81742bd410f8771974894916fe&displayvariables=true
    Aqui está o exemplo de resposta que exibe um conjunto de variáveis com várias linhas do registro:
    {
       "records":[
          {
             …
             "variables":[
                {
                   "display_value":[
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      }
                   ],
                   "columns_meta":[
                      {
                         "name":"device_type",
                         "label":"Device Type",
                         "id":"da7d3f3241411300964ff05369414eca",
                         "type":5,
                         "order":"0"
                      },
                      {
                         "name":"storage",
                         "label":"Storage",
                         "id":"691e337241411300964ff05369414e31",
                         "type":5,
                         "order":"1"
                      },
                      {
                         "name":"color",
                         "label":"Color",
                         "id":"e89fb77241411300964ff05369414e74",
                         "type":5,
                         "order":"2"
                      },
                      {
                         "name":"quantity",
                         "label":"Quantity",
                         "id":"2d5f737241411300964ff05369414eaf",
                         "type":5,
                         "order":"3"
                      }
                   ],
                   "max_rows":50,
                   "name":"mobile_devices_set",
                   "id":"e84d3f3241411300964ff05369414e3e",
                   "type":"one_to_many",
                   "value":[
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      }
                   ],
                   "row_count":2
                },
                {
                   "question_text":"Department",
                   "name":"department",
                   "type":8,
                   "value":"Development",
                   "order":100
                },
                {
                   "question_text":"Who is this request for?",
                   "name":"requested_for",
                   "type":8,
                   "value":"System Administrator",
                   "order":100
                },
                {
                   "question_text":"When do you need this?",
                   "name":"needed_by",
                   "type":5,
                   "value":"Today",
                   "order":200
                },
                {
                   "question_text":"Business Justification",
                   "name":"business_justification",
                   "type":2,
                   "value":"Example justification",
                   "order":200
                }
             ],
           …
          }
       ]
    }

    As chaves na resposta são definidas da seguinte forma:

    Chave Descrição
    display_value Valor de exibição da pergunta do conjunto de variáveis com várias linhas. Retornado somente com conjuntos de variáveis com várias linhas.
    meta_colunas Matriz de metadados de conjunto de variáveis com várias linhas, como o sys_id e o nome do campo. Retornado somente quando a variável contém vários campos.
    max_rows Máximo de linhas permitidas no conjunto de variáveis com várias linhas. Retornado somente com conjuntos de variáveis com várias linhas.
    nome Nome da pergunta.
    ID Sys_id do conjunto de variáveis com várias linhas. Retornado somente com conjuntos de variáveis com várias linhas.
    tipo Tipo de pergunta.
    valor Valor da pergunta.
    row_count Número atual de linhas no conjunto de variáveis com várias linhas. Retornado somente com conjuntos de variáveis com várias linhas.
    texto_pergunta Rótulo da pergunta. Retornado somente com conjuntos de variáveis de linha única.
    pedido Ordem da pergunta.

    Controlar a ordem dos registros

    Você pode controlar a ordem em que os registros aparecem na resposta JSON. Para definir uma ordem, use as cláusulas ORDERBY ou ORDERBYDESC na consulta codificada da URL. Por exemplo,

    sysparm_query=active=true^ORDERBYnumber^ORDERBYDESCcategory

    filtra todos os registros ativos e ordena os resultados em ordem crescente por número primeiro e, em seguida, em ordem decrescente por categoria. Para obter mais informações, consulte Cadeias de caracteres de consulta codificadas.

    getKeys

    Obtenha o sys_id de vários registros especificando uma cadeia de caracteres de consulta codificada no parâmetro sysparm_query.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getKeys&sysparm_query=active=true^category=hardware
    

    obter

    Obtenha um registro diretamente especificando o sys_id em um parâmetro sysparm_sys_id.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
    
    Opcionalmente, você também pode especificar o parâmetro sysparm_action :
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
    

    obterRegistros

    Obtenha todos os registros especificando uma cadeia de caracteres de consulta codificada no parâmetro sysparm_query.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware