Integrare PHP API informații adrese, liste localități, străzi, coduri poștale - infocui.ro

Integrare PHP API informații adrese, liste localități, străzi, coduri poștale - infocui.ro

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)
        ........................................................
        ........................................................
        ........................................................


4.1mil+

Firme

200+

Token-uri create

150+

Utilizatori activi

30K+

Interogări zilnice