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
- Acesse o módulo:
System Web Services > Outbound > REST Message - Clique em New para criar uma nova mensagem REST.
- Preencha os campos:
- Name:
ConsultaCEP
- Endpoint:
https://viacep.com.br/ws/${cep}/json/
- Authentication type:
No Authentication
- Name:
- Clique em Submit.
2. Configure o método HTTP GET
- Acesse o registro criado e adicione um novo método REST.
- Preencha os campos:
- HTTP Method:
GET
- HTTP Method Name:
BuscarCEP
- HTTP Method:
- No campo Endpoint do método, mantenha:
https://viacep.com.br/ws/${cep}/json/
- Em HTTP Headers, adicione (opcional, para boas práticas):
Accept: application/json
- Clique em Submit.
3. Teste a REST Message
- Acesse o método
BuscarCEP
. - Clique em Test.
- No campo Variable Substitutions, adicione:
- Name:
cep
- Value:
01001000
(exemplo para SP)
- Name:
- 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