API сервера такси — различия между версиями

Материал из Таксомёт
Перейти к: навигация, поиск
(не показано 36 промежуточных версии этого же участника)
Строка 11: Строка 11:
  
  
== Создать заказа ==
+
== Создать заказ ==
  
 
Данный метод позволяет создать заказ со всеми необходимыми параметрами в системе.
 
Данный метод позволяет создать заказ со всеми необходимыми параметрами в системе.
Строка 17: Строка 17:
 
'''URL для запроса:'''
 
'''URL для запроса:'''
  
  <nowiki>https://***.taxomet.ru/api/v1/add_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&tarif_id=<ID_тарифа>&phone=<телефон_пассажира>&to[]=<адрес_1>&to[]=<адрес_2>&car_option[]=<ID_дополнительной_опции_авто>&fix_price=<фикс_цена>&extern_id=<ID_заказа_в_Вашей_сситеме>&order_time=<время_заказа></nowiki>
+
  <nowiki>https://***.taxomet.ru/api/v1/add_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&tarif_id=<ID_тарифа>&phone=<телефон_пассажира>&to[]=<адрес_1>&to[]=<адрес_2>&car_option[]=<ID_дополнительной_опции_авто>&fix_price=<фикс_цена>&extern_id=<ID_заказа_в_Вашей_сситеме>&order_time=<время_заказа>&client_name=<имя_клиента>&comment=<комментарий_к_заказу></nowiki>
  
 
'''Описание параметров'''
 
'''Описание параметров'''
Строка 31: Строка 31:
 
*'''extern_id''' - ID заказа в Вашей системе. В дальнейшем может пердаваться в запросах от сервера такси к Вашей системе (Webhooks), например уведомление Вашей системы о смене статуса заказа.
 
*'''extern_id''' - ID заказа в Вашей системе. В дальнейшем может пердаваться в запросах от сервера такси к Вашей системе (Webhooks), например уведомление Вашей системы о смене статуса заказа.
 
*'''order_time''' - время заказа (UNIX TIMESTAMP), если заказ предварительный. Параметр не обязательный.
 
*'''order_time''' - время заказа (UNIX TIMESTAMP), если заказ предварительный. Параметр не обязательный.
*'''print_receipt''' - печать чека. Значение параметра может быть 0 или 1. Параметр не обязательный. По умолчанию - 0.
+
*'''print_receipt''' - сформировать кассовый чек после завершения поездки. Значение параметра может быть 0 или 1. Параметр не обязательный. По умолчанию - 0.
 +
*'''client_name''' - имя клиента. Параметр не обязательный.
 +
*'''use_bonuses''' - Сколько бонусов использовать для скидки по данному заказу. Параметр необязательный. Число use_bonuses ограничивается числом бонусов имеющихся у клиента на момент создания заказа.
 +
*'''comment''' - комментарий к заказу. Параметр не обязательный.
  
 
'''Ответ'''
 
'''Ответ'''
Строка 46: Строка 49:
 
  <nowiki>https://test.taxomet.ru/api/v1/add_order?operator_login=my-api&operator_password=******&unit_id=1&tarif_id=1&phone=+70001112233&to[]=Сочи, Тимирязева ул., 4&to[]=Сочи, Парковая ул., 42&car_option[]=1&fix_price=200&id=1234</nowiki>
 
  <nowiki>https://test.taxomet.ru/api/v1/add_order?operator_login=my-api&operator_password=******&unit_id=1&tarif_id=1&phone=+70001112233&to[]=Сочи, Тимирязева ул., 4&to[]=Сочи, Парковая ул., 42&car_option[]=1&fix_price=200&id=1234</nowiki>
  
 +
== Изменить заказ ==
  
