fomvasss/laravel-dadata

Dadata API client (https://dadata.ru)


Keywords
autocomplete, laravel, DaData
License
MIT

Documentation

Laravel DaData

ΠŸΠ°ΠΊΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСрвисом DaData.ru, для исправлСния синтаксичСских ошибок Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² сайта ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° подсказок поля Ρ„ΠΎΡ€ΠΌ.

Установка

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

composer require "fomvasss/laravel-dadata"

Для Laravel < 5.5: Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ service-provider Π² config/app.php:

  Fomvasss\Dadata\DadataServiceProvider::class,

Для Lumen Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² bootstrap/app.php:

$app->withFacades();

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³:

php artisan vendor:publish --provider="Fomvasss\Dadata\DadataServiceProvider"

Π—Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Ρ‚ (ΠΈ ΠΊΠ»ΡŽΡ‡ для API стандартизации) Π² config/dadata.php ΠΈΠ»ΠΈ .env

    'token' => env('DADATA_TOKEN', ''),
    'secret' => env('DADATA_SECRET', ''),

ИспользованиС

БСрвис подсказок (https://dadata.ru/api/suggest/)

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² клас фасад:

use Fomvasss\Dadata\Facades\DadataSuggest;
  1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

    $result = DadataSuggest::suggest("address", ["query"=>"Москва", "count"=>2]);
    print_r($result);

    ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ: fio, address, party, email, bank

  2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использованиС поиска ΠΏΠΎ ИНН ΠΈΠ»ΠΈ ΠžΠ“Π Π с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

    $result = DadataSuggest::partyById('5077746329876', ["branch_type"=>"MAIN"]);
    print_r($result);

    ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ИНН, ΠžΠ“Π Π ΠΈΠ»ΠΈ Dadata HID

БСрвис стандартизации (https://dadata.ru/api/clean/)

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² клас фасад:

use Fomvasss\Dadata\Facades\DadataClean;

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

$response = DadataClean::cleanAddress('мск сухонска 11/-89');
$response = DadataClean::cleanPhone('Ρ‚Π΅Π» 7165219 Π΄ΠΎΠ±139');
$response = DadataClean::cleanPassport('4509 235857');
$response = DadataClean::cleanName('Π‘Ρ€Π΅Π³Π΅ΠΉ Π²Π»Π°Π΄ΠΈΠΌΠ΅Ρ€ΠΎΠ²ΠΈΡ‡ ΠΈΠ²Π°Π½ΠΎΠ²');
$response = DadataClean::cleanEmail('serega@yandex/ru');
$response = DadataClean::cleanDate('24/3/12');
$response = DadataClean::cleanVehicle('Ρ„ΠΎΡ€Π΄ фокус');
$response = DadataClean::getStatistics();
$response = DadataClean::getStatistics(now()->subDays(6));
print_r($response);

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° баланса систСми

$response = DadataClean::getBalance();

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики использования всСх сСрвисов

На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ дСнь:

$response = DadataClean::getStatistics();

На Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π΄Π°Ρ‚Ρƒ:

$response = DadataClean::getStatistics(now()->subDays(6));
// or
$response = DadataClean::getStatistics('2019-11-01');

Бсылки, докумСнтация, API: