Controla el uso de tu clave antes de alcanzar un límite
Vigilar las cabeceras de cuota sobre la marcha te indica cuándo te acercas a un límite, mucho antes de que se rechace realmente una solicitud.
Un campo de código postal que solo comprueba la longitud y el formato de los caracteres aceptará sin problema un código con un formato perfecto y completamente erróneo. Validar de verdad significa comprobar que el código corresponde a un lugar real.
Envía el código y el código ISO 3166-1 alfa-2 del país a /v1/postcode. Una combinación válida devuelve al menos un resultado con coordenadas y componentes de ubicación.
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"}}
]
}Si results llega vacío, la combinación de código postal y país no corresponde a ninguna ubicación conocida. Esa es tu señal para rechazar el campo del formulario con un mensaje claro, en lugar de dejar que un código inventado acabe más tarde en una etiqueta de envío.
Un código postal cubre un área, a veces pequeña y a veces grande según el país, así que una validación correcta confirma que el código existe, no que coincida con la dirección concreta de la calle que también se introdujo en el formulario. Combina la validación del código postal con una comprobación de geocodificación directa de la dirección completa cuando necesites que coincidan tanto el código como la calle.
Rechazar un código solo porque no coincide con tus propias expectativas de formato, antes incluso de enviarlo a la API, descarta entradas válidas por una diferencia estética. Un código escrito sin un espacio, con espacios de más o con mayúsculas y minúsculas incoherentes suele seguir siendo un código postal válido una vez normalizado. Recorta y normaliza los espacios y las mayúsculas del campo antes de llamar a /v1/postcode, en lugar de rechazar la entrada directamente por una peculiaridad de formato que la propia consulta habría tolerado.
Un código postal sintácticamente válido puede fallar la validación simplemente porque se seleccionó el país equivocado junto a él, ya que el mismo patrón numérico o alfanumérico puede ser un código válido en el sistema de más de un país. Si una consulta vuelve vacía para un código que el cliente asegura que es correcto, comprueba que el campo de país coincida con lo que el cliente realmente quería indicar antes de tratar el propio código postal como el problema.
Ejecuta la comprobación cuando el campo pierde el foco o al enviar el formulario, no con cada pulsación de tecla, ya que un código postal normalmente se escribe completo antes de que tenga sentido validarlo. Así la comprobación se limita a una solicitud por intento de envío en lugar de una por cada carácter escrito.
Una llamada de validación por envío de formulario es una sola solicitud. Incluso un formulario con mucho tráfico usará una pequeña fracción de las 2.500 solicitudes gratuitas al día incluidas con cada clave, o disponibles desde una sola dirección sin clave, solo en validación de códigos postales.
Detectar un código postal incorrecto antes de que llegue a una etiqueta de envío compensa la solicitud adicional que cuesta. Los detalles completos de los parámetros están en la documentación de consulta de códigos postales.