alfamart24/laravel-gtd-api

laravel 的 GTD API

dev-master 2018-12-17 03:53 UTC

This package is auto-updated.

Last update: 2024-09-12 05:51:03 UTC


README

用于与 TК GTD 工作相关的 API。
实现了计算器、订单创建和其他许多功能。随着开发进行,我将更新文档。
有关使用问题,请发邮件至 WStanley


安装

composer require alfamart24/laravel-gtd-api:dev-master

使用方法

在 .env 文件中添加令牌

TOKEN_GTD=

在控制器中连接服务

use Alfamart24\Gtdapi\GtdService;

$service = new GtdService();


实现的功能

获取城市列表 - geography/city/get-list

$service->cityGeography()->all()

获取电子邮箱列表 - geography/email/get-list

$service->email()->all()

获取电话列表 - geography/phone/get-list

$service->phone()->all()

获取工作模式列表 - geography/schedule/get-list

$service->schedule()->all()

获取工作日历类型列表 - geography/schedule-group/get-list

$service->scheduleGroup()->all()

计算成本 - order/calculate

Получение всего отвера от сервера:
$service->calculate(...)->all()

Заполнение свойств метода с ответа (подробнее см ниже)
$service->calculate(...)->calculateResult()

获取货币列表 - order/currency/get-list

$service->currency()->all()

保险代理人列表 - order/insurance/get-list

$service->insurance()->all()

创建订单 - order/service/get-list

$service->service()->all()

订单状态 - order/status/get

$service->status(...)->all()

城市列表 - tdd/city/get-list

$service->cityTdd()->all()

获取国家列表 - tdd/country/get-list

$service->country()->all()

地区列表 - tdd/region/get-list

$service->region()->all()


功能使用示例

城市列表 - tdd/city/get-list

要获取整个城市列表,请使用 all()。
all() 用于获取服务器的完整响应。

Получение всего ответа от сервера
$cyties = $service->cityTdd()->all()

Вернет массив вида [код города => имя города]
$cyties = $service->cityTdd()->cities()

要发送请求,请将参数传递给函数

$cyti = $service->cityTdd(
                [
                    "code"         => "660002900000",
                    "region_code"  => "66",
                    "country_code" => "RU"
                ])->all()

或者这样

$cyti = $service->cityTdd(["code" => "660002900000"])->all()

具体函数接受的参数可以在文档中找到,或者在函数类中,可选参数在 optional 字段中列出,必需参数在 necessary 字段中列出。


保险代理人列表 - order/insurance/get-list

要获取服务器的完整响应,请使用 all()

$response = $service->insurance()->all()

服务器的完整响应包含 agentcargo_type 数据类型
仅获取 agent 类型

$agents = $service->insurance()->agent()

获取 cargo_type 类型

$cargoType = $service->insurance()->cargo_type()

关于服务器响应的详细信息的文档。



计算运输成本

计算成本 - order/calculate

有两种计算成本的方法

指定行李体积 volume

获取服务器的完整响应

$response = $service->calculate($request->all())->all();

使用服务器响应填写方法字段

$response = $service->calculate($request->all())->calculateResult();

Поля:
$response->standart
$response->economy
$response->express
$response->standard_courier
$response->express_courier

Получение цены:
$response->cost('standart')

Проверить верно ли произведен расчет можно(нужно) вот так
$response->error = 'Ошибка расчета' - переданы неправильные параметры
$response->error = null             - поля ответа заполнены(расчет верный)

计算成本的必需参数

'city_pickup_code'      => 'Код города откуда',<br>
'city_delivery_code'    => 'Код города куда',<br>
'declared_price'        => 'Объявленная стоимость груза (руб)',<br>
'count_place'           => 'Количество мест в позиции',<br>
'weight'                => 'Масса КГ позиции',<br>
'volume'                => 'Объем М³ позиции',

可选参数,用于更详细的计算,也可以传递给函数

'have_doc'              => 'Есть документы подтверждающие стоимость груза',
'insurance'             => 'Услуга страхования груза',
'insurance_agent_code'  => 'Код страхового агента',
'service'               => 'массив кодов услуг',
'pick_up'               => 'Забор груза по городу',
'delivery'              => 'Доставка груза по городу',
'cargo_type_code'       => 'Код характера груза',
'currency_code'         => 'Валюта результата расчета',
'all_places_same'       => 'Все места одинаковы по размеру'

行李位置的参数期望以下格式

"count_place" => [
    0 => "1"
    1 => "3"],
"weight" => [
    0 => "2"
    1 => "3"],
"volume" => [
    0 => "8"
    1 => "2"],

计算器表单上的 input 字段示例

<input type="text" name="volume[]" placeholder="Объем">
<input type="text" name="weight[]" placeholder="Вес">
<input type="text" name="count_place[]" placeholder="Количество мест">

函数 canculate 也有相关参数,关于函数的完整工作,请参阅文档。
函数在未传递所有必需的计算成本参数之前不会发送请求,抛出的异常将提示缺少什么。

获取运输成本的方法

$response = $service->calculate($request->all())->calculateResult();

$price = $response->cost('standart')
$price = $response->cost('economy')
$price = $response->cost('express')
$price = $response->cost('standard_courier')
$price = $response->cost('express_courier')

或者直接这样

$price = $service->calculate($request->all())->calculateResult()->cost('standart');

指定行李尺寸 heightwidthlength

如果使用尺寸,则需要将第二个参数传递为 false,否则计算将像体积一样进行。
获取服务器的完整响应

$response = $service->calculate($request->all(), false)->all();

计算成本的必需参数

'city_pickup_code'      => 'Код города откуда',<br>
'city_delivery_code'    => 'Код города куда',<br>
'declared_price'        => 'Объявленная стоимость груза (руб)',<br>
'count_place'           => 'Количество мест в позиции',<br>
'weight'                => 'Масса КГ позиции',<br>
'height'                => 'Высота груза (см) позиции',
'width'                 => 'Ширина груза (см) позиции',
'length'                => 'Длина груза (см) позиции',

可选参数,用于更详细的计算,也可以传递给函数

'have_doc'              => 'Есть документы подтверждающие стоимость груза',
'insurance'             => 'Услуга страхования груза',
'insurance_agent_code'  => 'Код страхового агента',
'service'               => 'массив кодов услуг',
'pick_up'               => 'Забор груза по городу',
'delivery'              => 'Доставка груза по городу',
'cargo_type_code'       => 'Код характера груза',
'currency_code'         => 'Валюта результата расчета',
'all_places_same'       => 'Все места одинаковы по размеру'

行李位置的参数期望以下格式

"count_place" => [
    0 => "1"
    1 => "3"],
"weight" => [
    0 => "2"
    1 => "3"],
"height" => [
    0 => "8"
    1 => "2"],
"width" => [
    0 => "4"
    1 => "6"],
"length" => [
    0 => "1"
    1 => "8"],

计算器表单上的 input 字段示例

<input type="text" name="width[]" placeholder="Укажите ширину">
<input type="text" name="height[]" placeholder="Укажите высоту">

函数 canculate 也有相关参数,关于函数的完整工作,请参阅文档。
函数在未传递所有必需的计算成本参数之前不会发送请求,抛出的异常将提示缺少什么。

获取运输成本的方法

$response = $service->calculate($request->all())->calculateResult();

$price = $response->cost('standart')
$price = $response->cost('economy')
$price = $response->cost('express')
$price = $response->cost('standard_courier')
$price = $response->cost('express_courier')

或者直接这样

$price = $service->calculate($request->all())->calculateResult()->cost('standart');