Padrão de requisição¶
Todas as consultas seguem o mesmo formato: GET com parâmetros na query string.
GET http://servidor001.info/api/admins
Parâmetros comuns¶
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
ws |
Sim | Sempre sim |
chave |
Sim | Sua chave de webservice |
senha |
Sim | Hash MD5 da senha de webservice |
typePass |
Sim | Sempre 1 |
metodo |
Sim | Identificador do produto (ver catálogo) |
produtoID |
Sim | ID do produto. Deve corresponder ao metodo |
Além desses, cada produto pede os parâmetros de entrada do documento consultado (cpf, cnpj, placa, uf…). Eles estão na página de cada produto no catálogo.
Exemplo¶
Consulta Localizar por CPF (produtoID=5):
curl -G "http://servidor001.info/api/admins" \
--data-urlencode "ws=sim" \
--data-urlencode "chave=SUA_CHAVE" \
--data-urlencode "senha=MD5_DA_SUA_SENHA" \
--data-urlencode "typePass=1" \
--data-urlencode "metodo=localizepf" \
--data-urlencode "produtoID=5" \
--data-urlencode "cpf=00000000000"
$params = [
'ws' => 'sim',
'chave' => getenv('SUITECRED_CHAVE'),
'senha' => getenv('SUITECRED_SENHA_MD5'),
'typePass' => '1',
'metodo' => 'localizepf',
'produtoID' => '5',
'cpf' => '00000000000',
];
$ch = curl_init('http://servidor001.info/api/admins?' . http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 180);
$resposta = curl_exec($ch);
curl_close($ch);
const params = new URLSearchParams({
ws: 'sim',
chave: process.env.SUITECRED_CHAVE,
senha: process.env.SUITECRED_SENHA_MD5,
typePass: '1',
metodo: 'localizepf',
produtoID: '5',
cpf: '00000000000',
});
const res = await fetch(`http://servidor001.info/api/admins?${params}`, {
signal: AbortSignal.timeout(180000),
});
const resposta = await res.text();
Boas práticas¶
- Timeout: algumas consultas dependem de fornecedores externos e podem levar vários segundos. Use timeout de pelo menos 180 segundos.
- Leia a resposta como texto e só depois interprete. O formato varia por produto (veja Respostas e erros).
- Documentos só com números: envie CPF, CNPJ e CEP sem pontos, traços ou barras.
- Não repita a requisição automaticamente em caso de timeout sem antes verificar se a consulta foi cobrada.