Skip to content
Laravel GTD API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
composer.json
readme.md

readme.md

Laravel TK GTD api

Api для работы с ТК GTD.
Рализована работа калькулятора, создание ордера и многих других функций. По мере разработки буду обновлять документацию.
По вопросам работы пишите в телеграмм WStanley


Installation

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

Usage

Добавляем токен в файл .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

Есть 2 варианта расчета стоимости:

С указанием объема багажа 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');
You can’t perform that action at this time.