API de integração de dados de uso de software SAM

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • A API de integração de dados de uso de software SAM fornece endpoints para criar e atualizar registros na tabela de uso de software [samp_sw_usage].

    Esta API requer a ativação do plug-in Software Asset Management Professional (com.snc.samp). Também requer que você tenha a função sam_admin ou sam_developer para acessar o endpoint.

    Integração de dados de uso de software SAM - POST /sam_software_usage_integration/createOrUpdate

    Cria ou atualiza um registro especificado na tabela Uso de software [samp_sw_usage].

    Você pode criar/atualizar um ou mais registros de uso de software em uma única chamada.

    Formato de URL

    URL com controle de versões: /api/now/{api_version}/sam_software_usage_integration/createOrUpdate

    URL padrão: /api/now/sam_software_usage_integration/createOrUpdate

    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
    itens Lista de nomes de coluna e valores de cada campo a serem armazenados no registro de uso do software.

    As informações da coluna que você deve passar dependem do valor especificado para reclamation_type (que é um campo obrigatório):

    Possíveis reclamation_type valores e as informações da coluna que devem ser passadas:
    • total_usage:
      • configuration_item
      • last_used_time
      • month_used
      • produto_norm
      • ano
    • last_used_date:
      • configuration_item
      • produto_norm

    A combinação desses campos identifica exclusivamente um registro. Se o registro não for encontrado na tabela, um novo registro com os campos especificados será criado; caso contrário, o registro existente será atualizado.

    Tipo de dados: matriz

    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

    Tipo de conteúdo Formato de dados do corpo da solicitação. 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.

    Tabela 6. Códigos de status
    Código de status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    404 Não encontrado. O item solicitado não foi encontrado.
    405 Método inválido. A funcionalidade está desabilitada.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

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

    Nome Descrição
    itens Lista de pares de nome-valor de todos os campos no registro de uso do software.

    Tipo de dados: matriz (o conteúdo varia)

    Solicitação de cURL

    O exemplo a seguir ilustra como criar um novo registro de uso de software.

    curl -X POST "https://instance.servicenow/api/now/sam_software_usage_integration/createOrUpdate" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "{'items': [\
      {
        'configuration_item':'eaa9604d3790200044e0bfc8bcbe5dc1',\
        'month_used':2,\
        'norm_product':'40209c060b3022002d6c650d37673a89',\
        'norm_publisher':'24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type':'total_usage',\
        'usage_count': 13,\
        'total_usage_time':13,\
        'year':2020
      }\
    ]}"

    {
      "result": {
        "reply": {
          "items": [
            {
              "configuration_item": "eaa9604d3790200044e0bfc8bcbe5dc1",
              "month_used": 2,
              "norm_product": "40209c060b3022002d6c650d37673a89",
              "norm_publisher": "24dcccc20b3022002d6c650d37673ab3",
              "reclamation_type": "total_usage",
              "usage_count": 13,
              "total_usage_time": 13,
              "year": 2020,
              "sysId": "13d15fe59d511010f8772c637e39afe5",
              "status": "INSERT"
            }
          ]
        },
        "message": "Ok"
      }
    }

    O exemplo a seguir ilustra como atualizar vários registros de uso de software em uma única chamada.

    curl -X POST "https://instance.servicenow/api/now/sam_software_usage_integration/createOrUpdate" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "{'items': [\
      {\
        'configuration_item': 'eaa9604d3790200044e0bfc8bcbe5dc1',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 13,\
        'total_usage_time': 13,\
        'year': 2020
      },
      {\
        'configuration_item': '0aa9e80d3790200044e0bfc8bcbe5da0',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 19,\
        'total_usage_time': 19,\
        'year': 2020
      },
      {\
        'configuration_item': 'a0a9a80d3790200044e0bfc8bcbe5d3c',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 7,\
        'total_usage_time': 7,\
        'year': 2020},
      {\
        'configuration_item': '48a9280d3790200044e0bfc8bcbe5d55',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 1,\
        'total_usage_time': 1,\
        'year': 2020},
      {\
        'configuration_item': '61a9680d3790200044e0bfc8bcbe5d11',\
        'month_used': 2,\
        'norm_product': '40209c060b3022002d6c650d37673a89',\
        'norm_publisher': '24dcccc20b3022002d6c650d37673ab3',\
        'reclamation_type': 'total_usage',\
        'usage_count': 18,\
        'total_usage_time': 18,\
        'year': 2020}
    ]}"

    {
      "result": {
        "reply": {
          "items": [
            {
              "configuration_item": "eaa9604d3790200044e0bfc8bcbe5dc1",
              "month_used": 2,
              "norm_product": "40209c060b3022002d6c650d37673a89",
              "norm_publisher": "24dcccc20b3022002d6c650d37673ab3",
              "reclamation_type": "total_usage",
              "usage_count": 13,
              "total_usage_time": 13,
              "year": 2020,
              "sysId": "13d15fe59d511010f8772c637e39afe5",
              "status": "INSERT"
            },
            {
              "configuration_item": "0aa9e80d3790200044e0bfc8bcbe5da0",
              "month_used": 2,
              "norm_product": "40209c060b3022002d6c650d37673a89",
              "norm_publisher": "24dcccc20b3022002d6c650d37673ab3",
              "reclamation_type": "total_usage",
              "usage_count": 19,
              "total_usage_time": 19,
              "year": 2020,
              "sysId": "2cd15fe59d521010f9772c637e39aff4",
              "status": "UPDATE"
            },
            {
              ...
            },
          ]
        },
        "message": "Ok"
      }
    }