== Отменить заказа ==
+
Данный метод позволяет изменить ранее созданный заказ.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/save_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&order_id=<ID_заказы>&tarif_id=<ID_тарифа>&to[]=<адрес_1>&to[]=<адрес_2>&car_option[]=<ID_дополнительной_опции_авто>&fix_price=<фикс_цена>&order_time=<время_заказа>&client_name=<имя_клиента>&comment=<комментарий_к_заказу></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''order_id''' - ID заказа на сервере такси. ID заказа присваивается и выдаётся при создании заказа.
 +
*'''tarif_id''' - ID тарифа, котый необходимо применить к заказу. ID тарифа можно узнать в разделе программы "Службы такси и тарифы" (Настройки -> Службы такси и тарифы). Параметр можно не указавать если не нужно изменять ранее установленный тариф к заказу.
 +
*'''to[]''' - адрес поездки. Параметр to[] необходимо добавить столько раз сколько адресов у поездки. Первый параметр to[] является адресом "Откуда", последующие - точками назначения.
 +
*'''car_option[]''' - ID требующейся доп. опции к заказу (например "Детское кресло"). ID доп. опций можно посмотреть в интерфейся программы в разделе "Опции автомобилей" (Настройки -> Опции автомобилей). Необязательный параметр.
 +
*'''fix_price''' - стоимость поездки. Необязательный параметр. Если не задавать или указать 0, то поездка будет по GPS-таксомётру.
 +
*'''order_time''' - время заказа (UNIX TIMESTAMP), если заказ предварительный. Параметр не обязательный.
 +
*'''print_receipt''' - сформировать кассовый чек после завершения поездки. Значение параметра может быть 0 или 1. Параметр не обязательный. По умолчанию - 0.
 +
*'''client_name''' - имя клиента. Параметр не обязательный.
 +
*'''with_bonuses''' - Использовать бонусы или нет. Параметр необязательный. Значения: "-2" - не изменять флаг использования бонусов, "-1" - определить использовать ли бонусы автоматически, "0" - не использовать бонусы к заказу, "1" - использовать бонусы к заказу. При использовании бонусов их максимальное число ограничивается числом бонусов имеющихся у клиента на момент изменения.
 +
*'''use_bonuses''' - Сколько бонусов использовать для скидки по данному заказу. Параметр необязательный. Число use_bonuses ограничивается числом бонусов имеющихся у клиента на момент изменения.
 +
*'''comment''' - комментарий к заказу. Параметр не обязательный.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "error":"", "order_id":"2342"}
 +
 
 +
Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ создан параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси.
 +
 
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/save_order?operator_login=my-api&operator_password=******&order_id=2342&tarif_id=1&to[]=Сочи, Тимирязева ул., 4&to[]=Сочи, Парковая ул., 42&car_option[]=1&fix_price=200</nowiki>
 +
 
 +
== Отменить заказ ==
  
 
Данный метод позволяет отменить заказ.
 
Данный метод позволяет отменить заказ.
Строка 71: Строка 110:
 
'''Пример запроса'''
 
'''Пример запроса'''
  
  <nowiki>https://test.taxomet.ru/api/v1/add_order?operator_login=my-api&operator_password=******&id=10</nowiki>
+
  <nowiki>https://test.taxomet.ru/api/v1/cancel_order?operator_login=my-api&operator_password=******&id=10</nowiki>
  
 +
== Получить текущую информацию о заказе ==
 +
 +
Данный метод позволяет получить текущую информацию о заказе по ID заказа.
 +
 +
'''URL для запроса:'''
 +
 +
<nowiki>https://***.taxomet.ru/api/v1/get_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа></nowiki>
 +
 +
'''Описание параметров'''
 +
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''id''' - ID заказа на сервере такси.
 +
 +
'''Ответ'''
 +
 +
Ответ в формате JSON:
 +
 +
{"result":"1", "error":"", "order_id":"2342", "status":"4", "call_from":"+70000000000", "driver_id":"120","driver_title":"Иванов Иван Иванович", ...}
 +
 +
Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ отменён параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID отменяемого заказа на сервере такси, в случае если заказ не удалось отменить и произошла ошибка order_id будет равен 0.
 +
 +
'''Пример запроса'''
 +
 +
<nowiki>https://test.taxomet.ru/api/v1/get_order?operator_login=my-api&operator_password=******&id=10</nowiki>
  
 
== Назначить водителя ==
 
== Назначить водителя ==
Строка 96: Строка 160:
 
  {"result":"1", "error":"", "order_id":"2342"}
 
  {"result":"1", "error":"", "order_id":"2342"}
  
Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и водитель нащначен параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если заказ не удалось отменить и произошла ошибка order_id будет равен 0.
+
Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и водитель назначен параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если произошла ошибка order_id будет равен 0.
  
 
'''Пример запроса'''
 
'''Пример запроса'''
Строка 102: Строка 166:
 
  <nowiki>https://test.taxomet.ru/api/v1/set_driver?operator_login=my-api&operator_password=******&id=10&driver_id=3</nowiki>
 
  <nowiki>https://test.taxomet.ru/api/v1/set_driver?operator_login=my-api&operator_password=******&id=10&driver_id=3</nowiki>
  
  '''Нет нужной функции?''' Напишите нам в поддержку и мы откроем нужную функцию для API.
+
 
 +
== Предложить заказ водителю ==
 +
 
 +
Данный метод позволяет предложить заказ конкретному водителю. При этом решение брать заказ или нет остается за водителем.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
  <nowiki>https://***.taxomet.ru/api/v1/suggest_driver?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа>&driver_id=<ID_водителя></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''id''' - ID заказа на сервере такси.
 +
