Monitore o uso da sua chave antes de atingir um limite
Acompanhar seus cabeçalhos de cota ao longo do caminho mostra quando um limite está se aproximando, bem antes de uma requisição ser realmente rejeitada.
Um campo de código postal que só verifica o tamanho e o formato dos caracteres vai aceitar sem problemas um código perfeitamente formatado e totalmente errado. A validação de verdade significa verificar se o código corresponde a um lugar real.
Envie o código e o código ISO 3166-1 alpha-2 do país para /v1/postcode. Uma combinação válida retorna pelo menos um resultado com coordenadas e componentes de localização.
GET /v1/postcode?code=SW1A 1AA&country=GB{
"status": "ok",
"postcode": "SW1A 1AA",
"country_code": "GB",
"results": [
{"lat": 51.5014, "lon": -0.1419, "components": {"city": "London", "region": "Greater London", "country": "GB"}}
]
}Se results voltar vazio, a combinação de código postal e país não corresponde a um local conhecido. Esse é o sinal para rejeitar o campo do formulário com uma mensagem clara, em vez de deixar um código inventado passar e acabar em uma etiqueta de envio mais tarde.
Um código postal cobre uma área, às vezes pequena e às vezes grande, dependendo do país, então uma validação aprovada confirma que o código existe, não que ele corresponde ao endereço específico também informado no formulário. Combine a validação do código postal com uma verificação de geocodificação direta do endereço completo quando você precisar que o código e a rua sejam coerentes.
Rejeitar um código apenas porque ele não corresponde às suas próprias expectativas de formatação, antes mesmo de enviá-lo à API, descarta uma entrada válida por causa de uma diferença estética. Um código digitado sem um espaço, com espaços extras ou com maiúsculas e minúsculas inconsistentes muitas vezes ainda é um código postal válido depois de normalizado. Remova espaços sobrando e normalize os espaços e as maiúsculas no campo antes de chamar /v1/postcode, em vez de rejeitar a entrada logo de cara por uma peculiaridade de formatação que a própria consulta teria tolerado.
Um código postal sintaticamente válido ainda pode falhar na validação simplesmente porque o país errado foi selecionado junto com ele, já que o mesmo padrão numérico ou alfanumérico pode ser um código válido no sistema de mais de um país. Se uma consulta voltar vazia para um código que o cliente garante estar correto, confira se o campo de país corresponde ao que o cliente realmente quis dizer antes de tratar o próprio código postal como o problema.
Execute a verificação quando o campo perder o foco ou no envio do formulário, não a cada tecla digitada, já que um código postal normalmente é digitado por completo antes de fazer sentido validá-lo. Assim a verificação fica em uma requisição por tentativa de envio, em vez de uma por caractere digitado.
Uma chamada de validação por envio de formulário é uma única requisição. Mesmo um formulário com tráfego intenso usará uma pequena fração das 2.500 requisições gratuitas por dia incluídas em cada chave, ou disponíveis a partir de um único endereço sem chave, apenas com a validação de códigos postais.
Detectar um código postal inválido antes que ele chegue a uma etiqueta de envio compensa a requisição extra que isso exige. Os detalhes completos dos parâmetros estão na documentação de consulta de código postal.