tiagomacul
Giga Sage

Desvendando o Poder da API do ServiceNow com o Postman: Seu Guia Prático

 

Para o leitor, seja um desenvolvedor explorando as capacidades de integração do ServiceNow, um administrador buscando automatizar tarefas rotineiras ou um curioso desvendando os bastidores da plataforma, o Postman surge como uma ferramenta indispensável. Este poderoso cliente de API simplifica a interação com as APIs RESTful do ServiceNow, permitindo enviar requisições, inspecionar respostas e, em última análise, dominar a comunicação programática com a sua instância.

Entusiastas da automação e integração no ServiceNow, embarquem nesta jornada prática, desvendando como utilizar o Postman para explorar, testar e integrar-se com o vasto universo de APIs que o ServiceNow oferece.

O Que é o Postman e Por Que Ele é Seu Aliado no ServiceNow?

O Postman é uma plataforma de colaboração para o desenvolvimento de APIs, oferecendo um cliente HTTP intuitivo e rico em funcionalidades. Ele permite construir, enviar e visualizar respostas de requisições HTTP, tornando a interação com APIs muito mais acessível e eficiente do que utilizar ferramentas de linha de comando como curl ou escrever código específico para cada teste.

No contexto do ServiceNow, o Postman se torna um aliado crucial por diversas razões:

  • Exploração Facilitada: Permite descobrir e entender as diversas APIs RESTful oferecidas pelo ServiceNow, desde a manipulação de registros até a execução de scripts e a interação com metadados.
  • Testes Simplificados: Facilita a criação e execução de testes para validar o comportamento das APIs do ServiceNow em diferentes cenários e com diversos parâmetros.
  • Depuração Eficaz: Ajuda a identificar e solucionar problemas em integrações, permitindo inspecionar detalhadamente as requisições enviadas e as respostas recebidas.
  • Documentação Interativa: Serve como uma forma de documentação viva das APIs do ServiceNow, permitindo experimentar e entender o seu funcionamento na prática.
  • Colaboração Aprimorada: Permite compartilhar coleções de requisições e ambientes com outros membros da equipe, facilitando a colaboração no desenvolvimento e teste de integrações.

Primeiros Passos: Configurando o Postman para o ServiceNow

