На данном веб-сайте используются файлы cookie. Продолжая просматривать наш веб-сайт, вы соглашаетесь с использованием файлов cookie. Подробнее об использовании файлов cookie.
Документация
Полная информация для оперативного решения ваших вопросов
API документация
1. Получить список филиалов
GET-запрос
https:// ca2.gootax.pro:8089 /v1/get_tenant_city_list?current_time= 1610305683
Параметры запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
current_time | Timestamp времени создания заказа | Обязательный | 1610305683 |
Заголовки запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
typeclient |
Как клиент создал заказ: web - веб-сайт android - приложение Android ios - приложение iOS |
Обязательный | web |
lang |
Язык интерфейса у клиента: ru - русский ua - украинский en - английский az - азербайджанский и другие |
Обязательный | ru |
tenantid | ИД вашей компании, запросите в тех.поддержке | Обязательный | 12 |
appid | ИД подключения, запросите в тех.поддержке | Обязательный | 123 |
signature | Сигнатура запроса, рассчитывается | Обязательный | we234d34d3ededwwdfwfwfw |
Content-Type | application/x-www-form-urlencode | Обязательный | application/x-www-form-urlencode |
Как генерировать signature
Берем все параметры запроса в алфавитном порядке, добавляем к ним секретный ключ (apikey) и считаем для них MD5 хэш
Пример, Signature = MD5("tariff_id=1&distance_city=10" + "1234567890") = d7b8fb11b5499b64d750b8efe53e2877
Пример кода генерирования signature
var apiKey = apiKey;
var match = request.url.match(/\?(.*)/);
var params = match ? match[1].split('&') : [];
if (Array.isArray(request.data)) {
request.data.map(function (item) {
if (item['type'] === 'text' && !item['disabled']) {
params.push(item['key'] + '=' + item['value']);
}
});
} else if (request.data instanceof Object) {
Object.keys(request.data).map(function (key) {
if (!(request.data[key] instanceof Object)) {
params.push(key + '=' + request.data[key]);
}
});
}
params.sort();
var paramStr = encodeURI(params.join('&'))
.replace(/, /g, '&')
.replace(/,/g, '%2C')
.replace(/%5C%2F/g, '%2F%2F')
.replace(/:/g, '%3A')
.replace(/\+/g, '+')
.replace(/@/g, '%40')
.replace(/\*/g, '%2A')
.replace(/\//g, '%2F');
var signature =CryptoJS.MD5(paramStr + apiKey);
Ответ на запрос получения списка филиалов
{
"code": 0,
"info": "OK",
"result": {
"city_list": [
{
"city_id": "26068",
"city_name": "Ижевск",
"city_lat": "56.852775",
"city_lon": "53.211463",
"currency": "RUB",
"minor_unit": 2,
"city_reseption_area": [
[
53.790435791015625,
56.88800263209811
],
[
53.46221923828125,
57.06761674609739
],
[
52.80029296875,
57.03774120228207
],
[
52.7783203125,
56.626020608371924
],
[
53.762969970703125,
56.72108727197555
],
[
53.790435791015625,
56.88800263209811
]
],
"payment_types": [
{
"type": "CASH",
"sort": 0
},
{
"type": "CARD",
"sort": 1
},
{
"type": "PERSONAL_ACCOUNT",
"sort": 3
},
{
"type": "BONUS",
"sort": 4
},
{
"type": "CARD_TERMINAL",
"sort": 5
},
{
"type": "CORP_BALANCE",
"sort": 6
}
],
"phone": "43-43-43"
},
// другие города
]
},
"current_time": 1705404925
}
2. Получить список тарифов
GET-запрос
https:// ca2.gootax.pro:8089 /v1/get_tariffs_list?city_id=26068 & current_time= 1610305683
Параметры запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
city_id |
ИД филиала, куда отправить заказ. Посмотрите его в ПУ Гутакс. Например, 26068 для Ижевска |
Обязательный |
26068 |
current_time | Timestamp времени создания заказа | Обязательный | 1610305683 |
Заголовки запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
typeclient |
Как клиент создал заказ: web - веб-сайт android - приложение Android ios - приложение iOS |
Обязательный | web |
lang |
Язык интерфейса у клиента: ru - русский ua - украинский en - английский az - азербайджанский и другие |
Обязательный | ru |
tenantid | ИД вашей компании, запросите в тех.поддержке | Обязательный | 12 |
appid | ИД подключения, запросите в тех.поддержке | Обязательный | 123 |
signature | Сигнатура запроса, рассчитывается | Обязательный | we234d34d3ededwwdfwfwfw |
Content-Type | application/x-www-form-urlencode | Обязательный | application/x-www-form-urlencode |
Как генерировать signature
Берем все параметры запроса в алфавитном порядке, добавляем к ним секретный ключ (apikey) и считаем для них MD5 хэш
Пример, Signature = MD5("tariff_id=1&distance_city=10" + "1234567890") = d7b8fb11b5499b64d750b8efe53e2877
Пример кода генерирования signature
var apiKey = apiKey;
var match = request.url.match(/\?(.*)/);
var params = match ? match[1].split('&') : [];
if (Array.isArray(request.data)) {
request.data.map(function (item) {
if (item['type'] === 'text' && !item['disabled']) {
params.push(item['key'] + '=' + item['value']);
}
});
} else if (request.data instanceof Object) {
Object.keys(request.data).map(function (key) {
if (!(request.data[key] instanceof Object)) {
params.push(key + '=' + request.data[key]);
}
});
}
params.sort();
var paramStr = encodeURI(params.join('&'))
.replace(/, /g, '&')
.replace(/,/g, '%2C')
.replace(/%5C%2F/g, '%2F%2F')
.replace(/:/g, '%3A')
.replace(/\+/g, '+')
.replace(/@/g, '%40')
.replace(/\*/g, '%2A')
.replace(/\//g, '%2F');
var signature =CryptoJS.MD5(paramStr + apiKey);
Ответ на запрос получения списка тарифов
{
"code": 0,
"info": "OK",
"result": [
{
"tariff_id": "12344",
"tariff_group_id": "123",
"position_id": 1,
"car_class_id": null,
"provider_id": null,
"type": "CURRENT",
"min_pre_order_time": "0.00",
"for_shop": "0",
"delivery_calculation_type": "",
"require_prepayment": 0,
"client_can_offer_price": 0,
"quantitative_info": null,
"city": {
"further_rates": "5",
"further_rates_additional": "0.00",
"further_rates_unit": "1_minute",
"min_price": "70.00",
"second_min_price": "4.00"
},
"track": {
"further_rates": "5",
"further_rates_additional": "0.00",
"further_rates_unit": "1_minute",
"min_price": "70.00",
"second_min_price": "4.00"
},
"city_id": "26068",
"logo_thumb": "",
"logo": "",
"tariff_name": "Эконом",
"description": "Это тариф эконом. Доступные цены.",
"is_bonus": 0,
"client_type": [
"base"
],
"companies": [],
"additional_options": [
{
"id": 123,
"tariff_id": 12344,
"additional_option_id": 1,
"price": "30.00",
"tariff_type": "CURRENT",
"option": {
"option_id": 1,
"name": "Кондиционер",
"max_quantity": 1,
"logo": "https://gootax.pro/d5526c7171ba7e7158cd93bf2542505d"
}
}
]
}
],
"current_time": 1499540124
}
3. Получить список групп тарифов
GET-запрос
https:// ca2.gootax.pro:8089 /v1/get_tariff_groups_list?city_id=26068 & current_time= 1610305683
Параметры запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
city_id |
ИД филиала, куда отправить заказ. Посмотрите его в ПУ Гутакс. Например, 26068 для Ижевска |
Обязательный |
26068 |
current_time | Timestamp времени создания заказа | Обязательный | 1610305683 |
Заголовки запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
typeclient |
Как клиент создал заказ: web - веб-сайт android - приложение Android ios - приложение iOS |
Обязательный | web |
lang |
Язык интерфейса у клиента: ru - русский ua - украинский en - английский az - азербайджанский и другие |
Обязательный | ru |
tenantid | ИД вашей компании, запросите в тех.поддержке | Обязательный | 12 |
appid | ИД подключения, запросите в тех.поддержке | Обязательный | 123 |
signature | Сигнатура запроса, рассчитывается | Обязательный | we234d34d3ededwwdfwfwfw |
Content-Type | application/x-www-form-urlencode | Обязательный | application/x-www-form-urlencode |
Ответ на запрос получения групп тарифов
{
"code": 0,
"info": "OK",
"result": [
{
"tariff_group_id": 123,
"name": "Эконом",
"logo": "https://gootax.pro/2f6dab3b75659d2a20bcaddeb106589a",
"description": "Тарифы для заказа доставки еды",
"parent_id": null,
"child_group": []
}
],
"current_time": 1499540124
}
4. Создать заказ
POST-запрос
https:// ca2.gootax.pro:8089 /api-site/create_order_site
Тело запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
address | Блок адресов | Обязательный | {"address":[{"city_id":"26068", "city":"Ижевск", "street":"Пушкинская улица", "house":"268", "housing":"", "porch":"", "lat":"56.862307", "lon":"53.209451"}, {"city_id":"26068", "city":"Ижевск", "street":"Мира улица", "house":"2", "housing":"", "porch":"", "lat":"56.862307", "lon":"53.209450"}]} |
additional_options | Список ИД доп опции |
Не обязательный |
1,2,3 |
city_id |
ИД филиала, куда отправить заказ. Посмотрите его в ПУ Гутакс. Например, 26068 для Ижевска |
Обязательный |
26068 |
client_name | Имя клиента | Не обязательный | Петр |
client_phone | Телефон клиента | Обязательный | 79001231516 |
comment | Комментарий к заказу | Не обязательный | Тороплюсь |
current_time | Timestamp времени создания заказа | Обязательный | 1610305683 |
order_time | Время, на которое создается заказ. Если заказ срочный, можно не передавать | Не обязательный | 13.03.2021 14:30:00 |
pay_type |
Тип оплаты заказа: CASH - наличные CARD_TERMINAL - оплата по терминалу у водителя |
Обязательный | CASH |
tariff_id | ИД тарифа, с которым создается заказ. Посмотрите его в ПУ Гутакс. | Обязательный | 14303 |
type_request |
Тип запроса: 1 - создание заказа 2 - предрасчет цены |
Обязательный | 1 |
Заголовки запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
typeclient |
Как клиент создал заказ: web - веб-сайт android - приложение Android ios - приложение iOS |
Обязательный | web |
versionclient |
Версия API |
Обязательный |
2.2.0 |
lang |
Язык интерфейса у клиента: ru - русский ua - украинский en - английский az - азербайджанский и другие |
Обязательный | ru |
tenantid | ИД вашей компании, запросите в тех.поддержке | Обязательный | 12 |
appid | ИД подключения, запросите в тех.поддержке | Обязательный | 123 |
signature | Сигнатура запроса, рассчитывается | Обязательный | we234d34d3ededwwdfwfwfw |
Content-Type | application/x-www-form-urlencode | Обязательный | application/x-www-form-urlencode |
Ответ на расчет цены
{
"code": 0,
"info": "OK",
"result": {
"cost_result": {
"additionals_cost": "0",
"summary_time": "0",
"summary_distance": "0",
"summary_cost": "200",
"delivery_cost": "0",
"summary_cost_no_discount": "200",
"city_time": "0",
"city_distance": "0",
"city_cost": "200",
"out_city_time": "0",
"out_city_distance": "0",
"out_city_cost": "0",
"is_fix": 1,
"start_point_location": "in",
"tariffInfo": {
"tariffType": "CURRENT",
"tariffDataCity": {
"option_id": 2379,
"tariff_id": 856,
"accrual": "DISTANCE",
"area": "CITY",
"planting_price_day": "200.00",
"planting_price_night": 0,
"planting_include_day": "0.00",
"planting_include_night": 0,
"next_km_price_day": "15",
"next_km_price_night": 0,
"min_price_day": "0.00",
"min_price_night": 0,
"second_min_price_day": "4.00",
"second_min_price_night": 0,
"supply_price_day": "0.00",
"supply_price_night": 0,
"wait_time_day": 5,
"wait_time_night": 0,
"wait_driving_time_day": 0,
"wait_driving_time_night": 0,
"wait_price_day": "5.00",
"wait_price_night": 0,
"speed_downtime_day": "0.00",
"speed_downtime_night": 0,
"rounding_day": "0.00",
"rounding_night": 0,
"tariff_type": null,
"allow_day_night": 0,
"start_day": "00:00",
"end_day": "23:59",
"active": 1,
"enabled_parking_ratio": 0,
"calculation_fix": 1,
"next_cost_unit_day": "1_minute",
"next_cost_unit_night": "1_km",
"next_km_price_day_time": "0.00",
"next_km_price_night_time": 0,
"planting_include_day_time": 0,
"planting_include_night_time": 0,
"rounding_type_day": "ROUND",
"rounding_type_night": "ROUND"
},
"tariffDataTrack": {
"option_id": 2380,
"tariff_id": 856,
"accrual": "MIXED",
"area": "TRACK",
"planting_price_day": "42.00",
"planting_price_night": 0,
"planting_include_day": "2.00",
"planting_include_night": 0,
"next_km_price_day": "17",
"next_km_price_night": 0,
"min_price_day": "150.00",
"min_price_night": 0,
"second_min_price_day": "4.00",
"second_min_price_night": 0,
"supply_price_day": "4.00",
"supply_price_night": 0,
"wait_time_day": 5,
"wait_time_night": 0,
"wait_driving_time_day": 0,
"wait_driving_time_night": 0,
"wait_price_day": "5.00",
"wait_price_night": 0,
"speed_downtime_day": "0.00",
"speed_downtime_night": 0,
"rounding_day": "0.00",
"rounding_night": 0,
"tariff_type": null,
"allow_day_night": 0,
"start_day": "00:00",
"end_day": "23:59",
"active": 1,
"enabled_parking_ratio": 0,
"calculation_fix": 1,
"next_cost_unit_day": "1_minute",
"next_cost_unit_night": "1_km",
"next_km_price_day_time": "5.00",
"next_km_price_night_time": 0,
"planting_include_day_time": 3,
"planting_include_night_time": 0,
"rounding_type_day": "ROUND",
"rounding_type_night": "ROUND"
},
"tariffDataAirport": null,
"tariffDataStation": null,
"isDay": 1,
"calculationPoint": "start"
}
}
},
"current_time": "1610305683"
}
Ответ на создание заказа
{
"code": 0,
"info": "OK",
"result": {
"type": "pre_order",
"order_id": 82519,
"order_number": 1217750,
"waiting_for_prepayment": 0,
"payment_type": "CASH"
},
"current_time": "1610305683"
}
В ответе на создание заказа:
- type
new - для нового заказа и pre_order - для предварительного заказа - order_id - служебный id заказа для получения статуса
- order_number - ваш внутренний номер заказа, для отображения диспетчеру и клиенту
- waiting_for_prepayment - маркер ожидает система предоплату или нет. 0 - не ожидает.
- payment_type - тип оплаты заказа
Пример кода на PHP
'https://ca2.gootax.pro:8089/api-site/create_order_site',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('address' => '{"address":[{"city_id":"26068","city":"Ижевск","street":"Пушкинская улица","house":"268","housing":"","porch":"","lat":"56.862307","lon":"53.209451"},{"city_id":"26068","city":"Ижевск","street":"Мира улица","house":"2","housing":"","porch":"","lat":"56.862307","lon":"53.209450"}]}',
'city_id' => '26068',
'client_phone' => '79001231516',
'comment' => 'Тороплюсь',
'current_time' => '1610305683',
'order_time' => '13.03.2021 14:30:00',
'pay_type' => 'CASH',
'tariff_id' => '14303',
'type_request' => '1'),
CURLOPT_HTTPHEADER => array(
'signature: we234d34d3ededwwdfwfwfw',
'typeclient: web',
'versionclient: 2.2.0',
'tenantid: 12',
'lang: ru',
'appid: 123',
'Content-Type: application/x-www-form-urlencode'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
5. Получить статус заказа
GET-запрос
https:// ca2.gootax.pro:8089 /v1/get_order_info
Параметры запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
current_time | Timestamp времени создания заказа | Обязательный | 1610305683 |
need_car_photo |
Вернуть в ответе фото машины? 1 - да, 0 - нет | Не обязательный | 1 |
need_driver_photo |
Вернуть в ответе фото исполнителя? 1 - да, 0 - нет |
Не обязательный | 1 |
order_id |
Внутренний служебный ИД, полученный при создании заказа | Обязательный |
14303 |
Заголовки запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
typeclient |
Как клиент создал заказ: web - веб-сайт android - приложение Android ios - приложение iOS |
Обязательный | web |
versionclient |
Версия API |
Обязательный |
2.2.0 |
lang |
Язык интерфейса у клиента: ru - русский ua - украинский en - английский az - азербайджанский и другие |
Обязательный | ru |
tenantid | ИД вашей компании, запросите в тех.поддержке | Обязательный | 12 |
appid | ИД подключения, запросите в тех.поддержке | Обязательный | 123 |
signature | Сигнатура запроса, рассчитывается | Обязательный | we234d34d3ededwwdfwfwfw |
Content-Type | application/x-www-form-urlencode | Обязательный | application/x-www-form-urlencode |
Ответ на запрос информации о заказе
{
"code": 0,
"info": "OK",
"result": {
"order_info": {
"order_id": 1233,
"order_number": 1231,
"city_id": 26068,
"status_id": 37,
"status_group": "completed",
"waiting_prepayment": 0,
"status_name": "Выполнен",
"status_description": "Выполнен, оплачен",
"order_type": "TAXI",
"payment": {
"type": "CASH"
},
"predv_price": "100.00",
"realtime_price": null,
"order_time": 1571049851,
"finish_time": 1571034877,
"time_offset": 14400,
"rating": null,
"car_data": {
"car_description": "",
"car_lat": 0,
"car_lon": 0,
"speed": 0,
"car_time": 0,
"degree": 0,
"driver_fio": "Иванов Петр Иванович",
"driver_phone": "79000000000",
"raiting": 4.5,
"car_photo": "https://gootax.pro/5e4f7fbe77587.png",
"driver_photo": "https://gootax.pro/5e4f7fbe77587.png"
},
"detail_cost_info": {
"detail_id": "123",
"order_id": "1233",
"accrual_city": "DISTANCE",
"accrual_out": "DISTANCE",
"summary_distance": null,
"summary_cost": "200",
"summary_time": null,
"city_time": null,
"city_distance": null,
"city_cost": null,
"out_city_time": null,
"out_city_distance": null,
"out_city_cost": null,
"city_time_wait": null,
"out_time_wait": null,
"before_time_wait": null,
"additional_cost": "0",
"is_fix": "0",
"city_next_km_price": "0",
"out_next_km_price": "0",
"supply_price": "0.00",
"city_wait_time": "0",
"out_wait_time": "0",
"city_wait_driving": "0",
"out_wait_driving": "0",
"city_wait_price": "0.00",
"out_wait_price": "0.00",
"time": "1571034877",
"distance_for_plant": null,
"planting_price": "0.00",
"planting_include": "0.00",
"start_point_location": "in",
"city_wait_cost": null,
"before_time_wait_cost": null,
"out_wait_cost": null,
"city_cost_time": null,
"out_city_cost_time": null,
"planting_include_time": "0",
"distance_for_plant_cost": null,
"bonuses_paid": "0"
},
"address": [
{
"city": "Ижевск",
"street": "Пушкинская улица 258",
"house": "",
"lat": "56.851978",
"lon": "53.209413",
"phone": "",
"comment": "",
"confirmation_code": null
},
{
"city": "Ижевск",
"street": "Санаторий-профилакторий Строитель",
"house": "",
"lat": "56.84592",
"lon": "53.25537",
"phone": "",
"comment": "",
"confirmation_code": null
}
],
"client": {
"id": 123,
"phone": "79001234567"
},
"tariff": {
"name": "Эконом"
},
"client_company": null,
"fines": null
}
},
"current_time": 1610305683
}
Пример кода на PHP
'https://ca2.gootax.pro:8089/v1/get_order_info?current_time=1610305683&need_car_photo=1&need_driver_photo=1&order_id=123',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'signature: we234d34d3ededwwdfwfwfw',
'typeclient: web',
'versionclient: 2.2.0',
'tenantid: 12',
'lang: ru',
'appid: 123',
'Content-Type: application/x-www-form-urlencode'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
6. Отменить заказ
POST-запрос
https:// ca2.gootax.pro:8089 /v1/reject_order
Параметры запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
current_time | Timestamp времени создания заказа | Обязательный | 1610305683 |
order_id |
Внутренний служебный ИД, полученный при создании заказа |
Обязательный |
14303 |
Заголовки запроса
Параметр | Описание | Тип | Пример |
---|---|---|---|
typeclient |
Как клиент создал заказ: web - веб-сайт android - приложение Android ios - приложение iOS |
Обязательный | web |
lang |
Язык интерфейса у клиента: ru - русский ua - украинский en - английский az - азербайджанский и другие |
Обязательный | ru |
tenantid | ИД вашей компании, запросите в тех.поддержке | Обязательный | 12 |
appid | ИД подключения, запросите в тех.поддержке | Обязательный | 123 |
signature | Сигнатура запроса, рассчитывается | Обязательный | we234d34d3ededwwdfwfwfw |
Content-Type | application/x-www-form-urlencode | Обязательный | application/x-www-form-urlencode |
Ответ на запрос информации о заказе
{
"code": 0,
"info": "OK",
"result": {
"reject_result": 1
},
"current_time": "1499540124"
}
Пример кода на PHP
'https://ca2.gootax.pro:8089/v1/reject_order',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('current_time' => '1499540124','order_id' => '14303'),
CURLOPT_HTTPHEADER => array(
'signature: we234d34d3ededwwdfwfwfw',
'typeclient: web',
'versionclient: 2.2.0',
'tenantid: 12',
'lang: ru',
'appid: 123',
'Content-Type: application/x-www-form-urlencode'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;