
Webservice de recherche de communes / code postaux Suisse
>
Services JSON > API recherche communes Suisses
Fonctionnement haut de page
Ce service permet de récupérer une liste de communes / code postaux Suisse, en fontion des paramètres recherchés, au format JSON.
Arguments requis haut de page
Les paramètres requis sont le login (APP_LOGIN) et la clé (APP_KEY) que vous avez créés pour le site concerné, tel que :
: String (nom que vous avez donné à votre application)
: String (la clé que vous avez reçu lors de la création de votre application)
Arguments optionnels haut de page
Les paramètres suivants sont optionnels et peuvent se cumuler :
: String - minimum de caractères : 1 (premières lettres des communes Suisses recherchées, champ insensible à la casse).
//www.citysearch-api.com/ch/city?login=APP_LOGIN&apikey=APP_KEY&ville=paris
: Integer - minimum de caractères : 1 - maximum de caractères : 5 (communes Suisses correspondant au code postal recherché).
Exemple d'URL avec le paramètre cp :
//www.citysearch-api.com/ch/city?login=APP_LOGIN&apikey=APP_KEY&cp=22200
: Integer - minimum de caractères : 1 - maximum de caractères : 2 (communes Suisses correspondant au code département recherché).
Liste les départements en fonction du code région recherché.
Exemple d'URL avec le paramètre dp :
//www.citysearch-api.com/ch/city?login=APP_LOGIN&apikey=APP_KEY&dp=22
: integer ( inclusion du json dans l'élément "jsonCallback()" ).
Prend les valeurs suivantes :
"1" : inclu le json dans l'élément "jsonCallback()", utile par exemple pour les requêtes via JSONP de jQuery, voir l'exemple.
Exemple d'URL avec le paramètre callback :
//www.citysearch-api.com/ch/city?login=APP_LOGIN&apikey=APP_KEY&callback=1&dp=22
Réponse haut de page
Les informations sont retournées au format JSON.
: String (nom de la commune)
: Integer (code postal de la commune)
Exemple de réponse retournée par ce service SANS le paramètre "callback" :
{"results":[ ... {"ville":"Saint-Ouen","cp":93400}, {"ville":"Clichy","cp":92110}, {"ville":"La Plaine-Saint-Denis","cp":93210}, {"ville":"Vanves","cp":92170}, {"ville":"Levallois-Perret","cp":92300} ... ]}
Exemple de réponse retournée par ce service AVEC le paramètre "callback" :
jsonCallback({"results":[ ... {"ville":"Saint-Ouen","cp":93400}, {"ville":"Clichy","cp":92110}, {"ville":"La Plaine-Saint-Denis","cp":93210}, {"ville":"Vanves","cp":92170}, {"ville":"Levallois-Perret","cp":92300} ... ]})
Liste des exempleshaut de page

Exemple d'appel en Javascripthaut de page
Cet exemple présente une méthode pour appeler la liste des communes Suisses directement depuis le navigateur client via javascript.
Ce exemple ne prend pas en compte l'utilisation de librairies javascript tel que jquery, mootools...
/** * Fonction qui va récupérer la liste des communes Suisse */ function appelAjax() { var method='GET'; ... var api_name= "..."; var api_key = "..."; var ville = "paris"; var url = "//www.citysearch-api.com/ch/city?login="+api_name+"&apiKey="+api_key+"&ville=".ville"; http.open(method, url); // Déclaration de la fonction à appeler pour traiter le retour Ajax http.onreadystatechange = handleResponse; ... http.send(null); ... } /** * Fonction qui traitera la réponse AJAX */ function handleResponse() { // Si l'état = 4 ... if(http.readyState == 4){ ... // On stocke la réponse Ajax dans la variable "response" var response = http.responseText; ... } }
Exemple d'appel en PHPhaut de page
Cet exemple présente une méthode pour appeler la liste des communes Suisses à partir du serveur PHP appelant l'API.
Cet exemple est associé à une mise en cache du résultat pendant 60 secondes.
La mise en cache n'est pas obligatoire et n'est présentée qu'à titre de suggestion.
//-- $dir correspond au dossier dans lequel sera placé le cache $dir = '/cache'; $ville = urlencode('paris'); //-- $match correspond au fichier cache dédié à la région $match = $dir."/ville_".$ville.".json"; $exist = true; $api_key = "..."; $api_name = "..."; //-- si le fichier n'existe pas on le créé if(!file_exists($dir."/ville_".$ville.".json")) { $match = fopen($match, "r"); $exist = false; } //-- on regarde si le cache a expiré et que le fichier ne vient pas juste d'être créé if((time()-filemtime($match) < 60) && $exist) { $raw = file_get_contents($match); $json = json_decode($raw); //-- si il a expiré alors on le rappel }else { $url = "//www.citysearch-api.com/ch/city?login=".$api_name."&apikey=".$api_key."&ville=".$ville"; $raw = file_get_contents($url); file_put_contents($match, $raw); $json = json_decode($raw); } //-- on traite le résultat if(!empty($json->results)){ foreach($json->results as $result) { echo "" . $result->ville ." : ". $result->cp; echo "
"; } }else { echo "Aucun résultat trouvé."; }

Afficher les commentaires | Signaler une erreur

URL à appeler :
//www.citysearch-api.com/ch/city?login=APP_LOGIN&apikey=APP_KEY