Guides

Résoudre par lots les codes postaux d'une liste de clients

Un export de clients avec une colonne de codes postaux mais sans coordonnées est un point de départ courant pour tout ce qui touche aux zones de livraison, aux rapports régionaux ou à l'affectation à un magasin. Résoudre toute la colonne d'un coup est plus rapide que d'écrire une boucle.

Envoyer le lot

Envoyez en POST un tableau d'objets code et pays à /v1/postcode. Chaque élément est résolu indépendamment et revient dans le même ordre.

POST /v1/postcode
Content-Type: application/json

[{"code": "10115", "country": "DE"}, {"code": "75001", "country": "FR"}]
{
  "status": "ok",
  "results": [
    {"postcode": "10115", "country_code": "DE", "results": [{"lat": 52.5300, "lon": 13.3800, "components": {"city": "Berlin", "region": "Berlin"}}]},
    {"postcode": "75001", "country_code": "FR", "results": [{"lat": 48.8630, "lon": 2.3360, "components": {"city": "Paris", "region": "Ile-de-France"}}]}
  ]
}

Rattacher les résultats aux fiches clients

Conservez l'index de ligne d'origine ou l'identifiant client à côté de chaque paire code et pays avant d'envoyer la requête, puis rattachez les résultats aux fiches clients selon cette même position, la même approche que pour le géocodage direct ou inverse en masse.

Dédoublonner avant l'envoi

Une liste de clients de taille réelle contient généralement bien moins de codes postaux distincts que de lignes, puisque de nombreux clients partagent le même code dans une ville ou un quartier donné. Constituez d'abord une liste unique de paires code et pays, résolvez cette liste plus courte en un seul lot, puis reportez les résultats sur chaque ligne client partageant chaque code, plutôt que d'envoyer une entrée de tableau par client et de payer encore et encore pour la même paire code et pays.

Gérer les codes qui ne sont pas résolus

Un tableau results vide pour un élément donné signifie généralement que la paire code et pays n'existe pas, ce qui est fréquent dans un ancien export contenant des fautes de frappe ou un code postal obsolète. Signalez ces lignes pour une vérification manuelle plutôt que de les retirer silencieusement de votre rapport.

Un cas particulier : les différences de format

Un code enregistré sous la forme « SW1A1AA » sans espace et un autre enregistré sous la forme « SW1A 1AA » avec espace peuvent ou non être résolus de la même manière selon la cohérence avec laquelle votre propre export formate les codes : normaliser les espaces et la casse dans votre export avant de constituer le tableau du lot réduit donc le nombre de lignes qui échouent uniquement à cause du format, et non parce que le code est réellement erroné.

Ce que cela coûte

Un lot est facturé une requête par élément : une liste de 2 000 clients coûte donc 2 000 requêtes, qu'elle soit envoyée en un seul appel groupé ou en 2 000 appels séparés. L'envoyer en un seul appel reste utile pour réduire la surcharge et n'avoir qu'un seul jeu d'en-têtes de quota à vérifier, même si le nombre de requêtes décompté de votre quota est identique dans les deux cas. C'est le dédoublonnage préalable, décrit plus haut, qui réduit réellement le nombre de requêtes, et non le choix entre appels groupés et appels individuels.

Surveiller votre quota en cours de lot

Pour une liste assez longue pour dépasser les 2 500 requêtes gratuites par jour, vérifiez X-Quota-Free-Remaining avant de vous engager à tout traiter d'une traite, ou répartissez-la sur deux ou trois jours si vous ne prévoyez pas de passer au crédit prépayé pour une tâche ponctuelle.

Résoudre les codes postaux de toute une liste de clients en un seul appel transforme ce qui était une lente tâche en arrière-plan en une simple requête. La documentation de la recherche de code postal présente la liste complète des champs.