DadataSuggestions
Integration with Dadata suggestions API., (*1)
, (*2)
Installation
This extension is available at packagist.org and can be installed via composer by following command:, (*3)
composer require glendemon/dadata-suggestions, (*4)
Configuration
You can customize debug panel behavior with this options:, (*5)
-
token - private api token [required].
-
url - path to suggestions api [optional].
-
client - GuzzleHttp\Client [optional].
Example:, (*6)
$service = new \DadataSuggestions\DadataSuggestionsService();
$service->setUrl('https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/');
$service->setToken('...');
public function testSuggestAddressFlat()
{
$service = $this->getService();
$response = $service->suggestAddress('ΠΌΡΠΊ Π±Π°Π»ΡΠΈΠΉΡΠΊΠ°Ρ 6ΠΊ1 5');
foreach ($response->getSuggestions() as $suggestion) {
$this->assertEquals('Π³ ΠΠΎΡΠΊΠ²Π°, ΡΠ» ΠΠ°Π»ΡΠΈΠΉΡΠΊΠ°Ρ, Π΄ 6 ΠΊ 1, ΠΊΠ² 5', $suggestion->getValue());
$this->assertEquals('Π³ ΠΠΎΡΠΊΠ²Π°, ΡΠ» ΠΠ°Π»ΡΠΈΠΉΡΠΊΠ°Ρ, Π΄ 6 ΠΊ 1, ΠΊΠ² 5', $suggestion->getUnrestrictedValue());
$data = $suggestion->getData();
$this->assertInstanceOf(\DadataSuggestions\Data\Address::class, $data);
$this->assertEquals('Π ΠΎΡΡΠΈΡ', $data->country);
$this->assertEquals('ΠΠΎΡΠΊΠ²Π°', $data->city);
$this->assertEquals('ΡΠ» ΠΠ°Π»ΡΠΈΠΉΡΠΊΠ°Ρ', $data->street_with_type);
$this->assertEquals('6', $data->house);
$this->assertEquals('1', $data->block);
$this->assertEquals('5', $data->flat);
}
}
/**
* @return \DadataSuggestions\DadataSuggestionsService
*/
protected function getService()
{
$service = new \DadataSuggestions\DadataSuggestionsService();
$service->setToken('...');
return $service;
}
Links
API documentation, (*7)