Skip to content

Latest commit

 

History

History
67 lines (54 loc) · 2.54 KB

README.md

File metadata and controls

67 lines (54 loc) · 2.54 KB

DadataSuggestions

Integration with Dadata suggestions API.

Latest Stable Version Total Downloads Latest Unstable Version License

Installation

This extension is available at packagist.org and can be installed via composer by following command:

composer require glendemon/dadata-suggestions

Configuration

You can customize debug panel behavior with this options:

  • token - private api token [required].
  • url - path to suggestions api [optional].
  • client - GuzzleHttp\Client [optional].

Example:

$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