interso / aisdk-api-order-client
aisdk项目API客户端)
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: 6.2.*
This package is not auto-updated.
Last update: 2024-09-29 04:25:56 UTC
README
Aisdk API订单客户端
用于通过REST API与aisdk服务交互的PHP库
安装
通过 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 - 车辆识别码
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 - 访问诊断卡PDF文件的URL
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 - 车辆识别码
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) }