API do Import Set
A API Import Set fornece endpoints que permitem interagir com tabelas de conjunto de importação.
A API transforma os dados de entrada com base nos mapas de transformação associados. A API do conjunto de importação oferece suporte a transformações síncronas. A API do conjunto de importação reflete a interface SOAP existente.
Segurança
O acesso a tabelas por meio da REST API é restrito por BasicAuth. Para permitir o acesso a tabelas sem qualquer autenticação ou autorização, adicione o nome da tabela a sys_public.list. As ACLs definidas nas tabelas ainda são aplicadas e é responsabilidade do administrador desativar as ACLs.
Conjunto de importação - GET /now/import/{stagingTableName}/{sys_id}
Recupera o registro de preparação de importação especificado e o resultado da transformação resultante.
Formato de URL
URL com controle de versões: /api/now/{api_version}/import/{stagingTableName}/{sys_id}
URL padrão: /api/now/import/{stagingTableName}/{sys_id}
Parâmetros de solicitação compatíveis
| 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 |
| stagingTableName | Nome da tabela da qual os dados de importação serão obtidos. Tipo de dados: cadeia de caracteres |
| sys_id | Sys_id do registro que contém os dados. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum |
| Nome | Descrição |
|---|---|
| Nenhum |
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.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/json ou application/xml. Padrão: application/json |
| 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 | 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 | Indica que o recurso especificado não estava disponível. Como as tabelas de conjunto de importação são excluídas com frequência com base em uma programação, as solicitações GET podem retornar respostas 404 não encontradas se o resultado da transformação não existir mais. |
| 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 |
|---|---|
| import_set | Nome do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado | Lista de objetos que contêm informações sobre os conjuntos de dados que foram importados. Tipo de dados: matriz |
| result.display_name | Nome de exibição do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado.exibição_valor | Valor do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado.registro_link | Solicitação GET da API da tabela para o registro importado. Tipo de dados: cadeia de caracteres |
| resultado.status | Status da importação. Tipo de dados: cadeia de caracteres |
| resultado.sys_id | Sys_id do registro de importação. Tipo de dados: cadeia de caracteres |
| tabela.resultado | Nome da tabela na qual os dados foram importados. Tipo de dados: cadeia de caracteres |
| resultado.transformar_mapa | Nome do mapa de transformação. Tipo de dados: cadeia de caracteres |
| staging_table | Nome da tabela de preparação de importação. Tipo de dados: cadeia de caracteres |
Exemplo de solicitação cURL
curl "https://instance.servicenow.com/api/now/import/imp_user/e2928be64f411200adf9f8e18110c777" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
{
"import_set": "ISET0010001",
"staging_table": "imp_user",
"result": [
{
"transform_map": "User",
"table": "sys_user",
"display_name": "name",
"display_value": "John Public",
"record_link": "https://instance.service-now.com/api/now/table/sys_user/ea928be64f411200adf9f8e18110c777",
"status": "inserted",
"sys_id": "ea928be64f411200adf9f8e18110c777"
}
]
}
Conjunto de importação - POST /now/import/{stagingTableName}
Insere dados de entrada em uma tabela de preparação especificada e aciona a transformação com base em mapas de transformação predefinidos na tabela de conjunto de importação.
Formato de URL
URL com controle de versões: /api/now/{api_version}/import/{stagingTableName}
URL padrão: /api/now/import/{stagingTableName}
Parâmetros de solicitação compatíveis
| 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 |
| stagingTableName | Nome da tabela da qual os dados serão importados. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum |
| Nome | Descrição |
|---|---|
| Específico da chamada | Pares de nome-valor a serem inseridos nos campos de importação. Tipo de dados: cadeia de caracteres |
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.
| 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 |
| 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 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 201 | Bem-sucedido. A solicitação foi criada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 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 |
|---|---|
| import_set | Nome do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado | Lista de objetos que contêm informações sobre os conjuntos de dados que foram importados. Tipo de dados: matriz |
| result.display_name | Nome de exibição do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado.exibição_valor | Valor do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado.registro_link | Solicitação GET da API da tabela para o registro importado. Tipo de dados: cadeia de caracteres |
| resultado.status | Status da importação. Tipo de dados: cadeia de caracteres |
| resultado.sys_id | Sys_id do registro de importação. Tipo de dados: cadeia de caracteres |
| tabela.resultado | Nome da tabela na qual os dados foram importados. Tipo de dados: cadeia de caracteres |
| resultado.transformar_mapa | Nome do mapa de transformação. Tipo de dados: cadeia de caracteres |
| staging_table | Nome da tabela de preparação de importação. Tipo de dados: cadeia de caracteres |
Exemplo de solicitação cURL
curl "https://instance.servicenow.com/api/now/import/imp_user" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{'first_name':'John','last_name':'Public','user_id':'john.public','email':'john.public@company.com'}" \
--user "username":"password"
{
"import_set": "ISET0010001",
"staging_table": "imp_user",
"result": [
{
"transform_map": "User",
"table": "sys_user",
"display_name": "name",
"display_value": "John Public",
"record_link": "https://instance.servicenow.com/api/now/table/sys_user/ea928be64f411200adf9f8e18110c777",
"status": "inserted",
"sys_id": "ea928be64f411200adf9f8e18110c777"
}
]
}
Conjunto de importação - POST /now/import/{stagingTableName}/insertMultiple
Insere vários registros em uma tabela de preparação especificada e aciona a transformação com base em mapas de transformação predefinidos ou configurações de Mecanismo de Transformação Robusta (RTE) em uma única solicitação.
A transformação é assíncrona por padrão. Para definir a transformação síncrona, crie um novo registro na tabela Rest Inserir vários [sys_rest_insert_multiple], selecione a tabela de origem e defina a transformação como síncrona.
- Formato do arquivo de fonte de dados
- Se você gerar uma tabela de preparação de uma fonte de dados JSON, corresponda ao formato JSON do arquivo de origem.
- Formato de coluna da tabela de preparação
- Padrão. Corresponde ao formato do corpo da solicitação da coluna da tabela de preparação em pares de chave-valor.
Formato de URL
URL com controle de versões: /api/now/{api_version}/import/{stagingTableName}/insertMultiple
URL padrão: /api/now/import/{stagingTableName}/insertMultiple
Parâmetros de solicitação compatíveis
| 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 |
| stagingTableName | Nome da tabela do conjunto de importação da qual os dados serão importados. Consulte Principais conceitos de Import Sets. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| multi_import_set_id | Sys_id de uma entrada na tabela Conjuntos de importação múltipla [sys_multi_import_set]. Se especificado, adiciona a importação atual a este conjunto de importação múltipla em vez de adicionar a um novo conjunto de importação múltipla. Tipo de dados: cadeia de caracteres |
| executar_depois | Sys_id de uma entrada na tabela Import Sets [sys_import_set]. Habilita a execução do conjunto de importação atual após a conclusão do conjunto de importação especificado. Você pode usar este parâmetro para impor a ordem sequencial das importações. Este parâmetro só é válido em transformações assíncronas. Tipo de dados: cadeia de caracteres |
| Formato | Descrição |
|---|---|
| Arquivo de fonte de dados | Este formato de corpo de solicitação corresponde ao formato de arquivo JSON usado para criar a fonte de dados. Forneça o corpo da solicitação no mesmo formato que o JSON na fonte de dados. A entrada JSON varia de acordo com as propriedades da sua fonte de dados. Consulte as informações de JSON em Fonte de dados do tipo de arquivo.
Tipo de dados: objeto |
| Coluna da tabela de preparação (padrão) | Este formato de corpo de solicitação corresponde às colunas da tabela de preparação. Use a matriz records de pares de chave-valor correspondentes à coluna da tabela de preparação para inserir nos campos de importação. Cada chave JSON mapeia a coluna da tabela para um valor JSON que representa o valor a ser inserido. A entrada JSON varia de acordo com os campos na tabela de preparação. O valor da chave padrão do mapeamento de coluna é para a tabela da coluna.
Você pode modificar as configurações de mapeamento adicionando uma entrada na tabela Rest Inserir vários [sys_rest_insert_multiple] e alterando o mapeamento de coluna de Rótulo para Nome da coluna.
O dicionário de dados fornece detalhes sobre os campos da tabela no sistema. 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.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| 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 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 201 | Bem-sucedido. A solicitação foi criada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Corpo da resposta (JSON)
| Nome | Descrição |
|---|---|
| import_set_id | Sys_id do registro adicionado à tabela Import Sets [sys_import_set]. Para solicitações assíncronas, você pode usar este valor para executar outro conjunto de importação após a conclusão desse processo de conjunto de importação. Tipo de dados: cadeia de caracteres |
| multi_import_set_id | Sys_id do registro adicionado à tabela Conjuntos de importação múltipla [sys_multi_import_set]. Este valor pode ser usado para agrupar vários conjuntos de importação em um conjunto. Tipo de dados: cadeia de caracteres |
Exemplo de solicitação cURL
O exemplo a seguir mostra como executar uma transformação em uma tabela de importação chamada u_employee_import_set_table usando o formato de coluna da tabela de preparação.
curl "https://instance.servicenow.com/api/now/import/u_employee_import_set_table/insertMultiple" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"records\": [
{
\"Address\": \"Hollywood\",
\"Name\": \"Tom\",
\"ID\": \"123\"
},
{
\"Address\": \"Vine\",
\"Name\": \"Irene\",
\"ID\": \"456\"
}
]
}" \
--user 'username':'password'
Os resultados incluem sys_ids para novos registros nas tabelas Import Sets [sys_import_set] e Multi Import Sets [sys_multi_import_set].
{
"import_set_id": "<import_set_sys_id>",
"multi_import_set_id": "<multi_import_set_sys_id>"
}