alfamart24 / laravel-gtd-api
laravel 的 GTD API
Requires
- guzzlehttp/guzzle: ~6.0
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()
服务器的完整响应包含 agent
和 cargo_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');
指定行李尺寸 height
、width
、length
如果使用尺寸,则需要将第二个参数传递为 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');