interso / aisdk-api-order-client
API client aisdk project)
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: 6.2.*
This package is not auto-updated.
Last update: 2025-06-08 08:04:02 UTC
README
Aisdk API клиент для заявок
PHP библиотека для работы с сервисом aisdk с помощью REST API
Установка
Установка через composer:
composer require interso/aisdk-api-order-client
Использование
$client = new \Aisdk\Client('http://127.0.0.1:8090/api',new \GuzzleHttp\Client()); $client->auth('login', 'password');
или
$client = new \Aisdk\Client('http://127.0.0.1:8090/api',new \GuzzleHttp\Client(), ['token'=>'w340349if903f0weifjqewoifjewo']);
Методы для клиента
1. Список заказов
$orders = $client->getOrders();
или
$orders = $client->getOrders($page=3);
Возвращает массив заявок. По умолчанию 1 страницу. Каждая заявка является ассоциативным массивом с ключами.
id - Идентификатор заявки
engine_type - Тип двигателя
- none - Нет
- ice - Бензин
- diesel - Дизель
- pressure_gas - Сжатый газ
- liquefied_gas - Сжиженный газ
run - Пробег (в км)
tires - Используемая марка шин
axle_count - Кол-во осей у транспортного средства
vin - VIN номер транспортного средства
reg_number - Регистрационный номер
vehicle_str - Название модели
vehicle_type - Категория транспортного средства
A, B, C, D, E
vehicle_type2 - Классификация транспортного средства
L, M1, M2, M3, N1, N2, N3, O1, O2, O3, O4
max_weight - Максимально разрешенная масса (кг)
weight - Масса транспортного средства без нагрузки (кг)
prod_year - Год выпуска
document_type - Тип документов на транспортное средство
- pts - ПТС
- license - Свидетельство
document_serial - Серия документа
document_number - Номер документа
document_dt - Дата выдачи документа
document_owner - Кем выдан документ
notes - Примечание к заявке от агента
dt_add - Дата добавления заявки
dt_update - Дата обновления заявки
body_number - Номер кузова
chassis_number - Номер шасси
vehicle_goal - Назначение транспортного средства
- taxi - Такси
- personal - Личная
- none - Нет отметок
- learn - Для учебной езды
- route - Для маршрутных перевозок
- danger - Для опасных грузов
brake_system - Тип тормозной системы
- hydra - Гидравлические
- pneu - Пневматические
- mechanical - Механические
- combined - Комбинированные
owner_fname - Имя предоставившего сведения о ТС
owner_lname - Фамилия предоставившего сведения о ТС
owner_mname - Отчество предоставившего сведения о ТС
organization - Организация владеющая данным ТС
2. Информация об одном заказе
$order = $client->getOrder(1234)
Возвращает данные одной заявки. Формат аналогичен указанному в методе getOrders.
3. Информация о диагностической карте одного заказа
$dcard = $client->getDcardForOrder(1234);
Возвращает найденную для заявки диагностическую карту в виде ассоциативного массива со следуюшими полями:
order_id - идентификатор заявки
expiration_date - дата до которой выдана диагностическая карта
start_date - дата с которой диагностическая карта выдана
number - номер в ЕАИСТО
url - URL для доступа к PDF файлу с диагностической картой
4. Мета информация об одной заявке
$meta = $client->getMetaForOrder(1234);
Возвращает найденную для заявки мета информацию со следующими полями:
order_id - идентификатор заявки
status - статус заявки
- new - новая
- proceed - в процессе
- complete - завершена
- canceled - отменена
- error - ошибка
station_id - идентификатор станции
station - название станции
5. Создание заявки
$client->createOrder($data);
В параметре data передать массив полей для создания заявки. Принимаются следующие поля:
engine_type - Тип двигателя
- none - Нет
- ice - Бензин
- diesel - Дизель
- pressure_gas - Сжатый газ
- liquefied_gas - Сжиженный газ
run - Пробег (в км)
tires - Используемая марка шин
axle_count - Кол-во осей у транспортного средства
vin - VIN номер транспортного средства
reg_number - Регистрационный номер
vehicle_str - Название модели
vehicle_type - Категория транспортного средства
A, B, C, D, E
vehicle_type2 - Классификация транспортного средства
L, M1, M2, M3, N1, N2, N3, O1, O2, O3, O4
max_weight - Максимально разрешенная масса (кг)
weight - Масса транспортного средства без нагрузки (кг)
prod_year - Год выпуска
document_type - Тип документов на транспортное средство
- pts - ПТС
- license - Свидетельство
document_serial - Серия документа
document_number - Номер документа
document_dt - Дата выдачи документа
document_owner - Кем выдан документ
notes - Примечание к заявке от агента
body_number - Номер кузова
chassis_number - Номер шасси
vehicle_goal - Назначение транспортного средства
- taxi - Такси
- personal - Личная
- none - Нет отметок
- learn - Для учебной езды
- route - Для маршрутных перевозок
- danger - Для опасных грузов
brake_system - Тип тормозной системы
- hydra - Гидравлические
- pneu - Пневматические
- mechanical - Механические
- combined - Комбинированные
owner_fname - Имя предоставившего сведения о ТС
owner_lname - Фамилия предоставившего сведения о ТС
owner_mname - Отчество предоставившего сведения о ТС
organization - Организация владеющая данным ТС
В качестве ответа приходит массив вида:
$result = [ 'success' => ???, 'data' = [], ];
Значение ключа success сообщает об успешности операции и принимает значение true/false. Если значение success = false, то ключ data содержит массив ошибок. В массиве ошибок ключом является имя поля, а значением список ошибок в нем. Исключением является ошибка с ключом globalError. Она не относится к одному полю, а связана со всем заказом целиком. Поле vehicle_type2 автоматически вычисляется и требуется его передавать, только когда vehicle_type = B.
6. Обновление заявки
$client->updateOrder($id, $data);
Метод работает аналогично созданию заявки. Т.е. $id указывает какую заявку обновляем, а доступные значения для $data, а так-же формат ответа, такой-же как и при создании заявки.
Примеры
Попытка создать заявку с пустым списком данных
$result = $client->createOrder(); print_r($result);
В ответе будет
(
[success] =>
[errors] => Array
(
[prod_year] => Array
(
[0] => Необходимо заполнить «Год выпуска».
)
[owner_fname] => Array
(
[0] => Необходимо заполнить «Имя».
)
[owner_lname] => Array
(
[0] => Необходимо заполнить «Фамилия».
)
[owner_mname] => Array
(
[0] => Необходимо заполнить «Отчество».
)
[vehicle_str] => Array
(
[0] => Необходимо заполнить «Модель ТС».
)
[vehicle_goal] => Array
(
[0] => Необходимо заполнить «Назначение».
)
[engine_type] => Array
(
[0] => Необходимо заполнить «Тип двигателя».
)
[brake_system] => Array
(
[0] => Необходимо заполнить «Тормоза».
)
[tires] => Array
(
[0] => Необходимо заполнить «Марка шин».
)
[run] => Array
(
[0] => Необходимо заполнить «Пробег (км)».
)
[axle_count] => Array
(
[0] => Необходимо заполнить «Кол-во осей».
)
[weight] => Array
(
[0] => Необходимо заполнить «Масса без нагрузки».
)
[max_weight] => Array
(
[0] => Необходимо заполнить «Максимальная масса».
)
[document_type] => Array
(
[0] => Необходимо заполнить «Тип документа».
)
[document_serial] => Array
(
[0] => Необходимо заполнить «Серия документа».
)
[document_number] => Array
(
[0] => Необходимо заполнить «Номер документа».
)
[document_dt] => Array
(
[0] => Необходимо заполнить «Дата выдачи».
)
[document_owner] => Array
(
[0] => Необходимо заполнить «Кем выдано».
)
[vehicle_type] => Array
(
[0] => Необходимо заполнить «Категория ТС».
)
)
)
Создание заявки
$data = array ( 'engine_type' => 'ice', 'run' => 11000, 'tires' => 'Cordiant', 'axle_count' => '2', 'vin' => 'XTA21144000372068', 'reg_number' => 'P300TO98', 'vehicle_str' => 'ВАЗ-21140', 'max_weight' => '1520', 'weight' => '1107', 'prod_year' => '2011', 'document_type' => 'license', 'document_serial' => '7913', 'document_number' => '401786', 'document_dt' => '03.05.2011', 'document_owner' => 'МРЭО-1', 'notes' => 'Проверка работы API', 'body_number' => '', 'chassis_number' => '', 'vehicle_goal' => 'personal', 'brake_system' => 'hydra', 'owner_fname' => 'Виктор', 'owner_lname' => 'Смирнов', 'owner_mname' => 'Афанасьевич', 'organization' => '', 'vehicle_type' => 'B', 'vehicle_type2' => 'M1', ); $result = $client->createOrder($data); print_r($result);
В ответе будет
array(2) { ["success"]=> bool(true) ["id"]=> int(41514) }