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;
-
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
$result = DadataSuggest::suggest("address", ["query"=>"ΠΠΎΡΠΊΠ²Π°", "count"=>2]); print_r($result);
ΠΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ:
fio, address, party, email, bank
-
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ ΠΠΠ ΠΈΠ»ΠΈ ΠΠΠ Π Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
$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');