Antes de começar a interagir com a API do seu ServiceNow, você precisará configurar o Postman com as informações de acesso da sua instância:

  1. Download e Instalação: Se você ainda não o fez, baixe e instale o Postman a partir do site oficial (https://www.postman.com/downloads/).
  2. Criação de um Ambiente: Ambientes no Postman permitem armazenar variáveis como a URL da sua instância ServiceNow e suas credenciais, facilitando a reutilização em diversas requisições.
  • Clique no ícone de engrenagem no canto superior direito do Postman e selecione “Manage Environments”.
  • Clique em “Add” para criar um novo ambiente.
  • Defina variáveis como:
  • instance_url: A URL da sua instância ServiceNow (por exemplo, https://suainstancia.service-now.com).
  • username: Seu nome de usuário do ServiceNow.
  • password: Sua senha do ServiceNow.
  • Salve o ambiente e selecione-o no dropdown no canto superior direito.

Tente também testes simples como chamadas diretas, veja o que acontece.

tiagomacul_0-1747707589935.png

 

e claro o resultado não pode ser diferente: Usuário não autenticado

{
"error": {
"message": "User Not Authenticated",
"detail": "Required to provide Auth information"
},
"status": "failure"
}

Configuração de Autenticação: O ServiceNow geralmente utiliza autenticação básica (Basic Auth) para acesso às suas APIs REST. Ao criar suas requisições no Postman:

  • Selecione a aba “Authorization”.
  • No dropdown “Type”, escolha “Basic Auth”.
  • Preencha os campos “Username” e “Password” utilizando as variáveis que você definiu no ambiente ({{username}} e {{password}}).
tiagomacul_1-1747707589831.png

 

Exemplo de usuário

obs: É necessário atribuir as roles necessárias conforme necessidade

tiagomacul_2-1747707590280.png

 

Explorando as APIs do ServiceNow com o Postman: Casos de Uso Práticos

Com o Postman configurado, você está pronto para começar a interagir com as APIs do ServiceNow. Aqui estão alguns exemplos práticos de como utilizá-lo:

1. Obtendo Registros (GET):

  • Para listar incidentes:
  • Method: GET
  • URL: {{instance_url}}/api/now/table/incident
  • Para obter detalhes de um incidente específico (substitua <sys_id> pelo sys_id real do incidente):
  • Method: GET
  • URL: {{instance_url}}/api/now/table/incident/<sys_id>
  • Analisando a Resposta: O Postman exibirá a resposta no formato JSON (geralmente), incluindo os campos e valores do(s) registro(s) solicitado(s). Você pode visualizar a resposta em diferentes formatos (Pretty, Raw, Preview).
tiagomacul_3-1747707589910.png

 

{
"result": {
"parent": "",
"made_sla": "false",
"caused_by": "",
"watch_list": "",
"upon_reject": "",
"sys_updated_on": "2024-05-29 20:16:07",
"child_incidents": "",
"hold_reason": "",
"origin_table": "",
"task_effective_number": "INC0000001",
"approval_history": "",
"number": "INC0000001",
"resolved_by": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/6816f79cc0a8016401c5a33be04be441",
"value": "6816f79cc0a8016401c5a33be04be441"
},
"sys_updated_by": "admin",
"opened_by": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/681ccaf9c0a8016400b98a06818d57c7",
"value": "681ccaf9c0a8016400b98a06818d57c7"
},
"user_input": "",
"sys_created_on": "2022-09-28 18:24:13",
"sys_domain": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user_group/global",
"value": "global"
},
"state": "7",
"route_reason": "",
"sys_created_by": "pat",
"knowledge": "false",
"order": "",
"calendar_stc": "7937181",
"closed_at": "2024-02-28 23:10:06",
"cmdb_ci": {
"link": "https://dev123456.service-now.com/api/now/table/cmdb_ci/b0c4030ac0a800090152e7a4564ca36c",
"value": "b0c4030ac0a800090152e7a4564ca36c"
},
"delivery_plan": "",
"cmdb_ci_business_app": "",
"contract": "",
"impact": "1",
"active": "false",
"work_notes_list": "",
"business_service": "",
"business_impact": "",
"priority": "1",
"sys_domain_path": "/",
"rfc": "",
"time_worked": "",
"expected_start": "",
"opened_at": "2024-02-27 23:09:51",
"business_duration": "1970-01-22 21:46:21",
"group_list": "",
"work_end": "",
"caller_id": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/5137153cc611227c000bbd1bd8cd2005",
"value": "5137153cc611227c000bbd1bd8cd2005"
},
"reopened_time": "",
"resolved_at": "2024-05-29 19:56:12",
"approval_set": "",
"subcategory": "",
"work_notes": "",
"universal_request": "",
"short_description": "Can't read email",
"close_code": "Closed/Resolved by Caller",
"correlation_display": "",
"delivery_task": "",
"work_start": "",
"assignment_group": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user_group/d625dccec0a8016700a222a0f7900d06",
"value": "d625dccec0a8016700a222a0f7900d06"
},
"additional_assignee_list": "",
"business_stc": "1892781",
"cause": "",
"description": "User can't access email on mail.company.com.\n\t\t",
"origin_id": "",
"calendar_duration": "1970-04-02 20:46:21",
"close_notes": "Closed before close notes were made mandatory\n\t\t",
"notify": "1",
"service_offering": "",
"sys_class_name": "incident",
"closed_by": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/9ee1b13dc6112271007f9d0efdb69cd0",
"value": "9ee1b13dc6112271007f9d0efdb69cd0"
},
"follow_up": "",
"parent_incident": "",
"sys_id": "9c573169c611228700193229fff72400",
"contact_type": "",
"reopened_by": "",
"incident_state": "7",
"urgency": "1",
"problem_id": {
"link": "https://dev123456.service-now.com/api/now/table/problem/9d3a266ac6112287004e37fb2ceb0133",
"value": "9d3a266ac6112287004e37fb2ceb0133"
},
"company": "",
"reassignment_count": "1",
"activity_due": "",
"assigned_to": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/46b87022a9fe198101a78787e40d7547",
"value": "46b87022a9fe198101a78787e40d7547"
},
"severity": "1",
"comments": "",
"approval": "",
"sla_due": "",
"comments_and_work_notes": "",
"due_date": "",
"sys_mod_count": "21",
"reopen_count": "",
"sys_tags": "",
"escalation": "0",
"upon_approval": "",
"correlation_id": "",
"location": {
"link": "https://dev123456.service-now.com/api/now/table/cmn_location/1083361cc611227501b682158cabf646",
"value": "1083361cc611227501b682158cabf646"
},
"category": "network"
}
}

2. Criando Novos Registros (POST):

  • Para criar um novo incidente:
  • Method: POST
  • URL: {{instance_url}}/api/now/table/incident
  • Body (raw — JSON):
  • JSON
{
"short_description": "Incidente criado via Postman",
"caller_id": "abel.tuter"
}
tiagomacul_4-1747707589839.png

 

  • Analisando a Resposta: A resposta geralmente incluirá o sys_id do novo registro criado.
{
"result": {
"parent": "",
"made_sla": "true",
"caused_by": "",
"watch_list": "",
"upon_reject": "cancel",
"sys_updated_on": "2025-05-13 18:14:17",
"child_incidents": "0",
"hold_reason": "",
"origin_table": "",
"task_effective_number": "INC0010002",
"approval_history": "",
"number": "INC0010002",
"resolved_by": "",
"sys_updated_by": "webservice",
"opened_by": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/d67ee7acc3a1a650114e1933e4013153",
"value": "d67ee7acc3a1a650114e1933e4013153"
},
"user_input": "",
"sys_created_on": "2025-05-13 18:14:17",
"sys_domain": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user_group/global",
"value": "global"
},
"state": "1",
"route_reason": "",
"sys_created_by": "webservice",
"knowledge": "false",
"order": "",
"calendar_stc": "",
"closed_at": "",
"cmdb_ci": "",
"delivery_plan": "",
"cmdb_ci_business_app": "",
"contract": "",
"impact": "3",
"active": "true",
"work_notes_list": "",
"business_service": "",
"business_impact": "",
"priority": "5",
"sys_domain_path": "/",
"rfc": "",
"time_worked": "",
"expected_start": "",
"opened_at": "2025-05-13 18:14:16",
"business_duration": "",
"group_list": "",
"work_end": "",
"caller_id": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/62826bf03710200044e0bfc8bcbe5df1",
"value": "62826bf03710200044e0bfc8bcbe5df1"
},
"reopened_time": "",
"resolved_at": "",
"approval_set": "",
"subcategory": "",
"work_notes": "",
"universal_request": "",
"short_description": "Incidente criado via Postman",
"close_code": "",
"correlation_display": "",
"delivery_task": "",
"work_start": "",
"assignment_group": "",
"additional_assignee_list": "",
"business_stc": "",
"cause": "",
"description": "",
"origin_id": "",
"calendar_duration": "",
"close_notes": "",
"notify": "1",
"service_offering": "",
"sys_class_name": "incident",
"closed_by": "",
"follow_up": "",
"parent_incident": "",
"sys_id": "39ceff6cc3a1a650114e1933e4013160",
"contact_type": "",
"reopened_by": "",
"incident_state": "1",
"urgency": "3",
"problem_id": "",
"company": {
"link": "https://dev123456.service-now.com/api/now/table/core_company/227cdfb03710200044e0bfc8bcbe5d6b",
"value": "227cdfb03710200044e0bfc8bcbe5d6b"
},
"reassignment_count": "0",
"activity_due": "",
"assigned_to": "",
"severity": "3",
"comments": "",
"approval": "not requested",
"sla_due": "",
"comments_and_work_notes": "",
"due_date": "",
"sys_mod_count": "0",
"reopen_count": "0",
"sys_tags": "",
"escalation": "0",
"upon_approval": "proceed",
"correlation_id": "",
"location": "",
"category": "inquiry"
}
}

