Aller au contenu

Géocoder plusieurs adresses

POST /geocode/batch est la même recherche que GET /geocode/search, plusieurs fois, en une requête. La réponse est un tableau de tableaux : l'index i est ce que la recherche retournerait pour la requête i. Les chaînes vides restent en place comme [] et ne sont pas facturées.

curl -X POST "https://api.unmap.dev/geocode/batch" \
  -H "Authorization: Bearer $UNMAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"queries":["17 Ave SW Calgary","Springfield",""],"limit":1}'
[
  [{ "id": "", "name": "101 17 Avenue SW, Calgary", "layer": "address" }],
  [{ "id": "", "name": "Springfield", "layer": "locality" }],
  []
]

Une requête porte de 1 à 100 recherches. Plus de 100 donne un 413. Contrôles partagés seulement : les mêmes lang, limit, layers, focus, region et bbox que la recherche. La bibliothèque cliente découpe une liste plus longue en requêtes de 100 et concatène dans l'ordre d'entrée.

Chaque requête non vide compte pour un incrément de géocodage, y compris une absence de correspondance valide. Un 400, un 413 ou une panne du conteneur n'incrémente rien. Si l'allocation mensuelle restante est inférieure au nombre de requêtes non vides, la requête entière est refusée.

Ce n'est pas un traitement en arrière-plan. Le fichier, s'il y en a un, reste sur votre machine. Pour un CSV, unmap geocode csv est le client qui le fait déjà. La page Géocodage par lots couvre la ligne de commande, les colonnes ajoutées, et pourquoi il n'y a pas d'API de traitements aujourd'hui.