Pentru exemplele din această postare vom folosi funcția file_get_contents.
Ca alternativă se pot folosi multe alte mijloace, inclusiv cURL - despre care puteți găsi informații și exemple aici.
1. Interogare listă localități aferente unui județ
Link API:
https://www.infocui.ro/system/api/localitati
Exemplu:
<?php
$vars = array(
"key" => "_API_KEY_", // cheia API din contul infocui.ro
"judet" => "Iasi", // nume judet
);
$url = "https://www.infocui.ro/system/api/localitati?".http_build_query($vars);
$json = file_get_contents($url);
$obj = json_decode($json, true);
var_dump($obj);
?>
Rezultat:
0 =>
array (size=4)
'id' => int 11269
'locality' => string 'Albesti' (length=7)
'zipcode' => string '707061' (length=6)
'county' => string 'Iasi' (length=4)
1 =>
array (size=4)
'id' => int 11628
'locality' => string 'Alexandru cel Bun' (length=17)
'zipcode' => string '707591' (length=6)
'county' => string 'Iasi' (length=4)
........................................................
........................................................
........................................................
2. Interogare listă străzi aferente unei localități
Link API:
https://www.infocui.ro/system/api/strazi
Exemplu:
<?php
$vars = array(
"key" => "_API_KEY_", // cheia API din contul infocui.ro
"id_localitate" => "11269", // nume judet
);
$url = "https://www.infocui.ro/system/api/strazi?".http_build_query($vars);
$json = file_get_contents($url);
$obj = json_decode($json, true);
var_dump($obj);
?>
Alternativ, se poate folosi parametrul localitate în loc de id_localitate, însă recomandăm folosirea id-ului localității deoarece sunt județe care au nume de localități similare altor județe, iar rezultatele returnate nu vor fi exacte:
<?php
$vars = array(
"key" => "_API_KEY_", // cheia API din contul infocui.ro
"localitate" => "Albesti", // nume judet
);
$url = "https://www.infocui.ro/system/api/strazi?".http_build_query($vars);
$json = file_get_contents($url);
$obj = json_decode($json, true);
var_dump($obj);
?>
Rezultat:
0 =>
array (size=6)
'locality_id' => int 11269
'district' => string '' (length=0)
'street_type' => string 'Aleea' (length=5)
'street_name' => string 'Dobrovat' (length=8)
'number' => string '' (length=0)
'zipcode' => string '707061' (length=6)
1 =>
array (size=6)
'locality_id' => int 11269
'district' => string '' (length=0)
'street_type' => string 'Aleea' (length=5)
'street_name' => string 'Siretel' (length=7)
'number' => string '' (length=0)
'zipcode' => string '707061' (length=6)
........................................................
........................................................
........................................................
3. Listă adrese aferente codului poștal
Link API:
https://www.infocui.ro/system/api/codpostal
Exemplu:
<?php
$vars = array(
"key" => "_API_KEY_", // cheia API din contul infocui.ro
"cod" => "707059", // cod postal
);
$url = "https://www.infocui.ro/system/api/codpostal?".http_build_query($vars);
$json = file_get_contents($url);
$obj = json_decode($json, true);
var_dump($obj);
?>
Rezultat:
array (size=2)
'localitate' =>
array (size=4)
'id_localitate' => string '11267' (length=5)
'localitate' => string 'Traian' (length=6)
'cod_postal' => string '707059' (length=6)
'judet' => string 'Iasi' (length=4)
'strazi' =>
array (size=2)
0 =>
array (size=8)
'id_localitate' => string '11267' (length=5)
'sector' => string '' (length=0)
'tip_strada' => string 'Strada' (length=6)
'nume_strada' => string 'Principala' (length=10)
'numar_strada' => string '' (length=0)
'cod_postal' => string '707059' (length=6)
'localitate' => string 'Traian' (length=6)
'judet' => string 'Iasi' (length=4)
1 =>
array (size=8)
'id_localitate' => string '11267' (length=5)
'sector' => string '' (length=0)
'tip_strada' => string 'Strada' (length=6)
'nume_strada' => string 'Traian' (length=6)
'numar_strada' => string '' (length=0)
'cod_postal' => string '707059' (length=6)
'localitate' => string 'Traian' (length=6)
'judet' => string 'Iasi' (length=4)
........................................................
........................................................
........................................................