*'''driver_id''' - ID водителя на сервере такси. ID водителя можно посмотреть в интерфейсе программы в разделе "Водители".
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "error":"", "order_id":"2342"}
 +
 
 +
Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ водителю предложен параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если произошла ошибка order_id будет равен 0.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/suggest_driver?operator_login=my-api&operator_password=******&id=10&driver_id=3</nowiki>
 +
 
 +
 
 +
== Предложить заказ всем водителям сразу ==
 +
 
 +
Данный метод позволяет предложить заказ всем водителям сразу, которые удовлетворяют условиям заказа (служба, наличие опций, тип кузова).
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/send_order_to_all_drivers?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''id''' - ID заказа на сервере такси.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "error":"", "order_id":"2342"}
 +
 
 +
Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если произошла ошибка order_id будет равен 0.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/send_order_to_all_drivers?operator_login=my-api&operator_password=******&id=10</nowiki>
 +
 
 +
 
 +
== Снять водителя с заказа ==
 +
 
 +
Данный метод позволяет назначить водителя принудительно.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/remove_driver?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''id''' - ID заказа на сервере такси.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "error":"", "order_id":"2342"}
 +
 
 +
Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и водитель снят с заказа параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если водителя не удалось снять и произошла ошибка order_id будет равен 0.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/remove_driver?operator_login=my-api&operator_password=******&id=10</nowiki>
 +
 
 +
 
 +
== Отправить SMS-сообщение ==
 +
 
 +
Данный метод позволяет отправить SMS-сообщение через доступные SMS-каналы.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/send_sms?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&from=<имя_от_кого>&phone=<телефон_получателя>&msg=<текст_сообщения></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''from''' - Имя отправителя "от кого". Только латинские символы и цифры. Не более 11 знаков.
 +
*'''phone''' - Телефон получателя. 11 знаков. Например, 79001112233
 +
*'''msg''' - Текст SMS-сообщения.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "error":""}
 +
 
 +
Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и SMS-сообщение отправлено параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/send_sms?operator_login=my-api&operator_password=******&from=taxomet&msg=test&phone=79670001122</nowiki>
 +
 
 +
 
 +
== Отправить код в голосовом сообщении ==
 +
 
 +
Данный метод позволяет отправить код в голосовом сообщении звонком через доступные Исходящие линии в программе. См. Настройки -> Настройки телефонии.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/send_voice_code?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&phone=<телефон_получателя>&code=<отправляемый_код></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''phone''' - Телефон получателя. 11 знаков. Например, 79001112233
 +
*'''code''' - Цифровой код, который необходимо отправить голосовым сообщением. Только цифры.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "error":""}
 +
 
 +
Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/send_voice_code?operator_login=my-api&operator_password=******&phone=79670001122&code=12345</nowiki>
 +
 
 +
== Добавить/отнять рейтинг водителя ==
 +
 
 +
Данный метод позволяет добавить или отнять рейтинг водителю. Для использования данной функции для учетной записи оператора (от которой делается данный API запрос) должно быть включено право на Администрирование.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/add_driver_rating?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&driver_id=<ID_водителя>&points=<количество_баллов>&lifetime_hours=<время_действия_баллов>&comment=<комментарий></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''driver_id''' - ID водителя, для которого необходимо добавить или отнять баллы рейтинга.
 +
*'''points''' - Количество баллов, целое число (с минусом если нужно отнять баллы).
 +
*'''lifetime_hours''' - Время действия баллов, целое число (количество часов).
 +
*'''comment''' - Комментарий к создаваемой записи.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "error":""}
 +
 
 +
Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/add_driver_rating?operator_login=test-api&operator_password=******&driver_id=2&points=100&lifetime_hours=1000&comment=Тестовый%20рейтинг%20через%20API</nowiki>
 +
 
 +
 
 +
 
 +
== Добавить/отнять бонусы клиенту ==
 +
 
 +
Данный метод позволяет добавить или отнять бонусы с бонусного счета клиента. Для использования данной функции для учетной записи оператора (от которой делается данный API запрос) должно быть включено право на Администрирование.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/add_client_bonuses?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&phone=<телефон_клиента>&amount=<количество_бонусов>&comment=<комментарий></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''unit_id''' - ID службы такси, группу счетов которой нужно использовать.
 +
*'''phone''' - Телефон клиента.
 +
*'''amount''' - Количество бонусов, которое нужно зачислить. Если с минусом, то произойдет списание бонусов
 +
*'''comment''' - Комментарий к создаваемой записи.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1", "bonuses":"50", "error":"","phone":"+79001112233"}
 +
 
 +
Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Поле bonuses содержит количество бонусов на бонусном счету клиента после выполнения запроса.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/add_driver_rating?operator_login=test-api&operator_password=******&unit_id=1&amount=10&comment=тест%20123&phone=%2B79001112233</nowiki>
 +
 
 +
