Surveillez l'utilisation de votre clé avant d'atteindre une limite
Surveiller vos en-têtes de quota au fil de l'eau vous indique quand une limite approche, bien avant qu'une requête ne soit effectivement refusée.
Un champ de code postal qui ne vérifie que la longueur et le format des caractères acceptera sans broncher un code parfaitement formaté et complètement faux. Une véritable validation consiste à vérifier que le code correspond à un lieu réel.
Transmettez le code et le code ISO 3166-1 alpha-2 du pays à /v1/postcode. Une combinaison valide renvoie au moins un résultat avec des coordonnées et des composants de localisation.
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 revient vide, la combinaison du code postal et du pays ne correspond à aucun lieu connu. C'est le signal pour rejeter le champ du formulaire avec un message clair, plutôt que de laisser un code inventé se retrouver plus tard sur une étiquette d'expédition.
Un code postal couvre une zone, parfois petite, parfois grande selon le pays : une validation réussie confirme donc que le code existe, et non qu'il correspond à l'adresse postale précise également saisie dans le formulaire. Associez la validation du code postal à une vérification par géocodage direct de l'adresse complète lorsque vous avez besoin que le code et la rue concordent.
Rejeter un code uniquement parce qu'il ne correspond pas à vos propres attentes de formatage, avant même de l'avoir envoyé à l'API, revient à écarter une saisie valide pour une différence cosmétique. Un code saisi avec une espace manquante, des espaces en trop ou une casse incohérente est souvent un code postal valide une fois normalisé. Supprimez les espaces superflues et normalisez les espaces et la casse du champ avant d'appeler /v1/postcode, plutôt que de rejeter purement et simplement la saisie pour une particularité de formatage que la recherche elle-même aurait tolérée.
Un code postal syntaxiquement valide peut tout de même échouer à la validation simplement parce que le mauvais pays a été sélectionné avec lui, car un même motif numérique ou alphanumérique peut constituer un code valide dans le système de plusieurs pays. Si une recherche revient vide pour un code que le client affirme correct, vérifiez que le champ du pays correspond bien à ce que le client voulait dire avant de considérer le code postal lui-même comme le problème.
Lancez la vérification lorsque le champ perd le focus ou à l'envoi du formulaire, et non à chaque frappe, car un code postal est généralement saisi en entier avant qu'il soit pertinent de le valider. La vérification se limite ainsi à une requête par tentative d'envoi plutôt qu'à une par caractère saisi.
Un appel de validation par envoi de formulaire représente une seule requête. Même un formulaire à fort trafic n'utilisera qu'une petite fraction des 2 500 requêtes gratuites par jour incluses avec chaque clé, ou disponibles depuis une seule adresse sans clé, pour la seule validation des codes postaux.
Repérer un code postal erroné avant qu'il n'arrive sur une étiquette d'expédition vaut bien la requête supplémentaire que cela demande. Le détail complet des paramètres se trouve dans la documentation de la recherche de code postal.