API do Import Set
A API do conjunto de importação fornece endpoints que permitem que você interaja com tabelas de conjunto de importação.
Esta 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 às tabelas por meio da REST API é restrito pelo 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 da URL
URL com controle de versão: /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. Somente especifique este valor 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(a) |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
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(a) |
Códigos de status
Os seguintes códigos de status 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 de REST API.
| Código do 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 encontrado 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 |
| resultado.display_name | Nome de exibição do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado.display_value | 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 |
| resultado.tabela | 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 |
| preparação_tabela | Nome da tabela de preparação de importação. Tipo de dados: cadeia de caracteres |
Amostra 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 da URL
URL com controle de versão: /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. Somente especifique este valor 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(a) |
| Nome | Descrição |
|---|---|
| Chamada específica | 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(a) |
Códigos de status
Os seguintes códigos de status 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 de REST API.
| Código do 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 |
| resultado.display_name | Nome de exibição do conjunto de importação. Tipo de dados: cadeia de caracteres |
| resultado.display_value | 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 |
| resultado.tabela | 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 |
| preparação_tabela | Nome da tabela de preparação de importação. Tipo de dados: cadeia de caracteres |
Amostra 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 do 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 Múltiplos [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 a partir de uma fonte de dados JSON, corresponda ao formato JSON do arquivo de origem.
- Formato da 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 da URL
URL com controle de versão: /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. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente. Tipo de dados: cadeia de caracteres |
| stagingTableName | Nome da tabela de conjunto de importação da qual os dados serão importados. Consulte Conceitos-chave de Conjuntos para importação. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| multi_import_set_id | Sys_id de uma entrada na tabela Conjuntos para importação múltipla [sys_multi_import_set]. Se especificado, adiciona a importação atual a este conjunto de importação múltiplo em vez de adicionar a um novo conjunto de importação múltiplo. Tipo de dados: cadeia de caracteres "Table" (Tabela): |
| executar_após | Sys_id da entrada a ser executada. 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 de importações. Este parâmetro só é válido em transformações assíncronas. Tipo de dados: cadeia de caracteres Tabela: conjuntos para importação [sys_import_set] |
| 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 na 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 que correspondem à 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 dependendo de quais campos estão na sua tabela de preparação. O valor da chave padrão de mapeamento de coluna é para a tabela de colunas. Você pode modificar as configurações de mapeamento adicionando uma entrada na tabela Múltiplos de inserção de REST [sys_rest_insert_multiple] e alterando o mapeamento de coluna de Rótulo para Nome da coluna. O Data dictionary tables 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(a) |
Códigos de status
Os seguintes códigos de status 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 de REST API.
| Código do 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. Para solicitações assíncronas, você pode usar este valor para executar outro conjunto de importação após a conclusão deste processo de conjunto de importação. Tipo de dados: cadeia de caracteres Tabela: conjuntos para importação [sys_import_set] |
| multi_import_set_id | Sys_id do registro adicionado. Use este valor para agrupar vários conjuntos para importação em um conjunto. Tipo de dados: cadeia de caracteres Tabela: Conjuntos para importação múltipla [sys_multi_import_set] |
Amostra 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 Conjuntos para importação [sys_import_set] e Conjuntos para importação múltipla [sys_multi_import_set].
{
"import_set_id": "<import_set_sys_id>",
"multi_import_set_id": "<multi_import_set_sys_id>"
}