== Получить информацию учетной записи клиента ==
 +
 
 +
Данный метод позволяет получить информацию учетной записи клиента по номеру телефона.
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/get_client_info?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&phone=<телефон_клиента></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''unit_id''' - ID службы такси, группу счетов которой нужно использовать при выборке информации.
 +
*'''phone''' - Телефон клиента.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"phone":"+79001112233","bonuses":"60","max_discount":"0","with_bonuses":"0","tarif_id":"0","max_cashless_summ":0,"passphrase":"","name":"","cashless_account_id":"0","balance_threshold":0,"error":""}
 +
 
 +
Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Поле bonuses содержит количество бонусов на бонусном счету клиента после выполнения запроса. name - имя клиента. cashless_account_id - ID учетной записи корпоративного клиента.
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/api/v1/get_client_info?operator_login=test-api&operator_password=******&unit_id=1&phone=%2B79001112233</nowiki>
 +
 
 +
 
 +
 
 +
== Рассчитать маршрут и стоимость поездки по координатам точек поездки ==
 +
 
 +
Данный метод позволяет получить стоимость поездки, а так же расчетный маршрут по координатам точек поездки (координаты точек "Откуда" и "Куда", может быть больше точек поездки).
 +
 
 +
'''URL для запроса:'''
 +
 
 +
<nowiki>https://***.taxomet.ru/api/v1/get_distance?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&tarif_id=<ID_тарифа>&lon[]=<долгота_точки_1>&lat[]=<широта_точки_1>&lon[]=<долгота_точки_2>&lat[]=<широта_точки_2></nowiki>
 +
 
 +
'''Описание параметров'''
 +
 
 +
*'''operator_login''' - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
 +
*'''operator_password''' - пароль оператора.
 +
*'''unit_id''' - ID службы такси, информацию которой необходимо использовать при расчете маршрута и стоимости поездки.
 +
*'''tarif_id''' - ID тарифа службы такси, информацию которого необходимо использовать при расчете маршрута и стоимости поездки. Чтобы тариф подбирался автоматически с учетом времени укажите значение -1.
 +
*'''lon[]''' - географическая долгота точки маршрута. Указывается столько раз сколько точек маршрута (для каждой точки маршрута). Минимум два раза.
 +
*'''lat[]''' - географическая широта точки маршрута. Указывается столько раз сколько точек маршрута (для каждой точки маршрута). Минимум два раза.
 +
 
 +
'''Ответ'''
 +
 
 +
Ответ в формате JSON:
 +
 
 +
{"result":"1","distance":"0.03","distance_suburb":"0","measure":"km","suburban":"0","is_zonal":"1","zonal_price":"100","transfer_str":"КОНЕЦ -> КОНЕЦ = 100
 +
","pre_price":"100","fix_price":"100","min_price":"100","tarif_combo1":"0","combo1_distance":"0","combo1_distance_suburb":"0","idle_speed":"0","idle_start_after_seconds":"0","tarif_ratio":"1","increase_defer":"30","tarif_landing":"100","increase_distance_threshold":"0","increase_distance_tarif":"0","increase_distance":"0.03","increase_distance_sum":"0","adaptive_landing_increase":"0","execution_time":"144","execution_time1":"","nodes":[{"id":"0","lon":"74.484703","lat":"63.799877","s":"1","zid":"105"},{"id":"0","lon":"74.484001","lat":"63.799877","s":"1","zid":"105"},{}],"places":[{"id":"1","lon":"74.48474884","lat":"63.79967880"},{"id":"2","lon":"74.48403931","lat":"63.79966736"},{}],"zones_calc":[],"pre_price_raw":"100","fix_price_raw":"100","rounding":"-0.60","error":""}
 +
 
 +
Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.
 +
 
 +
'''Описание параметров ответа'''
 +
*'''distance''' - длина расчетного маршрута в километрах.
 +
*'''distance_suburb''' - длина расчетного маршрута в километрах за городом.
 +
*'''pre_price''' - предварительная цена.
 +
*'''fix_price''' - окончательная цена, если на настройках тарифа установлен флаг фиксации стоимости поездки.
 +
*'''nodes''' - массив с точками пути расчетного маршрута.
 +
*'''places''' - массив с точками поездки маршрута.
 +
*'''rounding''' - тип округления стоимости поездки согласно настройкам тарифа.
 +
 
 +
 
 +
'''Пример запроса'''
 +
 
 +
<nowiki>https://test.taxomet.ru/get_distance?operator_login=test-api&operator_password=*******&unit_id=1&tarif_id=-1&lon[]=74.484749&lat[]=63.799679&lon[]=74.484039&lat[]=63.799667</nowiki>
 +
 
 +
== Нет нужной функции API? ==
 +
[https://taxomet.ru/contacts.php Свяжитесь с нами] и мы откроем нужную функцию для API.

Версия 22:10, 27 октября 2022

Сервер такси имеет HTTP/HTTPS API с с помощью которого Вы можете произвести интеграцию сервера такси с Вашим сервисом или программой. С помощью HTTP API можно, например, создать заказ на сервер такси программно, который далее будет распределяться водителям и пройдет обычный цикл жизни заказа, так же через HTTP API можно управлять заказами, делать финансовые записи, работать с бонусами клиентов и выполнять практически все функции программно, которые есть в программе Такомёт.

Общее описание

HTTP API работает с GET запросами.

Для работы с API Вам предварительно необходимо создать учетную запись оператора и использовать логин и пароль этого оператора в запросах API.

URL адрес для API запросов располагается на том же домене, что и рабочее место оператора.


Создать заказ

Данный метод позволяет создать заказ со всеми необходимыми параметрами в системе.

URL для запроса:

https://***.taxomet.ru/api/v1/add_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&tarif_id=<ID_тарифа>&phone=<телефон_пассажира>&to[]=<адрес_1>&to[]=<адрес_2>&car_option[]=<ID_дополнительной_опции_авто>&fix_price=<фикс_цена>&extern_id=<ID_заказа_в_Вашей_сситеме>&order_time=<время_заказа>&client_name=<имя_клиента>&comment=<комментарий_к_заказу>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • unit_id - ID службы такси на сервере такси. ID службы можно узнать в разделе программы "Службы такси и тарифы" (Настройки -> Службы такси и тарифы).
  • tarif_id - ID тарифа, котый необходимо применить к заказу. ID тарифа можно узнать в разделе программы "Службы такси и тарифы" (Настройки -> Службы такси и тарифы). Если указать для tarif_id значение -1, то тариф будет выбран сервером такси автоматически из тарифов службы такси с учетом времени суток.
  • phone - телефон клиента. Должен начинаться со знака +. Например, +70001112233
  • to[] - адрес поездки. Параметр to[] необходимо добавить столько раз сколько адресов у поездки. Первый параметр to[] является адресом "Откуда", последующие - точками назначения.
  • car_option[] - ID требующейся доп. опции к заказу (например "Детское кресло"). ID доп. опций можно посмотреть в интерфейся программы в разделе "Опции автомобилей" (Настройки -> Опции автомобилей). Необязательный параметр.
  • fix_price - стоимость поездки. Необязательный параметр. Если не задавать или указать 0, то поездка будет по GPS-таксомётру.
  • extern_id - ID заказа в Вашей системе. В дальнейшем может пердаваться в запросах от сервера такси к Вашей системе (Webhooks), например уведомление Вашей системы о смене статуса заказа.
  • order_time - время заказа (UNIX TIMESTAMP), если заказ предварительный. Параметр не обязательный.
  • print_receipt - сформировать кассовый чек после завершения поездки. Значение параметра может быть 0 или 1. Параметр не обязательный. По умолчанию - 0.
  • client_name - имя клиента. Параметр не обязательный.
  • use_bonuses - Сколько бонусов использовать для скидки по данному заказу. Параметр необязательный. Число use_bonuses ограничивается числом бонусов имеющихся у клиента на момент создания заказа.
  • comment - комментарий к заказу. Параметр не обязательный.

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342"}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ создан параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID созданного заказа на сервере такси, в случае если заказ не создан и произошла ошибка order_id будет равен 0.


Пример запроса

https://test.taxomet.ru/api/v1/add_order?operator_login=my-api&operator_password=******&unit_id=1&tarif_id=1&phone=+70001112233&to[]=Сочи, Тимирязева ул., 4&to[]=Сочи, Парковая ул., 42&car_option[]=1&fix_price=200&id=1234

Изменить заказ

Данный метод позволяет изменить ранее созданный заказ.

URL для запроса:

https://***.taxomet.ru/api/v1/save_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&order_id=<ID_заказы>&tarif_id=<ID_тарифа>&to[]=<адрес_1>&to[]=<адрес_2>&car_option[]=<ID_дополнительной_опции_авто>&fix_price=<фикс_цена>&order_time=<время_заказа>&client_name=<имя_клиента>&comment=<комментарий_к_заказу>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • order_id - ID заказа на сервере такси. ID заказа присваивается и выдаётся при создании заказа.
  • tarif_id - ID тарифа, котый необходимо применить к заказу. ID тарифа можно узнать в разделе программы "Службы такси и тарифы" (Настройки -> Службы такси и тарифы). Параметр можно не указавать если не нужно изменять ранее установленный тариф к заказу.
  • to[] - адрес поездки. Параметр to[] необходимо добавить столько раз сколько адресов у поездки. Первый параметр to[] является адресом "Откуда", последующие - точками назначения.
  • car_option[] - ID требующейся доп. опции к заказу (например "Детское кресло"). ID доп. опций можно посмотреть в интерфейся программы в разделе "Опции автомобилей" (Настройки -> Опции автомобилей). Необязательный параметр.
  • fix_price - стоимость поездки. Необязательный параметр. Если не задавать или указать 0, то поездка будет по GPS-таксомётру.
  • order_time - время заказа (UNIX TIMESTAMP), если заказ предварительный. Параметр не обязательный.
  • print_receipt - сформировать кассовый чек после завершения поездки. Значение параметра может быть 0 или 1. Параметр не обязательный. По умолчанию - 0.
  • client_name - имя клиента. Параметр не обязательный.
  • with_bonuses - Использовать бонусы или нет. Параметр необязательный. Значения: "-2" - не изменять флаг использования бонусов, "-1" - определить использовать ли бонусы автоматически, "0" - не использовать бонусы к заказу, "1" - использовать бонусы к заказу. При использовании бонусов их максимальное число ограничивается числом бонусов имеющихся у клиента на момент изменения.
  • use_bonuses - Сколько бонусов использовать для скидки по данному заказу. Параметр необязательный. Число use_bonuses ограничивается числом бонусов имеющихся у клиента на момент изменения.
  • comment - комментарий к заказу. Параметр не обязательный.

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342"}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ создан параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси.


Пример запроса

https://test.taxomet.ru/api/v1/save_order?operator_login=my-api&operator_password=******&order_id=2342&tarif_id=1&to[]=Сочи, Тимирязева ул., 4&to[]=Сочи, Парковая ул., 42&car_option[]=1&fix_price=200

Отменить заказ

Данный метод позволяет отменить заказ.

URL для запроса:

https://***.taxomet.ru/api/v1/cancel_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • id - ID заказа на сервере такси.

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342"}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ отменён параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID отменяемого заказа на сервере такси, в случае если заказ не удалось отменить и произошла ошибка order_id будет равен 0.

Пример запроса

https://test.taxomet.ru/api/v1/cancel_order?operator_login=my-api&operator_password=******&id=10

Получить текущую информацию о заказе

Данный метод позволяет получить текущую информацию о заказе по ID заказа.

URL для запроса:

https://***.taxomet.ru/api/v1/get_order?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • id - ID заказа на сервере такси.

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342", "status":"4", "call_from":"+70000000000", "driver_id":"120","driver_title":"Иванов Иван Иванович", ...}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ отменён параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID отменяемого заказа на сервере такси, в случае если заказ не удалось отменить и произошла ошибка order_id будет равен 0.

Пример запроса

https://test.taxomet.ru/api/v1/get_order?operator_login=my-api&operator_password=******&id=10

Назначить водителя

Данный метод позволяет назначить водителя принудительно.

URL для запроса:

https://***.taxomet.ru/api/v1/set_driver?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа>&driver_id=<ID_водителя>&boarding_time=<время_подачи>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • id - ID заказа на сервере такси.
  • driver_id - ID водителя на сервере такси. ID водителя можно посмотреть в интерфейсе программы в разделе "Водители".
  • boarding_time - время в течение которого будет подана машина в минутах, целое число (например 5 минут). Параметр не обязательный. Не нужно указывать для предварительных заказов.

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342"}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и водитель назначен параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если произошла ошибка order_id будет равен 0.

Пример запроса

https://test.taxomet.ru/api/v1/set_driver?operator_login=my-api&operator_password=******&id=10&driver_id=3


Предложить заказ водителю

Данный метод позволяет предложить заказ конкретному водителю. При этом решение брать заказ или нет остается за водителем.

URL для запроса:

https://***.taxomet.ru/api/v1/suggest_driver?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа>&driver_id=<ID_водителя>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • id - ID заказа на сервере такси.
  • driver_id - ID водителя на сервере такси. ID водителя можно посмотреть в интерфейсе программы в разделе "Водители".

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342"}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и заказ водителю предложен параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если произошла ошибка order_id будет равен 0.

Пример запроса

https://test.taxomet.ru/api/v1/suggest_driver?operator_login=my-api&operator_password=******&id=10&driver_id=3


Предложить заказ всем водителям сразу

Данный метод позволяет предложить заказ всем водителям сразу, которые удовлетворяют условиям заказа (служба, наличие опций, тип кузова).

URL для запроса:

https://***.taxomet.ru/api/v1/send_order_to_all_drivers?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • id - ID заказа на сервере такси.

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342"}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если произошла ошибка order_id будет равен 0.

Пример запроса

https://test.taxomet.ru/api/v1/send_order_to_all_drivers?operator_login=my-api&operator_password=******&id=10


Снять водителя с заказа

Данный метод позволяет назначить водителя принудительно.

URL для запроса:

https://***.taxomet.ru/api/v1/remove_driver?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&id=<ID_заказа>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • id - ID заказа на сервере такси.

Ответ

Ответ в формате JSON:

{"result":"1", "error":"", "order_id":"2342"}

Параметры result, error, order_id всегда присутствуют в ответе. В случае успешного выполнения запроса и водитель снят с заказа параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Параметр order_id содержит ID заказа на сервере такси, в случае если водителя не удалось снять и произошла ошибка order_id будет равен 0.

Пример запроса

https://test.taxomet.ru/api/v1/remove_driver?operator_login=my-api&operator_password=******&id=10


Отправить SMS-сообщение

Данный метод позволяет отправить SMS-сообщение через доступные SMS-каналы.

URL для запроса:

https://***.taxomet.ru/api/v1/send_sms?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&from=<имя_от_кого>&phone=<телефон_получателя>&msg=<текст_сообщения>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • from - Имя отправителя "от кого". Только латинские символы и цифры. Не более 11 знаков.
  • phone - Телефон получателя. 11 знаков. Например, 79001112233
  • msg - Текст SMS-сообщения.

Ответ

Ответ в формате JSON:

{"result":"1", "error":""}

Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и SMS-сообщение отправлено параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.

Пример запроса

https://test.taxomet.ru/api/v1/send_sms?operator_login=my-api&operator_password=******&from=taxomet&msg=test&phone=79670001122


Отправить код в голосовом сообщении

Данный метод позволяет отправить код в голосовом сообщении звонком через доступные Исходящие линии в программе. См. Настройки -> Настройки телефонии.

URL для запроса:

https://***.taxomet.ru/api/v1/send_voice_code?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&phone=<телефон_получателя>&code=<отправляемый_код>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • phone - Телефон получателя. 11 знаков. Например, 79001112233
  • code - Цифровой код, который необходимо отправить голосовым сообщением. Только цифры.

Ответ

Ответ в формате JSON:

{"result":"1", "error":""}

Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.

Пример запроса

https://test.taxomet.ru/api/v1/send_voice_code?operator_login=my-api&operator_password=******&phone=79670001122&code=12345

Добавить/отнять рейтинг водителя

Данный метод позволяет добавить или отнять рейтинг водителю. Для использования данной функции для учетной записи оператора (от которой делается данный API запрос) должно быть включено право на Администрирование.

URL для запроса:

https://***.taxomet.ru/api/v1/add_driver_rating?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&driver_id=<ID_водителя>&points=<количество_баллов>&lifetime_hours=<время_действия_баллов>&comment=<комментарий>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • driver_id - ID водителя, для которого необходимо добавить или отнять баллы рейтинга.
  • points - Количество баллов, целое число (с минусом если нужно отнять баллы).
  • lifetime_hours - Время действия баллов, целое число (количество часов).
  • comment - Комментарий к создаваемой записи.

Ответ

Ответ в формате JSON:

{"result":"1", "error":""}

Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.

Пример запроса

https://test.taxomet.ru/api/v1/add_driver_rating?operator_login=test-api&operator_password=******&driver_id=2&points=100&lifetime_hours=1000&comment=Тестовый%20рейтинг%20через%20API


Добавить/отнять бонусы клиенту

Данный метод позволяет добавить или отнять бонусы с бонусного счета клиента. Для использования данной функции для учетной записи оператора (от которой делается данный API запрос) должно быть включено право на Администрирование.

URL для запроса:

https://***.taxomet.ru/api/v1/add_client_bonuses?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&phone=<телефон_клиента>&amount=<количество_бонусов>&comment=<комментарий>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • unit_id - ID службы такси, группу счетов которой нужно использовать.
  • phone - Телефон клиента.
  • amount - Количество бонусов, которое нужно зачислить. Если с минусом, то произойдет списание бонусов
  • comment - Комментарий к создаваемой записи.

Ответ

Ответ в формате JSON:

{"result":"1", "bonuses":"50", "error":"","phone":"+79001112233"}

Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Поле bonuses содержит количество бонусов на бонусном счету клиента после выполнения запроса.

Пример запроса

https://test.taxomet.ru/api/v1/add_driver_rating?operator_login=test-api&operator_password=******&unit_id=1&amount=10&comment=тест%20123&phone=%2B79001112233

Получить информацию учетной записи клиента

Данный метод позволяет получить информацию учетной записи клиента по номеру телефона.

URL для запроса:

https://***.taxomet.ru/api/v1/get_client_info?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&phone=<телефон_клиента>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • unit_id - ID службы такси, группу счетов которой нужно использовать при выборке информации.
  • phone - Телефон клиента.

Ответ

Ответ в формате JSON:

{"phone":"+79001112233","bonuses":"60","max_discount":"0","with_bonuses":"0","tarif_id":"0","max_cashless_summ":0,"passphrase":"","name":"","cashless_account_id":"0","balance_threshold":0,"error":""}

Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса и голосовое сообщение принято к отправке параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки. Поле bonuses содержит количество бонусов на бонусном счету клиента после выполнения запроса. name - имя клиента. cashless_account_id - ID учетной записи корпоративного клиента.

Пример запроса

https://test.taxomet.ru/api/v1/get_client_info?operator_login=test-api&operator_password=******&unit_id=1&phone=%2B79001112233


Рассчитать маршрут и стоимость поездки по координатам точек поездки

Данный метод позволяет получить стоимость поездки, а так же расчетный маршрут по координатам точек поездки (координаты точек "Откуда" и "Куда", может быть больше точек поездки).

URL для запроса:

https://***.taxomet.ru/api/v1/get_distance?operator_login=<логин_оператора>&operator_password=<пароль_оператора>&unit_id=<ID_службы>&tarif_id=<ID_тарифа>&lon[]=<долгота_точки_1>&lat[]=<широта_точки_1>&lon[]=<долгота_точки_2>&lat[]=<широта_точки_2>

Описание параметров

  • operator_login - логин оператора. Предварительно необходимо создать учетную запись оператора в интерфейсе программы.
  • operator_password - пароль оператора.
  • unit_id - ID службы такси, информацию которой необходимо использовать при расчете маршрута и стоимости поездки.
  • tarif_id - ID тарифа службы такси, информацию которого необходимо использовать при расчете маршрута и стоимости поездки. Чтобы тариф подбирался автоматически с учетом времени укажите значение -1.
  • lon[] - географическая долгота точки маршрута. Указывается столько раз сколько точек маршрута (для каждой точки маршрута). Минимум два раза.
  • lat[] - географическая широта точки маршрута. Указывается столько раз сколько точек маршрута (для каждой точки маршрута). Минимум два раза.

Ответ

Ответ в формате JSON:

{"result":"1","distance":"0.03","distance_suburb":"0","measure":"km","suburban":"0","is_zonal":"1","zonal_price":"100","transfer_str":"КОНЕЦ -> КОНЕЦ = 100 ","pre_price":"100","fix_price":"100","min_price":"100","tarif_combo1":"0","combo1_distance":"0","combo1_distance_suburb":"0","idle_speed":"0","idle_start_after_seconds":"0","tarif_ratio":"1","increase_defer":"30","tarif_landing":"100","increase_distance_threshold":"0","increase_distance_tarif":"0","increase_distance":"0.03","increase_distance_sum":"0","adaptive_landing_increase":"0","execution_time":"144","execution_time1":"","nodes":[{"id":"0","lon":"74.484703","lat":"63.799877","s":"1","zid":"105"},{"id":"0","lon":"74.484001","lat":"63.799877","s":"1","zid":"105"},{}],"places":[{"id":"1","lon":"74.48474884","lat":"63.79967880"},{"id":"2","lon":"74.48403931","lat":"63.79966736"},{}],"zones_calc":[],"pre_price_raw":"100","fix_price_raw":"100","rounding":"-0.60","error":""}

Параметры result, error всегда присутствуют в ответе. В случае успешного выполнения запроса параметр result имеет значение 1. В случае если произошла ошибка, то параметр result НЕ равен 1, а в параметр error содержит текстовое описание ошибки.

Описание параметров ответа

  • distance - длина расчетного маршрута в километрах.
  • distance_suburb - длина расчетного маршрута в километрах за городом.
  • pre_price - предварительная цена.
  • fix_price - окончательная цена, если на настройках тарифа установлен флаг фиксации стоимости поездки.
  • nodes - массив с точками пути расчетного маршрута.
  • places - массив с точками поездки маршрута.
  • rounding - тип округления стоимости поездки согласно настройкам тарифа.


Пример запроса

https://test.taxomet.ru/get_distance?operator_login=test-api&operator_password=*******&unit_id=1&tarif_id=-1&lon[]=74.484749&lat[]=63.799679&lon[]=74.484039&lat[]=63.799667

Нет нужной функции API?

Свяжитесь с нами и мы откроем нужную функцию для API.