dev-master
9999999-devAPI client aisdk project)
MIT
The Requires
- php >=5.5.0
- guzzlehttp/guzzle 6.2.*
by Stanislav Vinogradov
API client aisdk project)
PHP библиотека для работы с сервисом aisdk с помощью REST API, (*1)
Установка через composer:, (*2)
composer require interso/aisdk-api-order-client
``` php $client = new \Aisdk\Client('http://127.0.0.1:8090/api',new \GuzzleHttp\Client()); $client->auth('login', 'password');, (*3)
или ``` php $client = new \Aisdk\Client('http://127.0.0.1:8090/api',new \GuzzleHttp\Client(), ['token'=>'w340349if903f0weifjqewoifjewo']);
``` php $orders = $client->getOrders();, (*4)
или ``` php $orders = $client->getOrders($page=3);
Возвращает массив заявок. По умолчанию 1 страницу. Каждая заявка является ассоциативным массивом с ключами., (*5)
id - Идентификатор заявки, (*6)
engine_type - Тип двигателя * none - Нет * ice - Бензин * diesel - Дизель * pressure_gas - Сжатый газ * liquefied_gas - Сжиженный газ, (*7)
run - Пробег (в км), (*8)
tires - Используемая марка шин, (*9)
axle_count - Кол-во осей у транспортного средства, (*10)
vin - VIN номер транспортного средства, (*11)
reg_number - Регистрационный номер, (*12)
vehicle_str - Название модели, (*13)
vehicle_type - Категория транспортного средства, (*14)
A, B, C, D, E
vehicle_type2 - Классификация транспортного средства, (*15)
L, M1, M2, M3, N1, N2, N3, O1, O2, O3, O4
max_weight - Максимально разрешенная масса (кг), (*16)
weight - Масса транспортного средства без нагрузки (кг), (*17)
prod_year - Год выпуска, (*18)
document_type - Тип документов на транспортное средство * pts - ПТС * license - Свидетельство, (*19)
document_serial - Серия документа, (*20)
document_number - Номер документа, (*21)
document_dt - Дата выдачи документа, (*22)
document_owner - Кем выдан документ, (*23)
notes - Примечание к заявке от агента, (*24)
dt_add - Дата добавления заявки, (*25)
dt_update - Дата обновления заявки, (*26)
body_number - Номер кузова, (*27)
chassis_number - Номер шасси, (*28)
vehicle_goal - Назначение транспортного средства * taxi - Такси * personal - Личная * none - Нет отметок * learn - Для учебной езды * route - Для маршрутных перевозок * danger - Для опасных грузов, (*29)
brake_system - Тип тормозной системы * hydra - Гидравлические * pneu - Пневматические * mechanical - Механические * combined - Комбинированные, (*30)
owner_fname - Имя предоставившего сведения о ТС, (*31)
owner_lname - Фамилия предоставившего сведения о ТС, (*32)
owner_mname - Отчество предоставившего сведения о ТС, (*33)
organization - Организация владеющая данным ТС, (*34)
``` php $order = $client->getOrder(1234), (*35)
Возвращает данные одной заявки. Формат аналогичен указанному в методе getOrders. #### 3. Информация о диагностической карте одного заказа ``` php $dcard = $client->getDcardForOrder(1234);
Возвращает найденную для заявки диагностическую карту в виде ассоциативного массива со следуюшими полями:, (*36)
order_id - идентификатор заявки, (*37)
expiration_date - дата до которой выдана диагностическая карта, (*38)
start_date - дата с которой диагностическая карта выдана, (*39)
number - номер в ЕАИСТО, (*40)
url - URL для доступа к PDF файлу с диагностической картой, (*41)
``` php $meta = $client->getMetaForOrder(1234);, (*42)
Возвращает найденную для заявки мета информацию со следующими полями: **order_id** - идентификатор заявки **status** - статус заявки * new - новая * proceed - в процессе * complete - завершена * canceled - отменена * error - ошибка **station_id** - идентификатор станции **station** - название станции #### 5. Создание заявки ``` php $client->createOrder($data);
В параметре data передать массив полей для создания заявки. Принимаются следующие поля:, (*43)
engine_type - Тип двигателя * none - Нет * ice - Бензин * diesel - Дизель * pressure_gas - Сжатый газ * liquefied_gas - Сжиженный газ, (*44)
run - Пробег (в км), (*45)
tires - Используемая марка шин, (*46)
axle_count - Кол-во осей у транспортного средства, (*47)
vin - VIN номер транспортного средства, (*48)
reg_number - Регистрационный номер, (*49)
vehicle_str - Название модели, (*50)
vehicle_type - Категория транспортного средства, (*51)
A, B, C, D, E
vehicle_type2 - Классификация транспортного средства, (*52)
L, M1, M2, M3, N1, N2, N3, O1, O2, O3, O4
max_weight - Максимально разрешенная масса (кг), (*53)
weight - Масса транспортного средства без нагрузки (кг), (*54)
prod_year - Год выпуска, (*55)
document_type - Тип документов на транспортное средство * pts - ПТС * license - Свидетельство, (*56)
document_serial - Серия документа, (*57)
document_number - Номер документа, (*58)
document_dt - Дата выдачи документа, (*59)
document_owner - Кем выдан документ, (*60)
notes - Примечание к заявке от агента, (*61)
body_number - Номер кузова, (*62)
chassis_number - Номер шасси, (*63)
vehicle_goal - Назначение транспортного средства * taxi - Такси * personal - Личная * none - Нет отметок * learn - Для учебной езды * route - Для маршрутных перевозок * danger - Для опасных грузов, (*64)
brake_system - Тип тормозной системы * hydra - Гидравлические * pneu - Пневматические * mechanical - Механические * combined - Комбинированные, (*65)
owner_fname - Имя предоставившего сведения о ТС, (*66)
owner_lname - Фамилия предоставившего сведения о ТС, (*67)
owner_mname - Отчество предоставившего сведения о ТС, (*68)
organization - Организация владеющая данным ТС, (*69)
В качестве ответа приходит массив вида:, (*70)
``` php $result = [ 'success' => ???, 'data' = [], ];, (*71)
Значение ключа success сообщает об успешности операции и принимает значение true/false. Если значение success = false, то ключ data содержит массив ошибок. В массиве ошибок ключом является имя поля, а значением список ошибок в нем. Исключением является ошибка с ключом globalError. Она не относится к одному полю, а связана со всем заказом целиком. Поле vehicle_type2 автоматически вычисляется и требуется его передавать, только когда vehicle_type = B. #### 6. Обновление заявки ``` php $client->updateOrder($id, $data);
Метод работает аналогично созданию заявки. Т.е. $id указывает какую заявку обновляем, а доступные значения для $data, а так-же формат ответа, такой-же как и при создании заявки., (*72)
``` php $result = $client->createOrder(); print_r($result);, (*73)
В ответе будет ```phpArray ( [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] => Необходимо заполнить «Категория ТС». ) ) )
``` php $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);, (*74)
В ответе будет ```php array(2) { ["success"]=> bool(true) ["id"]=> int(41514) }
API client aisdk project)
MIT