Como Integrar o ServiceNow com a API de CEP (Guia Rápido e Fácil)

code, coding, computer, data, developing, development, ethernet, html, programmer, programming, screen, software, technology, work, code, code, coding, coding, coding, coding, coding, computer, computer, computer, computer, data, programming, programming, programming, software, software, technology, technology, technology, technology

A automação de formulários no ServiceNow é uma excelente forma de otimizar o tempo dos usuários e reduzir erros manuais. Um dos casos mais comuns é o preenchimento automático de campos de endereço a partir do CEP informado. Neste artigo, você vai aprender como integrar o ServiceNow com uma API de CEP utilizando o módulo REST Message, sem depender de scripts externos ou plugins adicionais.


📌 Por que usar uma API de CEP no ServiceNow?

Imagine um formulário de cadastro onde o usuário digita apenas o CEP e, automaticamente, os campos de rua, bairro, cidade e estado são preenchidos. Isso não só melhora a experiência do usuário, como garante padronização e integridade nos dados armazenados.


🧰 Pré-requisitos

Antes de começarmos, você vai precisar:

  • Permissão de administrador no ServiceNow
  • Acesso à instância do ServiceNow (pode ser uma instância de desenvolvedor gratuita)
  • Uma API de CEP pública (vamos usar como exemplo a ViaCEP, gratuita e sem autenticação)

🚀 Passo a Passo: Integração com REST Message

1. Crie uma nova REST Message

  1. Acesse o módulo:
    System Web Services > Outbound > REST Message
  2. Clique em New para criar uma nova mensagem REST.
  3. Preencha os campos:
    • Name: ConsultaCEP
    • Endpoint: https://viacep.com.br/ws/${cep}/json/
    • Authentication type: No Authentication
  4. Clique em Submit.

2. Configure o método HTTP GET

  1. Acesse o registro criado e adicione um novo método REST.
  2. Preencha os campos:
    • HTTP Method: GET
    • HTTP Method Name: BuscarCEP
  3. No campo Endpoint do método, mantenha:
    https://viacep.com.br/ws/${cep}/json/
  4. Em HTTP Headers, adicione (opcional, para boas práticas):
    • Accept: application/json
  5. Clique em Submit.

3. Teste a REST Message

  1. Acesse o método BuscarCEP.
  2. Clique em Test.
  3. No campo Variable Substitutions, adicione:
    • Name: cep
    • Value: 01001000 (exemplo para SP)
  4. Clique em Invoke.

Você verá a resposta da API no formato JSON com os campos: logradouro, bairro, localidade, uf, etc.


4. Use a REST Message via Script Include

Agora vamos criar um Script Include que consulta o CEP via REST e retorna os dados formatados.

var BuscaEnderecoPorCEP = Class.create();
BuscaEnderecoPorCEP.prototype = {
    initialize: function() {},

    buscar: function(cep) {
        var rm = new sn_ws.RESTMessageV2('ConsultaCEP', 'BuscarCEP');
        rm.setStringParameterNoEscape('cep', cep);
        
        var response = rm.execute();
        var responseBody = response.getBody();
        var parsed = JSON.parse(responseBody);
        
        return {
            logradouro: parsed.logradouro,
            bairro: parsed.bairro,
            cidade: parsed.localidade,
            estado: parsed.uf
        };
    },

    type: 'BuscaEnderecoPorCEP'
};

5. Preenchendo campos em formulário com Client Script + GlideAjax

Você pode usar GlideAjax para invocar esse Script Include e preencher os campos do formulário:

Client Script (onChange no campo de CEP):

function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue.length != 8) {
return;
}

var ga = new GlideAjax('BuscaEnderecoPorCEP');
ga.addParam('sysparm_name', 'buscar');
ga.addParam('cep', newValue);
ga.getXMLAnswer(function(response) {
var data = JSON.parse(response);
g_form.setValue('logradouro', data.logradouro);
g_form.setValue('bairro', data.bairro);
g_form.setValue('cidade', data.cidade);
g_form.setValue('estado', data.estado);
});
}

⚠️ Certifique-se de que o Script Include esteja marcado como Client Callable.


✅ Conclusão

Com poucos passos, você configurou uma integração simples e eficaz entre o ServiceNow e uma API de CEP, usando apenas recursos nativos como REST Message, Script Include e Client Script. Essa abordagem é altamente reutilizável e pode ser adaptada para outras APIs externas com facilidade.

Automatize, padronize e entregue mais valor com menos esforço — esse é o verdadeiro poder do ServiceNow.

No responses yet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *