API сервера такси: различия между версиями
Материал из Таксомёт
Krolist (обсуждение | вклад) Нет описания правки |
Krolist (обсуждение | вклад) Нет описания правки |
||
Строка 102: | Строка 102: | ||
<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. | |||
== '''Нет нужной функции?''' == | |||
Напишите нам в поддержку и мы откроем нужную функцию для API. |
Версия от 21:02, 22 декабря 2021
Сервер такси имеет 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=<время_заказа>
Описание параметров
- 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.
Ответ
Ответ в формате 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/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/add_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
Нет нужной функции?
Напишите нам в поддержку и мы откроем нужную функцию для API.