Para acessar o webservice, um CEP no formato de {8} dígitos deve ser fornecido, por exemplo:
"01001000".
Após o CEP, deve ser fornecido o tipo de retorno
desejado, por enquanto apenas "json".
Exemplo de pesquisa por CEP:
https://wscep.df.gov.br/ws/01001000/json
Quando consultado um CEP de formato inválido, por exemplo: "950100100" (9 dígitos), "95010A10" (alfanumérico), "95010 10" (espaço), o código de retorno da consulta será um 400 (Bad Request). Antes de acessar o webservice, valide o formato do CEP e certifique-se que o mesmo possua {8} dígitos. Exemplo de como validar o formato do CEP em javascript está disponível nos exemplos abaixo.
Quando consultado um CEP de formato válido, porém inexistente, por exemplo: "99999999", o retorno conterá um valor de "erro" igual a "true". Isso significa que o CEP consultado não foi encontrado na base de dados. Veja como manipular este "erro" em javascript nos exemplos abaixo.
Veja exemplos de acesso ao webservice e os diferentes tipos de retorno:
URL: https://wscep.df.gov.br/ws/01001000/json
{
"cep": "01001-000",
"logradouro": "Praça da Sé",
"complemento": "lado ímpar",
"bairro": "Sé",
"localidade": "São Paulo",
"uf": "SP",
"unidade": "",
"ibge": "3550308",
"gia": "1004"
}
Este webservice está limitado a 60requisições/minuto/IP.
Toda resposta terá os seguintes headers HTTP:
X-RateLimit-Limit: Limite de requisições por minuto (60)
X-RateLimit-Remaining: Quantidade de requisições restantes
Caso o limite seja excedido, toda resposta retornará com o status 429 Too
Many Requests, e os seguintes headers:
Retry-After: Tempo restante para que o limite seja resetado
X-RateLimit-Reset: Tempo em segundos desde o
epoch em que o limite será resetado