PHP code example of avto-dev / b2b-api-php
1. Go to this page and download the library: Download avto-dev/b2b-api-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
avto-dev / b2b-api-php example snippets
$configuration = [
'api' => [
'versions' => [
'v1' => [
'base_uri' => 'https://some.host/b2b/api/v1',
],
],
],
'use_api_version' => 'v1',
// Блок 'client' используется *только* для функционального тестирования
'client' => [
'domain' => '%имя_вашего_домена%',
'username' => '%имя_вашего_пользователя%',
'password' => '%пароль_вашего_пользователя%',
'report_type_uid' => '%uid_типа_отчета%',
],
'is_test' => false,
];
use AvtoDev\B2BApi\Clients\v1\Client;
боты клиента */];
$client = new Client($configuration);
$response = $client->dev()->ping();
var_dump($response);
use AvtoDev\B2BApi\Tokens\AuthToken;
use AvtoDev\B2BApi\Clients\v1\Client;
use AvtoDev\B2BApi\References\QueryTypes;
use AvtoDev\B2BApi\Responses\DataTypes\User\BalanceData;
use AvtoDev\B2BApi\Responses\DataTypes\User\UserInfoData;
use AvtoDev\B2BApi\Responses\DataTypes\Report\ReportData;
use AvtoDev\B2BApi\Responses\DataTypes\Report\ReportStatusData;
$configuration = [/* настройки работы клиента */];
$client = new Client($configuration);
$token = AuthToken::generate('имя_пользователя', 'пароль', 'имя_домена');
$report_type_uid = 'uid_вашего_типа_отчета';
// Проверка соединения
$response = $client->dev()->ping();
$result = $response->getValue('value'); // pong
// Получение информации о текущем пользователе
$user_info = $client->user()->info($token)
->data()
->first();
if ($user_info instanceof UserInfoData) {
$result = $user_info->getDomainUid(); // Вернёт имя домена пользователя, строкой
}
// Проверка доступности квоты по UID-у типа отчета
$client->user()->balance($token, $report_type_uid)
->data()
->each(function (BalanceData $balance_info) {
if ($balance_info->isDailyBalance()) {
// Получаем значение суточной квоты
$quote_use = $balance_info->getQuoteUse();
}
});
// Генерация нового отчета по ГРЗ 'A111AA177'
$report_status = $client->user()->report()->make($token, QueryTypes::QUERY_TYPE_GRZ, 'A111AA177', $report_type_uid)
->data()
->first();
if ($report_status instanceof ReportStatusData) {
$report_uid = $report_status->getUid(); // Вернёт UID отчета
}
// Получение имеющегося отчета
$report = $client->user()->report()->get($token, $report_uid)
->data()
->first();
if ($report instanceof ReportData) {
$sources = $report->getSourcesNames(); // Массив имен источников
$is_completed = $report->generationIsCompleted(); // true, если генерация отчета завершена
$vin_number = $report->getField('identifiers.vehicle.vin'); // Вернет VIN-номер ТС (при его наличии)
$engine_kw = $report->getField('tech_data.engine.power.kw'); // Вернет мощность двигателя в КвТ
$content = $report->getContent(); // Весь контент отчета, массивом
}
shell
$ composer