interso/aisdk-api-order-client

aisdk项目API客户端)

dev-master 2017-09-04 07:45 UTC

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)
}