3. Atualizando Registros (PUT/PATCH):

  • Para atualizar a descrição de um incidente (substitua <sys_id> pelo sys_id real do incidente):
  • Method: PUT ou PATCH
  • URL: {{instance_url}}/api/now/table/incident/<sys_id>
  • Body (raw — JSON):
  • JSON
{
"description": "Descrição atualizada via Postman."
}
tiagomacul_5-1747707589941.png

 

  • Analisando a Resposta: A resposta geralmente indicará sucesso (código de status 200 OK) e pode incluir o registro atualizado.
{
"result": {
"parent": "",
"made_sla": "true",
"caused_by": "",
"watch_list": "",
"upon_reject": "cancel",
"sys_updated_on": "2025-05-13 18:18:34",
"child_incidents": "0",
"hold_reason": "",
"origin_table": "",
"task_effective_number": "INC0010002",
"approval_history": "",
"number": "INC0010002",
"resolved_by": "",
"sys_updated_by": "webservice",
"opened_by": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/d67ee7acc3a1a650114e1933e4013153",
"value": "d67ee7acc3a1a650114e1933e4013153"
},
"user_input": "",
"sys_created_on": "2025-05-13 18:14:17",
"sys_domain": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user_group/global",
"value": "global"
},
"state": "1",
"route_reason": "",
"sys_created_by": "webservice",
"knowledge": "false",
"order": "",
"calendar_stc": "",
"closed_at": "",
"cmdb_ci": "",
"delivery_plan": "",
"cmdb_ci_business_app": "",
"contract": "",
"impact": "3",
"active": "true",
"work_notes_list": "",
"business_service": "",
"business_impact": "",
"priority": "5",
"sys_domain_path": "/",
"rfc": "",
"time_worked": "",
"expected_start": "",
"opened_at": "2025-05-13 18:14:16",
"business_duration": "",
"group_list": "",
"work_end": "",
"caller_id": {
"link": "https://dev123456.service-now.com/api/now/table/sys_user/62826bf03710200044e0bfc8bcbe5df1",
"value": "62826bf03710200044e0bfc8bcbe5df1"
},
"reopened_time": "",
"resolved_at": "",
"approval_set": "",
"subcategory": "",
"work_notes": "",
"universal_request": "",
"short_description": "Incidente criado via Postman",
"close_code": "",
"correlation_display": "",
"delivery_task": "",
"work_start": "",
"assignment_group": "",
"additional_assignee_list": "",
"business_stc": "",
"cause": "",
"description": "Descrição atualizada via Postman.",
"origin_id": "",
"calendar_duration": "",
"close_notes": "",
"notify": "1",
"service_offering": "",
"sys_class_name": "incident",
"closed_by": "",
"follow_up": "",
"parent_incident": "",
"sys_id": "39ceff6cc3a1a650114e1933e4013160",
"contact_type": "",
"reopened_by": "",
"incident_state": "1",
"urgency": "3",
"problem_id": "",
"company": {
"link": "https://dev123456.service-now.com/api/now/table/core_company/227cdfb03710200044e0bfc8bcbe5d6b",
"value": "227cdfb03710200044e0bfc8bcbe5d6b"
},
"reassignment_count": "0",
"activity_due": "",
"assigned_to": "",
"severity": "3",
"comments": "",
"approval": "not requested",
"sla_due": "",
"comments_and_work_notes": "",
"due_date": "",
"sys_mod_count": "1",
"reopen_count": "0",
"sys_tags": "",
"escalation": "0",
"upon_approval": "proceed",
"correlation_id": "",
"location": "",
"category": "inquiry"
}
}

Recursos Adicionais do Postman para o ServiceNow:

  • Coleções: Organize suas requisições do ServiceNow em coleções lógicas (por exemplo, “Incident API”, “User API”). Você pode importar coleções pré-existentes compartilhadas pela comunidade ServiceNow.
  • Testes: Escreva scripts de teste no Postman (na aba “Tests” de uma requisição) para validar a resposta da API, como verificar códigos de status, conteúdo do JSON e tempos de resposta.
  • Variáveis: Utilize variáveis de ambiente e globais para tornar suas requisições mais dinâmicas e reutilizáveis.
  • Documentação: O Postman pode gerar documentação a partir de suas coleções, facilitando o compartilhamento do conhecimento sobre as APIs do ServiceNow com sua equipe.

Desbloqueando o Potencial do ServiceNow com o Postman

O Postman é uma ferramenta poderosa e essencial para qualquer pessoa que trabalhe com as APIs RESTful do ServiceNow. Seja para explorar as capacidades da plataforma, testar integrações complexas ou automatizar tarefas rotineiras, o Postman simplifica a interação com o ServiceNow de forma intuitiva e eficiente. Ao dominar o uso do Postman, você desbloqueará um novo nível de controle e automação dentro do seu ambiente ServiceNow, expandindo suas possibilidades de integração e otimização. Comece a explorar, experimente e descubra o vasto potencial que a API do ServiceNow, aliada ao poder do Postman, tem a oferecer!

tiagomacul_6-1747707590110.jpeg

 

Version history
Last update:
‎05-19-2025 07:21 PM
Updated by:
Contributors