<!-- TITLE: Руководства разработчика --> <!-- SUBTITLE: Описание функций API --> Для общего описания протокола перейдите на страницу: [Описание протокола API...](/developer/api/description) <!-- # Список доступных функций * [Версия API](#get_version) (<a href="#1.0.0">1.0.0</a>) * [Список изменений](#get_changeset) (<a href="#1.10.0">1.10.0</a>) * [Создать заказ](#post_order) (<a href="#1.0.0">1.0.0</a>) * [Расчёт предварительной стоимости](#pre_cost) (<a href="#1.12.0">1.12.0</a>) * [Получить информацию о заказе](#get_order) (<a href="#1.4.0">1.4.0</a>) * [Отменить заказ](#cancel_order) (<a href="#1.8.0">1.8.0</a>) * [Получение списка служб](#get_services) (<a href="#1.1.0">1.1.0</a>) * [Получение списка стоянок](#get_regions) (<a href="#1.7.0">1.7.0</a>) * [Получение стоянки по адресу](#get_region_by_address) (<a href="#1.5.0">1.5.0</a>) * [Получение стоянки по координате](#get_region_by_coord) (<a href="#1.6.0">1.6.0</a>) * [Получение списка тарифов](#get_rates) (<a href="#1.1.0">1.1.0</a>) * [Получение списка улиц и общественных мест](#get_streets) (<a href="#1.0.0">1.0.0</a>) * [Получение списка водителей](#get_drivers) (<a href="#1.2.0">1.2.0</a>) * [Получение координаты водителя по его позывному](#get_driver_by_code) (<a href="#1.3.0">1.3.0</a>) * [Количество бонусов клиента по номеру его телефона](#get_client_bonus_count) (<a href="#1.0.0">1.0.0</a>) * [Пополнение баланса водителя](#post_driver_balance) (<a href="#1.11.0">1.11.0</a>) * [Проверка баланса водителя](#get_driver_balance) (<a href="#1.11.0">1.11.0</a>) * [Пополнение баланса контрагента](#post_customer_balance) (<a href="#1.11.0">1.11.0</a>) * [Проверка баланса контрагента](#get_customer_balance) (<a href="#1.11.0">1.11.0</a>) * [Изменить статус заказа](#set_order_status) (<a href="#1.18.0">1.18.0</a>) * [Получить информацию о статусе заказа](#get_order_status) (<a href="#1.18.0">1.18.0</a>) * [Получить информацию о доп. услугах](#get_extras) (<a href="#1.18.0">1.18.0</a>) --> # Версия API <pre>$ curl -X GET -G http://scat-server/api/version {"status": "DONE", "response": {"version": "1.10.0"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/version</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Нет</td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "version": str // информация о версии (<a href="#1.0.0">1.0.0</a>) } </pre> # Список изменений <pre>$ curl -X GET -G http://scat-server/api/changeset {"status": "DONE", "changeset": [["1.0.0", "Базовый набор функций"]]} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/changeset</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Нет</td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "changeset": [ ["version", "changes"], ... ] // список изменений (<a href="#1.10.0">1.10.0</a>) } </pre> ### Список изменений <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>Версия</th> <th>Описание</th> </tr> <tr> <th id="1.0.0">1.0.0</th> <td>Базовый набор функций</td> </tr> <tr> <th id="1.0.1">1.0.1</th> <td>При получении списка улиц istartswith заменён на icontains</td> </tr> <tr> <th id="1.1.0">1.1.0</th> <td>Получаем список служб и тарифов</td> </tr> <tr> <th id="1.1.1">1.1.1</th> <td>Расширенная информация в списке тарифов</td> </tr> <tr> <th id="1.2.0">1.2.0</th> <td>Получаем список водителей</td> </tr> <tr> <th id="1.3.0">1.3.0</th> <td>Получаем координаты водителя по его позывному</td> </tr> <tr> <th id="1.3.1">1.3.1</th> <td>Возвращаем номер заказа при создании</td> </tr> <tr> <th id="1.4.0">1.4.0</th> <td>Получаем информацию о заказе</td> </tr> <tr> <th id="1.4.1">1.4.1</th> <td>Изменён формат ответа о координатах водителя</td> </tr> <tr> <th id="1.4.2">1.4.2</th> <td>Поле с номером заказа при создании переименовано с id на order_id</td> </tr> <tr> <th id="1.4.3">1.4.3</th> <td>Поле с номером заказа при создании заменено на uuid</td> </tr> <tr> <th id="1.4.4">1.4.4</th> <td>Добавлен необязательный параметр time при создании заказа</td> </tr> <tr> <th id="1.4.5">1.4.5</th> <td>Добавлен необязательный параметр driver_id при создании заказа</td> </tr> <tr> <th id="1.4.6">1.4.6</th> <td>Добавлен необязательный параметр pre_order_time при создании заказа</td> </tr> <tr> <th id="1.4.7">1.4.7</th> <td>Добавлены необязательные параметры lat, lon, region_id, amount при создании заказа</td> </tr> <tr> <th id="1.5.0">1.5.0</th> <td>Получаем стоянку по адресу</td> </tr> <tr> <th id="1.5.1">1.5.1</th> <td>Добавлен необязательный параметр moderation_required при создании заказа</td> </tr> <tr> <th id="1.6.0">1.6.0</th> <td>Получаем стоянку по координатам</td> </tr> <tr> <th id="1.7.0">1.7.0</th> <td>Получаем список стоянок</td> </tr> <tr> <th id="1.7.1">1.7.1</th> <td>Параметры dst, comment, appartment становятся необязательными при создании заказа</td> </tr> <tr> <th id="1.7.2">1.7.2</th> <td>Добавлены поля start_time, remaining_time, amount и rate_id в информацию о заказе</td> </tr> <tr> <th id="1.8.0">1.8.0</th> <td>Отменяем заказ</td> </tr> <tr> <th id="1.8.1">1.8.1</th> <td>В driver_id теперь возвращается позывной при получении информации о заказе</td> </tr> <tr> <th id="1.8.2">1.8.2</th> <td>Поля car_brand, car_color, car_model и car_number в информации о заказе</td> </tr> <tr> <th id="1.8.3">1.8.3</th> <td>Поле phone в списке водителей</td> </tr> <tr> <th id="1.9.0">1.9.0</th> <td>Отправка СМС</td> </tr> <tr> <th id="1.9.1">1.9.1</th> <td>Поля firstname и phone в информации о заказе</td> </tr> <tr> <th id="1.9.2">1.9.2</th> <td>Добавлен необязательный параметр need_notify при создании заказа</td> </tr> <tr> <th id="1.9.3">1.9.3</th> <td>Добавлены необязательные параметры dst_street и dst_house при создании заказа</td> </tr> <tr> <th id="1.10.0">1.10.0</th> <td>Получаем список изменений</td> </tr> <tr> <th id="1.11.0">1.11.0</th> <td>Получение и изменение баланса водителей и контрагентов</td> </tr> <tr> <th id="1.11.1">1.11.1</th> <td>Исправлено падение при создании заказа с ошибочным region_id</td> </tr> <tr> <th id="1.11.2">1.11.2</th> <td>Пустая строка с этой версии считается отсутствием аргумента и не передаётся в API функцию</td> </tr> <tr> <th id="1.12.0">1.12.0</th> <td>Функция для предварительного расчёта стоимости (по тарифной сетке)</td> </tr> <tr> <th id="1.12.1">1.12.1</th> <td>Для предварительного расчёта идентификатор службы теперь не обязателен (по-умолчанию первая служба)</td> </tr> <tr> <th id="1.12.2">1.12.2</th> <td>Исправлена работа с пустыми переданными аргументами</td> </tr> <tr> <th id="1.13.0">1.13.0</th> <td>При создании заказа, расчёте стоимости и в функциях определения стоянки учитывается город</td> </tr> <tr> <th id="1.13.1">1.13.1</th> <td>Добавлены необязательные параметры city_id, service_id при запросе списка водителей, стоянок</td> </tr> <tr> <th id="1.13.2">1.13.2</th> <td>При запросе списка служб можно указать city_id, иначе будут возвращены службы для всех городов</td> </tr> <tr> <th id="1.14.0">1.14.0</th> <td>Добавлен необязательный параметр city_id для списка улиц, изменён алгоритм поиска по паттерну</td> </tr> <tr> <th id="1.15.0">1.15.0</th> <td>Добавлен необязательный параметр city_id для списка тарифов</td> </tr> <tr> <th id="1.16.0">1.16.0</th> <td>Расширена информация по водителю (скорость, направление, номер заказа, стоянка)</td> </tr> <tr> <th id="1.16.1">1.16.1</th> <td>Не используем RPC при получении информации по отдельному водителю</td> </tr> <tr> <th id="1.17.0">1.17.0</th> <td>Дом указывать не обязательно, если вместо улицы передано название общественного места</td> </tr> <tr> <th id="1.17.1">1.17.1</th> <td>При создании заказа проверяется наличие номера телефона в чёрном списке</td> </tr> <tr> <th id="1.18.0">1.18.0</th> <td>Добавлена функция для получения и смены статуса внешнего заказа</td> </tr> <tr> <th id="1.18.1">1.18.1</th> <td>Добавлен необязательный параметр check для проверки статуса заказа в базе после изменения</td> </tr> <tr> <th id="1.19.0">1.19.0</th> <td>Расширена информация по водителю (город)</td> </tr> </tbody> </table> </div> # Создать заказ <pre>$ curl -X POST http://scat-server/api/order \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d phone=89012345678 \ -d street=Ленина \ -d house=11а \ -d appartment=42 \ -d dst="Пушкинская 268" \ -d moderation_required=no {"status": "DONE", "response": {"message": "Your order saved.", "uuid": "fc1d6f52-9aef-11e3-84ae-0015af9e1aa1"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>phone</b></td> <td>Номер телефона клиента</td> <td>Номер телефона, начинающийся с 8...</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td><b>street</b></td> <td>Название улицы/общественного места</td> <td>Название улицы/общественного места, включая префикс</td> <td><b>-</b></td> <td><a href="#1.17.0">1.17.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>street</b></td> <td>Название улицы</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>appartment</b></td> <td>Номер квартиры клиента</td> <td>Число</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>dst</b></td> <td>Точка назначения</td> <td>Адрес точки назначения в одну строку</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>comment</b></td> <td>Комментарий к заказу</td> <td>Любой текст</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.17.0">1.17.0</a></td> </tr> <tr> <td><b>appartment</b></td> <td>Номер квартиры клиента</td> <td>Число</td> <td><b>-</b></td> <td><a href="#1.7.1">1.7.1</a></td> </tr> <tr> <td><b>dst</b></td> <td>Точка назначения</td> <td>Адрес точки назначения в одну строку</td> <td><b>-</b></td> <td><a href="#1.7.1">1.7.1</a></td> </tr> <tr> <td><b>region_id</b></td> <td>Идентификатор стоянки</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>lon</b></td> <td>Координаты клиента: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>lat</b></td> <td>Координаты клиента: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>moderation_required</b></td> <td>Отправлять диспетчеру на модерацию</td> <td><b>yes<b>, </b>no</b></td> <td><b>yes</b></td> <td><a href="#1.5.1">1.5.1</a></td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td><b>1</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td><b>driver_id</b></td> <td>Идентификатор водителя</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td><b>amount</b></td> <td>Стоимость заказа</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>pre_order_time</b></td> <td>Время предварительного заказа</td> <td>Время и дата в формате <b>%Y-%m-%d %H:%M:%S</b></td> <td><b>-</b></td> <td><a href="#1.4.6">1.4.6</a></td> </tr> <tr> <td><b>comment</b></td> <td>Комментарий к заказу</td> <td>Любой текст</td> <td><b>-</b></td> <td><a href="#1.7.1">1.7.1</a></td> </tr> <tr> <td><b>need_notify</b></td> <td>Требуется оповещение клиента</td> <td><b>yes<b>, </b>no</b></td> <td><b>yes</b></td> <td><a href="#1.9.2">1.9.2</a></td> </tr> <tr> <td><b>dst_street</b></td> <td>Улица назначения</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.9.3">1.9.3</a></td> </tr> <tr> <td><b>dst_house</b></td> <td>Дом назначения</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.9.3">1.9.3</a></td> </tr> <tr> <td><b>dst_lat</b></td> <td>Координата адреса назначения: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> <tr> <td><b>dst_lon</b></td> <td>Координата адреса назначения: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> <tr> <td><b>way_points</b></td> <td>Промежуточные точки маршрута</td> <td>JSONArray</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> <tr> <td><b>extras</b></td> <td>Доп услуги</td> <td>Строка, разделенные запятыми доп. услуги вида extra_id*count или extra_id если кол-во=1</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> </tbody> </table> </div> ### Формат промежуточных точек Массив объектов содержащих поля: street (улица), house (дом), lat(широта), lon(долгота). Все элементы кроме street не обязательны Например <pre> [{"street": "Пулковская", "house": "78", "lat": 54.454554, "lon": 45.0990999}, {"street": "ТЦ Флагман", "lat": 45.56787, "lon": 45.39807}] </pre> ### Формат ответа <pre>{ <span style="text-decoration: line-through;">"id": int, // идентификатор заказа (<a href="#1.0.0">1.0.0</a>)</span> <span style="text-decoration: line-through;">"order_id": int, // идентификатор заказа (<a href="#1.4.2">1.4.2</a>)</span> "uuid": uuid, // внешний идентификатор заказа (<a href="#1.4.3">1.4.3</a>) "message": str // комментарий системы (<a href="#1.0.0">1.0.0</a>) } </pre> # Расчёт предварительной стоимости <pre>$ curl -X GET -G http://scat-server/api/order/pre_cost \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d src_street=Ленина \ -d src_house=11а \ -d dst_street=Кирова \ -d dst_house=18 {"status": "DONE", "response": {"amount": 100.0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order/pre_cost</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>src_street</b></td> <td>Название улицы</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>src_house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_street</b></td> <td>Улица назначения</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_house</b></td> <td>Дом назначения</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>src_lon</b></td> <td>Координаты клиента: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>src_lat</b></td> <td>Координаты клиента: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_lon</b></td> <td>Координаты точки назначения: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_lat</b></td> <td>Координаты точки назначения: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>src_region_id</b></td> <td>Идентификатор района клиента</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_region_id</b></td> <td>Идентификатор района назначения</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td>1</td> <td><a href="#1.12.1">1.12.1</a></td> </tr> <tr> <td><b>route_time</b></td> <td>Время в пути, в секундах</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.50.1">1.50.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "amount": string // стоимость заказа (<a href="#1.12.0">1.12.0</a>) "distance": float // дистанция маршрута "approximate": boolean // примерная стоимость - true. false - точная стоимость "token": string // код гарантированной стоимости. используется для создания заказа } </pre> # Получить информацию о заказе <pre>$ curl -X GET -G http://scat-server/api/order \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 {"status": "DONE", "response": {"status": 100, "message": "Заказ выполнен", "driver_id": "d1", "start_time": "2014-08-26 18:15:00", "remaining_time": "5", "amount": 150.00, "rate_id": 1}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.4.0">1.4.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ status: int, // код статуса заказа (<a href="#1.4.0">1.4.0</a>) message: str, // сообщение статуса заказа (<a href="#1.4.0">1.4.0</a>) <span style="text-decoration: line-through;">driver_id: str // идентификатор водителя (<a href="#1.4.0">1.4.0</a>)</span> driver_id: str // позывной (<a href="#1.8.1">1.8.1</a>) start_time: datetime/null, // время начала выполнения заказа (%Y-%m-%d %H:%M:%S) (<a href="#1.7.2">1.7.2</a>) remaining_time: int/null, // время подачи автомобиля (в минутах) (<a href="#1.7.2">1.7.2</a>) amount: float/null, // стоимость заказа (<a href="#1.7.2">1.7.2</a>) rate_id: int/null, // идентификатор тарифа (<a href="#1.7.2">1.7.2</a>) car_brand: str, // марка (<a href="#1.8.2">1.8.2</a>) car_model: str, // модель (<a href="#1.8.2">1.8.2</a>) car_color: str, // цвет (<a href="#1.8.2">1.8.2</a>) car_number: str // госномер (<a href="#1.8.2">1.8.2</a>) } </pre> # Отменить заказ <pre>$ curl -X POST http://scat-server/api/cancel_order \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 {"status": "DONE", "response": {"message": "Your order canceled."}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/cancel_order</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.8.0">1.8.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ message: str, // комментарий системы (<a href="#1.8.0">1.8.0</a>) } </pre> # Изменить статус заказа <pre>$ curl -X POST http://scat-server/api/order/status \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 \ -d code=7 {"status": "DONE", "response": {"code": 7, "name": "Клиент не выходит"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order/status</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.18.0">1.18.0</a></td> </tr> <tr> <td><b>code</b></td> <td>Код статуса заказа</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.18.0">1.18.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>check</b></td> <td>Проверить изменение статуса в базе перед ответом (медленно)</td> <td><b>yes<b>, </b>no</b></td> <td><b>no</b></td> <td><a href="#1.18.1">1.18.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ code: int, // код статуса заказа (<a href="#1.18.0">1.18.0</a>) name: str // наименование статуса (<a href="#1.18.0">1.18.0</a>) } </pre> # Получить статус заказа <pre>$ curl -X GET -G http://scat-server/api/order/status \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 {"status": "DONE", "response": {"code": 7, "name": "Клиент не выходит"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order/status</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.18.0">1.18.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ code: int, // код статуса заказа (<a href="#1.18.0">1.18.0</a>) name: str // наименование статуса (<a href="#1.18.0">1.18.0</a>) } </pre> # Получение списка служб <pre>$ curl -X GET -G http://scat-server/api/services \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"services": [{"id": 1, "name": "Такси", "city_id": 1}, {"id": 2, "name": "Тест", "city_id": 1}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/services</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.13.2">1.13.2</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "services": [ { "id": int, // идентификатор службы (<a href="#1.1.0">1.1.0</a>) "name": str, // наименование службы (<a href="#1.1.0">1.1.0</a>) "city_id": int // идентификатор города, если не указан в запросе (<a href="#1.13.2">1.13.2</a>) }, // ... ] } </pre> # Получение списка стоянок <pre>$ curl -X GET -G http://scat-server/api/regions \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"regions": [{"id": 1, "name": "Центр"}, {"id": 2, "name": "Металлург"}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/services</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Нтуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Нтуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "regions": [ { "id": int, // идентификатор стоянки (<a href="#1.7.0">1.7.0</a>) "name": str // наименование стоянки (<a href="#1.7.0">1.7.0</a>) }, // ... ] } </pre> # Получение стоянки по адресу <pre>$ curl -X GET -G http://scat-server/api/region_by_address \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d street=Пушкинская \ -d house=268 {"status": "DONE", "response": {"id": 1, "name": "Центр"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/region_by_address</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>street</b></td> <td>Название улицы</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.5.0">1.5.0</a></td> </tr> <tr> <td><b>house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.5.0">1.5.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "id": int, // идентификатор стоянки (<a href="#1.5.0">1.5.0</a>) "name": str // наименование стоянки (<a href="#1.5.0">1.5.0</a>) } </pre> # Получение стоянки по координате <pre>$ curl -X GET -G http://scat-server/api/region_by_coord \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d lon=12.345678 \ -d lat=87.654321 {"status": "DONE", "response": {"id": 1, "name": "Центр"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/region_by_coord</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>lon</b></td> <td>Координаты клиента: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.6.0">1.6.0</a></td> </tr> <tr> <td><b>lat</b></td> <td>Координаты клиента: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.6.0">1.6.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "id": int, // идентификатор стоянки (<a href="#1.6.0">1.6.0</a>) "name": str // наименование стоянки (<a href="#1.6.0">1.6.0</a>) } </pre> # Получение списка тарифов <pre>$ curl -X GET -G http://scat-server/api/rates \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"rates": [{"id": 1, "name": "Эконом", "km_cost": "15.00", "km_start": 2, "stand_kost": "10.00", "free_wait_time": 5, "free_stand_time": 1, "start_hour": 18, "end_hour": 22, "city_id": 1}, {"id": 2, "name": "ВИП", "km_cost": "20.00", "km_start": 1, "stand_kost": "15.00", "free_wait_time": 10, "free_stand_time": 2, "start_hour": null, "end_hour": null, "city_id": 1}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/rates</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.15.0">1.15.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ rates: [ { id: int, // идентификатор (<a href="#1.1.0">1.1.0</a>) name: str, // наименование (<a href="#1.1.0">1.1.0</a>) km_cost: float, // стоимость километра (<a href="#1.1.1">1.1.1</a>) km_start: int, // сколько первых километров не считается (<a href="#1.1.1">1.1.1</a>) stand_cost: float, // стоимость стоянки (<a href="#1.1.1">1.1.1</a>) free_wait_time: int, // время бесплатного ожидания (<a href="#1.1.1">1.1.1</a>) free_stand_time: int, // сколько первых минут стоянки не считаются (<a href="#1.1.1">1.1.1</a>) start_hour: int/null, // время начала действия тарифа (<a href="#1.1.1">1.1.1</a>) end_hour: int/null, // время окончания действия тарифа (<a href="#1.1.1">1.1.1</a>) city_id: int // идентификатор города, если не указан в запросе (<a href="#1.15.0">1.15.0</a>) }, // ... ] } </pre> # Получение списка улиц и общественных мест <pre>$ curl -X GET -G http://scat-server/api/streets \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d pattern=киров {"status": "DONE", "response": {"streets": ["Кирова", "Парк им. Кирова"]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/streets</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr style="text-decoration: line-through;"> <td><b>pattern</b></td> <td>Начало имени для поиска</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>pattern</b></td> <td>Часть имени для поиска</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.0.1">1.0.1</a></td> </tr> <tr> <td><b>pattern</b></td> <td>Начало любого слова в наименовании для поиска без учёта регистра</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.14.0">1.14.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.14.0">1.14.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "streets": [ str, // название улицы/общественного места (<a href="#1.0.0">1.0.0</a>) // ... ] } </pre> # Получение списка водителей <pre>$ curl -X GET -G http://scat-server/api/drivers \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"drivers": [{"first_name": "Иван", "code": "001", "car_brand": "Ниссан", "car_model": "Альмера", "car_reg_num": "A476BO", "lon": "12.345678", "lat": "87.654321", "permit_number": "58567437900", "car_year": "1997", "phone": "89123456789", "id": 1}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/drivers</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "drivers": [ { id: int, // идентификатор водителя (<a href="#1.2.0">1.2.0</a>) first_name: str, // имя (<a href="#1.2.0">1.2.0</a>) code: str, // позывной (<a href="#1.2.0">1.2.0</a>) phone: str, // номер телефона (<a href="#1.8.3">1.8.3</a>) permit_number: str/null, // номер разрешения (<a href="#1.2.0">1.2.0</a>) lat: str, // широта (<a href="#1.2.0">1.2.0</a>) lon: str, // долгота (<a href="#1.2.0">1.2.0</a>) car_brand: str, // марка авто (<a href="#1.2.0">1.2.0</a>) car_model: str, // модель (<a href="#1.2.0">1.2.0</a>) car_reg_num: str, // гос.номер (<a href="#1.2.0">1.2.0</a>) car_year: str/null // год выпуска (<a href="#1.2.0">1.2.0</a>) }, // ... ] } </pre> # Получение координаты водителя по его позывному <pre>$ curl -X GET -G http://scat-server/api/drivers \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d code=001 {"status": "DONE", "response": {"bearing": 0, "region_id": 45, "city_id": 1, "lon": 53.273845, "order_id": null, "lat": 56.86814, "speed": 0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/drivers</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>code</b></td> <td>Позывной водителя</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.3.0">1.3.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ <span style="text-decoration: line-through;">driver = { lat: str, lon: str } // координаты (<a href="#1.3.0">1.3.0</a>) lat: str, // широта (<a href="#1.4.1">1.4.1</a>) lon: str, // долгота (<a href="#1.4.1">1.4.1</a>)</span> lat: float, // широта (<a href="#1.16.0">1.16.0</a>) lon: float, // долгота (<a href="#1.16.0">1.16.0</a>) speed: float, // скорость (<a href="#1.16.0">1.16.0</a>) bearing: float, // направление (<a href="#1.16.0">1.16.0</a>) order_id: int/null, // идентификатор заказа (<a href="#1.16.0">1.16.0</a>) region_id: int/null, // идентификатор стоянки (<a href="#1.16.0">1.16.0</a>) city_id: int // идентификатор города (<a href="#1.19.0">1.19.0</a>) } </pre> # Количество бонусов клиента по номеру его телефона <pre>$ curl -X GET -G http://scat-server/api/client/bonus/count \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d phone=89012345678 {"status": "DONE", "response": {"bonus": 100, "phone": "89012345678"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/client/bonus/count</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>phone</b></td> <td>Номер телефона клиента</td> <td>Номер телефона, начинающийся с 8...</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "phone": str, // номер телефона клиента (<a href="#1.0.0">1.0.0</a>) "bonus": int // количество бонусов (<a href="#1.0.0">1.0.0</a>) } </pre> # Пополнение баланса водителя <pre>$ curl -X POST http://scat-server/api/driver/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d driver_code=001 \ -d txn_id=f782t32t23328r3r223r23t5y6h54r \ -d amount=500 {"status": "DONE", "response": {"balance": 1100.0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/driver/balance</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>driver_code</b></td> <td>Позывной водителя</td> <td>Строка</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>txn_id</b></td> <td>Номер транзакции</td> <td>Строка (>=30)</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>amount</b></td> <td>Сумма платежа</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float // баланс водителя после платежа (<a href="#1.11.0">1.11.0</a>) } </pre> # Проверка баланса водителя <pre>$ curl -X GET -G http://scat-server/api/driver/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d driver_code=001 {"status": "DONE", "response": {"balance": 1100.0, "firstname": "Иванов", "lastname": "Иван", "middlename": "Иванович"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/driver/balance</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>driver_code</b></td> <td>Позывной водителя</td> <td>Строка</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float, // баланс водителя (<a href="#1.11.0">1.11.0</a>) "firstname": str, // имя водителя (<a href="#1.11.0">1.11.0</a>) "lastname": str, // фамилия водителя (<a href="#1.11.0">1.11.0</a>) "middlename": str // отчество водителя (<a href="#1.11.0">1.11.0</a>) } </pre> # Пополнение баланса контрагента <pre>$ curl -X POST http://scat-server/api/customer/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d customer_id=1 \ -d amount=500 {"status": "DONE", "response": {"balance": 1100.0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/customer/balance</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> <!-- TITLE: Руководства разработчика --> <!-- SUBTITLE: Описание функций API --> Для общего описания протокола перейдите на страницу: [Описание протокола API...](/developer/api/description) <!-- # Список доступных функций * [Версия API](#get_version) (<a href="#1.0.0">1.0.0</a>) * [Список изменений](#get_changeset) (<a href="#1.10.0">1.10.0</a>) * [Создать заказ](#post_order) (<a href="#1.0.0">1.0.0</a>) * [Расчёт предварительной стоимости](#pre_cost) (<a href="#1.12.0">1.12.0</a>) * [Получить информацию о заказе](#get_order) (<a href="#1.4.0">1.4.0</a>) * [Отменить заказ](#cancel_order) (<a href="#1.8.0">1.8.0</a>) * [Получение списка служб](#get_services) (<a href="#1.1.0">1.1.0</a>) * [Получение списка стоянок](#get_regions) (<a href="#1.7.0">1.7.0</a>) * [Получение стоянки по адресу](#get_region_by_address) (<a href="#1.5.0">1.5.0</a>) * [Получение стоянки по координате](#get_region_by_coord) (<a href="#1.6.0">1.6.0</a>) * [Получение списка тарифов](#get_rates) (<a href="#1.1.0">1.1.0</a>) * [Получение списка улиц и общественных мест](#get_streets) (<a href="#1.0.0">1.0.0</a>) * [Получение списка водителей](#get_drivers) (<a href="#1.2.0">1.2.0</a>) * [Получение координаты водителя по его позывному](#get_driver_by_code) (<a href="#1.3.0">1.3.0</a>) * [Количество бонусов клиента по номеру его телефона](#get_client_bonus_count) (<a href="#1.0.0">1.0.0</a>) * [Пополнение баланса водителя](#post_driver_balance) (<a href="#1.11.0">1.11.0</a>) * [Проверка баланса водителя](#get_driver_balance) (<a href="#1.11.0">1.11.0</a>) * [Пополнение баланса контрагента](#post_customer_balance) (<a href="#1.11.0">1.11.0</a>) * [Проверка баланса контрагента](#get_customer_balance) (<a href="#1.11.0">1.11.0</a>) * [Изменить статус заказа](#set_order_status) (<a href="#1.18.0">1.18.0</a>) * [Получить информацию о статусе заказа](#get_order_status) (<a href="#1.18.0">1.18.0</a>) * [Получить информацию о доп. услугах](#get_extras) (<a href="#1.18.0">1.18.0</a>) --> # Версия API <pre>$ curl -X GET -G http://scat-server/api/version {"status": "DONE", "response": {"version": "1.10.0"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/version</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Нет</td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "version": str // информация о версии (<a href="#1.0.0">1.0.0</a>) } </pre> # Список изменений <pre>$ curl -X GET -G http://scat-server/api/changeset {"status": "DONE", "changeset": [["1.0.0", "Базовый набор функций"]]} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/changeset</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Нет</td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "changeset": [ ["version", "changes"], ... ] // список изменений (<a href="#1.10.0">1.10.0</a>) } </pre> ### Список изменений <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>Версия</th> <th>Описание</th> </tr> <tr> <th id="1.0.0">1.0.0</th> <td>Базовый набор функций</td> </tr> <tr> <th id="1.0.1">1.0.1</th> <td>При получении списка улиц istartswith заменён на icontains</td> </tr> <tr> <th id="1.1.0">1.1.0</th> <td>Получаем список служб и тарифов</td> </tr> <tr> <th id="1.1.1">1.1.1</th> <td>Расширенная информация в списке тарифов</td> </tr> <tr> <th id="1.2.0">1.2.0</th> <td>Получаем список водителей</td> </tr> <tr> <th id="1.3.0">1.3.0</th> <td>Получаем координаты водителя по его позывному</td> </tr> <tr> <th id="1.3.1">1.3.1</th> <td>Возвращаем номер заказа при создании</td> </tr> <tr> <th id="1.4.0">1.4.0</th> <td>Получаем информацию о заказе</td> </tr> <tr> <th id="1.4.1">1.4.1</th> <td>Изменён формат ответа о координатах водителя</td> </tr> <tr> <th id="1.4.2">1.4.2</th> <td>Поле с номером заказа при создании переименовано с id на order_id</td> </tr> <tr> <th id="1.4.3">1.4.3</th> <td>Поле с номером заказа при создании заменено на uuid</td> </tr> <tr> <th id="1.4.4">1.4.4</th> <td>Добавлен необязательный параметр time при создании заказа</td> </tr> <tr> <th id="1.4.5">1.4.5</th> <td>Добавлен необязательный параметр driver_id при создании заказа</td> </tr> <tr> <th id="1.4.6">1.4.6</th> <td>Добавлен необязательный параметр pre_order_time при создании заказа</td> </tr> <tr> <th id="1.4.7">1.4.7</th> <td>Добавлены необязательные параметры lat, lon, region_id, amount при создании заказа</td> </tr> <tr> <th id="1.5.0">1.5.0</th> <td>Получаем стоянку по адресу</td> </tr> <tr> <th id="1.5.1">1.5.1</th> <td>Добавлен необязательный параметр moderation_required при создании заказа</td> </tr> <tr> <th id="1.6.0">1.6.0</th> <td>Получаем стоянку по координатам</td> </tr> <tr> <th id="1.7.0">1.7.0</th> <td>Получаем список стоянок</td> </tr> <tr> <th id="1.7.1">1.7.1</th> <td>Параметры dst, comment, appartment становятся необязательными при создании заказа</td> </tr> <tr> <th id="1.7.2">1.7.2</th> <td>Добавлены поля start_time, remaining_time, amount и rate_id в информацию о заказе</td> </tr> <tr> <th id="1.8.0">1.8.0</th> <td>Отменяем заказ</td> </tr> <tr> <th id="1.8.1">1.8.1</th> <td>В driver_id теперь возвращается позывной при получении информации о заказе</td> </tr> <tr> <th id="1.8.2">1.8.2</th> <td>Поля car_brand, car_color, car_model и car_number в информации о заказе</td> </tr> <tr> <th id="1.8.3">1.8.3</th> <td>Поле phone в списке водителей</td> </tr> <tr> <th id="1.9.0">1.9.0</th> <td>Отправка СМС</td> </tr> <tr> <th id="1.9.1">1.9.1</th> <td>Поля firstname и phone в информации о заказе</td> </tr> <tr> <th id="1.9.2">1.9.2</th> <td>Добавлен необязательный параметр need_notify при создании заказа</td> </tr> <tr> <th id="1.9.3">1.9.3</th> <td>Добавлены необязательные параметры dst_street и dst_house при создании заказа</td> </tr> <tr> <th id="1.10.0">1.10.0</th> <td>Получаем список изменений</td> </tr> <tr> <th id="1.11.0">1.11.0</th> <td>Получение и изменение баланса водителей и контрагентов</td> </tr> <tr> <th id="1.11.1">1.11.1</th> <td>Исправлено падение при создании заказа с ошибочным region_id</td> </tr> <tr> <th id="1.11.2">1.11.2</th> <td>Пустая строка с этой версии считается отсутствием аргумента и не передаётся в API функцию</td> </tr> <tr> <th id="1.12.0">1.12.0</th> <td>Функция для предварительного расчёта стоимости (по тарифной сетке)</td> </tr> <tr> <th id="1.12.1">1.12.1</th> <td>Для предварительного расчёта идентификатор службы теперь не обязателен (по-умолчанию первая служба)</td> </tr> <tr> <th id="1.12.2">1.12.2</th> <td>Исправлена работа с пустыми переданными аргументами</td> </tr> <tr> <th id="1.13.0">1.13.0</th> <td>При создании заказа, расчёте стоимости и в функциях определения стоянки учитывается город</td> </tr> <tr> <th id="1.13.1">1.13.1</th> <td>Добавлены необязательные параметры city_id, service_id при запросе списка водителей, стоянок</td> </tr> <tr> <th id="1.13.2">1.13.2</th> <td>При запросе списка служб можно указать city_id, иначе будут возвращены службы для всех городов</td> </tr> <tr> <th id="1.14.0">1.14.0</th> <td>Добавлен необязательный параметр city_id для списка улиц, изменён алгоритм поиска по паттерну</td> </tr> <tr> <th id="1.15.0">1.15.0</th> <td>Добавлен необязательный параметр city_id для списка тарифов</td> </tr> <tr> <th id="1.16.0">1.16.0</th> <td>Расширена информация по водителю (скорость, направление, номер заказа, стоянка)</td> </tr> <tr> <th id="1.16.1">1.16.1</th> <td>Не используем RPC при получении информации по отдельному водителю</td> </tr> <tr> <th id="1.17.0">1.17.0</th> <td>Дом указывать не обязательно, если вместо улицы передано название общественного места</td> </tr> <tr> <th id="1.17.1">1.17.1</th> <td>При создании заказа проверяется наличие номера телефона в чёрном списке</td> </tr> <tr> <th id="1.18.0">1.18.0</th> <td>Добавлена функция для получения и смены статуса внешнего заказа</td> </tr> <tr> <th id="1.18.1">1.18.1</th> <td>Добавлен необязательный параметр check для проверки статуса заказа в базе после изменения</td> </tr> <tr> <th id="1.19.0">1.19.0</th> <td>Расширена информация по водителю (город)</td> </tr> </tbody> </table> </div> # Создать заказ <pre>$ curl -X POST http://scat-server/api/order \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d phone=89012345678 \ -d street=Ленина \ -d house=11а \ -d appartment=42 \ -d dst="Пушкинская 268" \ -d moderation_required=no {"status": "DONE", "response": {"message": "Your order saved.", "uuid": "fc1d6f52-9aef-11e3-84ae-0015af9e1aa1"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>phone</b></td> <td>Номер телефона клиента</td> <td>Номер телефона, начинающийся с 8...</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td><b>street</b></td> <td>Название улицы/общественного места</td> <td>Название улицы/общественного места, включая префикс</td> <td><b>-</b></td> <td><a href="#1.17.0">1.17.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>street</b></td> <td>Название улицы</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>appartment</b></td> <td>Номер квартиры клиента</td> <td>Число</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>dst</b></td> <td>Точка назначения</td> <td>Адрес точки назначения в одну строку</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>comment</b></td> <td>Комментарий к заказу</td> <td>Любой текст</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.17.0">1.17.0</a></td> </tr> <tr> <td><b>appartment</b></td> <td>Номер квартиры клиента</td> <td>Число</td> <td><b>-</b></td> <td><a href="#1.7.1">1.7.1</a></td> </tr> <tr> <td><b>dst</b></td> <td>Точка назначения</td> <td>Адрес точки назначения в одну строку</td> <td><b>-</b></td> <td><a href="#1.7.1">1.7.1</a></td> </tr> <tr> <td><b>region_id</b></td> <td>Идентификатор стоянки</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>lon</b></td> <td>Координаты клиента: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>lat</b></td> <td>Координаты клиента: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>moderation_required</b></td> <td>Отправлять диспетчеру на модерацию</td> <td><b>yes</b>, <b>no</b></td> <td><b>yes</b></td> <td><a href="#1.5.1">1.5.1</a></td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td><b>1</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td><b>driver_id</b></td> <td>Идентификатор водителя</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr> <td><b>amount</b></td> <td>Стоимость заказа</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.4.7">1.4.7</a></td> </tr> <tr> <td><b>pre_order_time</b></td> <td>Время предварительного заказа</td> <td>Время и дата в формате <b>%Y-%m-%d %H:%M:%S</b></td> <td><b>-</b></td> <td><a href="#1.4.6">1.4.6</a></td> </tr> <tr> <td><b>comment</b></td> <td>Комментарий к заказу</td> <td>Любой текст</td> <td><b>-</b></td> <td><a href="#1.7.1">1.7.1</a></td> </tr> <tr> <td><b>need_notify</b></td> <td>Требуется оповещение клиента</td> <td><b>yes</b>, <b>no</b></td> <td><b>yes</b></td> <td><a href="#1.9.2">1.9.2</a></td> </tr> <tr> <td><b>dst_street</b></td> <td>Улица назначения</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.9.3">1.9.3</a></td> </tr> <tr> <td><b>dst_house</b></td> <td>Дом назначения</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.9.3">1.9.3</a></td> </tr> <tr> <td><b>dst_lat</b></td> <td>Координата адреса назначения: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> <tr> <td><b>dst_lon</b></td> <td>Координата адреса назначения: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> <tr> <td><b>way_points</b></td> <td>Промежуточные точки маршрута</td> <td>JSONArray</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> <tr> <td><b>extras</b></td> <td>Доп услуги</td> <td>Строка, разделенные запятыми доп. услуги вида extra_id*count или extra_id если кол-во=1</td> <td><b>-</b></td> <td><a href="#1.26.0">1.26.0</a></td> </tr> </tbody> </table> </div> ### Формат промежуточных точек Массив объектов содержащих поля: street (улица), house (дом), lat(широта), lon(долгота). Все элементы кроме street не обязательны Например <pre> [{"street": "Пулковская", "house": "78", "lat": 54.454554, "lon": 45.0990999}, {"street": "ТЦ Флагман", "lat": 45.56787, "lon": 45.39807}] </pre> ### Формат ответа <pre>{ <span style="text-decoration: line-through;">"id": int, // идентификатор заказа (<a href="#1.0.0">1.0.0</a>)</span> <span style="text-decoration: line-through;">"order_id": int, // идентификатор заказа (<a href="#1.4.2">1.4.2</a>)</span> "uuid": uuid, // внешний идентификатор заказа (<a href="#1.4.3">1.4.3</a>) "message": str // комментарий системы (<a href="#1.0.0">1.0.0</a>) } </pre> # Расчёт предварительной стоимости <pre>$ curl -X GET -G http://scat-server/api/order/pre_cost \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d src_street=Ленина \ -d src_house=11а \ -d dst_street=Кирова \ -d dst_house=18 {"status": "DONE", "response": {"amount": 100.0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order/pre_cost</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>src_street</b></td> <td>Название улицы</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>src_house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_street</b></td> <td>Улица назначения</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_house</b></td> <td>Дом назначения</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>src_lon</b></td> <td>Координаты клиента: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>src_lat</b></td> <td>Координаты клиента: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_lon</b></td> <td>Координаты точки назначения: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_lat</b></td> <td>Координаты точки назначения: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>src_region_id</b></td> <td>Идентификатор района клиента</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>dst_region_id</b></td> <td>Идентификатор района назначения</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.12.0">1.12.0</a></td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td>1</td> <td><a href="#1.12.1">1.12.1</a></td> </tr> <tr> <td><b>route_time</b></td> <td>Время в пути, в секундах</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.50.1">1.50.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "amount": string // стоимость заказа (<a href="#1.12.0">1.12.0</a>) "distance": float // дистанция маршрута "approximate": boolean // примерная стоимость - true. false - точная стоимость "token": string // код гарантированной стоимости. используется для создания заказа } </pre> # Получить информацию о заказе <pre>$ curl -X GET -G http://scat-server/api/order \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 {"status": "DONE", "response": {"status": 100, "message": "Заказ выполнен", "driver_id": "d1", "start_time": "2014-08-26 18:15:00", "remaining_time": "5", "amount": 150.00, "rate_id": 1}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.4.0">1.4.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ status: int, // код статуса заказа (<a href="#1.4.0">1.4.0</a>) message: str, // сообщение статуса заказа (<a href="#1.4.0">1.4.0</a>) <span style="text-decoration: line-through;">driver_id: str // идентификатор водителя (<a href="#1.4.0">1.4.0</a>)</span> driver_id: str // позывной (<a href="#1.8.1">1.8.1</a>) start_time: datetime/null, // время начала выполнения заказа (%Y-%m-%d %H:%M:%S) (<a href="#1.7.2">1.7.2</a>) remaining_time: int/null, // время подачи автомобиля (в минутах) (<a href="#1.7.2">1.7.2</a>) amount: float/null, // стоимость заказа (<a href="#1.7.2">1.7.2</a>) rate_id: int/null, // идентификатор тарифа (<a href="#1.7.2">1.7.2</a>) car_brand: str, // марка (<a href="#1.8.2">1.8.2</a>) car_model: str, // модель (<a href="#1.8.2">1.8.2</a>) car_color: str, // цвет (<a href="#1.8.2">1.8.2</a>) car_number: str // госномер (<a href="#1.8.2">1.8.2</a>) } </pre> # Отменить заказ <pre>$ curl -X POST http://scat-server/api/cancel_order \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 {"status": "DONE", "response": {"message": "Your order canceled."}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/cancel_order</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.8.0">1.8.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ message: str, // комментарий системы (<a href="#1.8.0">1.8.0</a>) } </pre> # Изменить статус заказа <pre>$ curl -X POST http://scat-server/api/order/status \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 \ -d code=7 {"status": "DONE", "response": {"code": 7, "name": "Клиент не выходит"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order/status</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.18.0">1.18.0</a></td> </tr> <tr> <td><b>code</b></td> <td>Код статуса заказа</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.18.0">1.18.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>check</b></td> <td>Проверить изменение статуса в базе перед ответом (медленно)</td> <td><b>yes</b>, <b>no</b></td> <td><b>no</b></td> <td><a href="#1.18.1">1.18.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ code: int, // код статуса заказа (<a href="#1.18.0">1.18.0</a>) name: str // наименование статуса (<a href="#1.18.0">1.18.0</a>) } </pre> # Получить статус заказа <pre>$ curl -X GET -G http://scat-server/api/order/status \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d uuid=fc1d6f52-9aef-11e3-84ae-0015af9e1aa1 {"status": "DONE", "response": {"code": 7, "name": "Клиент не выходит"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/order/status</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>uuid</b></td> <td>Уникальный идентификатор заказа, полученный при его создании</td> <td>uuid</td> <td><b>-</b></td> <td><a href="#1.18.0">1.18.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ code: int, // код статуса заказа (<a href="#1.18.0">1.18.0</a>) name: str // наименование статуса (<a href="#1.18.0">1.18.0</a>) } </pre> # Получение списка служб <pre>$ curl -X GET -G http://scat-server/api/services \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"services": [{"id": 1, "name": "Такси", "city_id": 1}, {"id": 2, "name": "Тест", "city_id": 1}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/services</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.13.2">1.13.2</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "services": [ { "id": int, // идентификатор службы (<a href="#1.1.0">1.1.0</a>) "name": str, // наименование службы (<a href="#1.1.0">1.1.0</a>) "city_id": int // идентификатор города, если не указан в запросе (<a href="#1.13.2">1.13.2</a>) }, // ... ] } </pre> # Получение списка стоянок <pre>$ curl -X GET -G http://scat-server/api/regions \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"regions": [{"id": 1, "name": "Центр"}, {"id": 2, "name": "Металлург"}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/services</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Нтуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Нтуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "regions": [ { "id": int, // идентификатор стоянки (<a href="#1.7.0">1.7.0</a>) "name": str // наименование стоянки (<a href="#1.7.0">1.7.0</a>) }, // ... ] } </pre> # Получение стоянки по адресу <pre>$ curl -X GET -G http://scat-server/api/region_by_address \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d street=Пушкинская \ -d house=268 {"status": "DONE", "response": {"id": 1, "name": "Центр"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/region_by_address</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>street</b></td> <td>Название улицы</td> <td>Название улицы, включая префикс</td> <td><b>-</b></td> <td><a href="#1.5.0">1.5.0</a></td> </tr> <tr> <td><b>house</b></td> <td>Номер дома клиента</td> <td>Номер дома, включая корпус и литеру</td> <td><b>-</b></td> <td><a href="#1.5.0">1.5.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "id": int, // идентификатор стоянки (<a href="#1.5.0">1.5.0</a>) "name": str // наименование стоянки (<a href="#1.5.0">1.5.0</a>) } </pre> # Получение стоянки по координате <pre>$ curl -X GET -G http://scat-server/api/region_by_coord \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d lon=12.345678 \ -d lat=87.654321 {"status": "DONE", "response": {"id": 1, "name": "Центр"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/region_by_coord</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>lon</b></td> <td>Координаты клиента: долгота</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.6.0">1.6.0</a></td> </tr> <tr> <td><b>lat</b></td> <td>Координаты клиента: широта</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.6.0">1.6.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "id": int, // идентификатор стоянки (<a href="#1.6.0">1.6.0</a>) "name": str // наименование стоянки (<a href="#1.6.0">1.6.0</a>) } </pre> # Получение списка тарифов <pre>$ curl -X GET -G http://scat-server/api/rates \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"rates": [{"id": 1, "name": "Эконом", "km_cost": "15.00", "km_start": 2, "stand_kost": "10.00", "free_wait_time": 5, "free_stand_time": 1, "start_hour": 18, "end_hour": 22, "city_id": 1}, {"id": 2, "name": "ВИП", "km_cost": "20.00", "km_start": 1, "stand_kost": "15.00", "free_wait_time": 10, "free_stand_time": 2, "start_hour": null, "end_hour": null, "city_id": 1}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/rates</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.15.0">1.15.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ rates: [ { id: int, // идентификатор (<a href="#1.1.0">1.1.0</a>) name: str, // наименование (<a href="#1.1.0">1.1.0</a>) km_cost: float, // стоимость километра (<a href="#1.1.1">1.1.1</a>) km_start: int, // сколько первых километров не считается (<a href="#1.1.1">1.1.1</a>) stand_cost: float, // стоимость стоянки (<a href="#1.1.1">1.1.1</a>) free_wait_time: int, // время бесплатного ожидания (<a href="#1.1.1">1.1.1</a>) free_stand_time: int, // сколько первых минут стоянки не считаются (<a href="#1.1.1">1.1.1</a>) start_hour: int/null, // время начала действия тарифа (<a href="#1.1.1">1.1.1</a>) end_hour: int/null, // время окончания действия тарифа (<a href="#1.1.1">1.1.1</a>) city_id: int // идентификатор города, если не указан в запросе (<a href="#1.15.0">1.15.0</a>) }, // ... ] } </pre> # Получение списка улиц и общественных мест <pre>$ curl -X GET -G http://scat-server/api/streets \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d pattern=киров {"status": "DONE", "response": {"streets": ["Кирова", "Парк им. Кирова"]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/streets</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr style="text-decoration: line-through;"> <td><b>pattern</b></td> <td>Начало имени для поиска</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> <tr style="text-decoration: line-through;"> <td><b>pattern</b></td> <td>Часть имени для поиска</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.0.1">1.0.1</a></td> </tr> <tr> <td><b>pattern</b></td> <td>Начало любого слова в наименовании для поиска без учёта регистра</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.14.0">1.14.0</a></td> </tr> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.14.0">1.14.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "streets": [ str, // название улицы/общественного места (<a href="#1.0.0">1.0.0</a>) // ... ] } </pre> # Получение списка водителей <pre>$ curl -X GET -G http://scat-server/api/drivers \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a {"status": "DONE", "response": {"drivers": [{"first_name": "Иван", "code": "001", "car_brand": "Ниссан", "car_model": "Альмера", "car_reg_num": "A476BO", "lon": "12.345678", "lat": "87.654321", "permit_number": "58567437900", "car_year": "1997", "phone": "89123456789", "id": 1}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/drivers</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> <tr> <td><b>city_id</b></td> <td>Идентификатор города</td> <td>Натуральное число</td> <td><b>-</b></td> <td><a href="#1.13.1">1.13.1</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "drivers": [ { id: int, // идентификатор водителя (<a href="#1.2.0">1.2.0</a>) first_name: str, // имя (<a href="#1.2.0">1.2.0</a>) code: str, // позывной (<a href="#1.2.0">1.2.0</a>) phone: str, // номер телефона (<a href="#1.8.3">1.8.3</a>) permit_number: str/null, // номер разрешения (<a href="#1.2.0">1.2.0</a>) lat: str, // широта (<a href="#1.2.0">1.2.0</a>) lon: str, // долгота (<a href="#1.2.0">1.2.0</a>) car_brand: str, // марка авто (<a href="#1.2.0">1.2.0</a>) car_model: str, // модель (<a href="#1.2.0">1.2.0</a>) car_reg_num: str, // гос.номер (<a href="#1.2.0">1.2.0</a>) car_year: str/null // год выпуска (<a href="#1.2.0">1.2.0</a>) }, // ... ] } </pre> # Получение координаты водителя по его позывному <pre>$ curl -X GET -G http://scat-server/api/drivers \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d code=001 {"status": "DONE", "response": {"bearing": 0, "region_id": 45, "city_id": 1, "lon": 53.273845, "order_id": null, "lat": 56.86814, "speed": 0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/drivers</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>code</b></td> <td>Позывной водителя</td> <td>Любая строка</td> <td><b>-</b></td> <td><a href="#1.3.0">1.3.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ <span style="text-decoration: line-through;">driver = { lat: str, lon: str } // координаты (<a href="#1.3.0">1.3.0</a>) lat: str, // широта (<a href="#1.4.1">1.4.1</a>) lon: str, // долгота (<a href="#1.4.1">1.4.1</a>)</span> lat: float, // широта (<a href="#1.16.0">1.16.0</a>) lon: float, // долгота (<a href="#1.16.0">1.16.0</a>) speed: float, // скорость (<a href="#1.16.0">1.16.0</a>) bearing: float, // направление (<a href="#1.16.0">1.16.0</a>) order_id: int/null, // идентификатор заказа (<a href="#1.16.0">1.16.0</a>) region_id: int/null, // идентификатор стоянки (<a href="#1.16.0">1.16.0</a>) city_id: int // идентификатор города (<a href="#1.19.0">1.19.0</a>) } </pre> # Количество бонусов клиента по номеру его телефона <pre>$ curl -X GET -G http://scat-server/api/client/bonus/count \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d phone=89012345678 {"status": "DONE", "response": {"bonus": 100, "phone": "89012345678"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/client/bonus/count</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>phone</b></td> <td>Номер телефона клиента</td> <td>Номер телефона, начинающийся с 8...</td> <td><b>-</b></td> <td><a href="#1.0.0">1.0.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "phone": str, // номер телефона клиента (<a href="#1.0.0">1.0.0</a>) "bonus": int // количество бонусов (<a href="#1.0.0">1.0.0</a>) } </pre> # Пополнение баланса водителя <pre>$ curl -X POST http://scat-server/api/driver/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d driver_code=001 \ -d txn_id=f782t32t23328r3r223r23t5y6h54r \ -d amount=500 {"status": "DONE", "response": {"balance": 1100.0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/driver/balance</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>driver_code</b></td> <td>Позывной водителя</td> <td>Строка</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>txn_id</b></td> <td>Номер транзакции</td> <td>Строка (>=30)</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>amount</b></td> <td>Сумма платежа</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float // баланс водителя после платежа (<a href="#1.11.0">1.11.0</a>) } </pre> # Проверка баланса водителя <pre>$ curl -X GET -G http://scat-server/api/driver/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d driver_code=001 {"status": "DONE", "response": {"balance": 1100.0, "firstname": "Иванов", "lastname": "Иван", "middlename": "Иванович"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/driver/balance</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>driver_code</b></td> <td>Позывной водителя</td> <td>Строка</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float, // баланс водителя (<a href="#1.11.0">1.11.0</a>) "firstname": str, // имя водителя (<a href="#1.11.0">1.11.0</a>) "lastname": str, // фамилия водителя (<a href="#1.11.0">1.11.0</a>) "middlename": str // отчество водителя (<a href="#1.11.0">1.11.0</a>) } </pre> # Пополнение баланса контрагента <pre>$ curl -X POST http://scat-server/api/customer/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d customer_id=1 \ -d amount=500 {"status": "DONE", "response": {"balance": 1100.0}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/customer/balance</td> </tr> <tr> <th>Метод запроса</th> <td>POST</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>customer_id</b></td> <td>Идентификатор контрагента</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>amount</b></td> <td>Сумма платежа</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float // баланс контрагента после платежа (<a href="#1.11.0">1.11.0</a>) } </pre> # Проверка баланса контрагента <pre>$ curl -X GET -G http://scat-server/api/customer/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d driver_code=001 {"status": "DONE", "response": {"balance": 1100.0, "name": "Иван"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/customer/balance</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>customer_id</b></td> <td>Идентификатор контрагента</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float, // баланс контрагента (<a href="#1.11.0">1.11.0</a>) "name": str // имя контрагента (<a href="#1.11.0">1.11.0</a>) } </pre> # Получение списка доп. услуг <pre>$ curl -X GET -G http://scat-server/api/extras \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d service_id=1 {"status": "DONE", "response": {"extras": [{"id": 1, "name": "Пустой багажник", "price": 100, "allow_multiple": false}, {....}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/extras</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>queue_id</b></td> <td>Идентификатор очереди заказов</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "extras": JSONArray, // баланс контрагента (<a href="#1.11.0">1.11.0</a>) } </pre> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>customer_id</b></td> <td>Идентификатор контрагента</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>amount</b></td> <td>Сумма платежа</td> <td>Число с плавающей точкой</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float // баланс контрагента после платежа (<a href="#1.11.0">1.11.0</a>) } </pre> # Проверка баланса контрагента <pre>$ curl -X GET -G http://scat-server/api/customer/balance \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d driver_code=001 {"status": "DONE", "response": {"balance": 1100.0, "name": "Иван"}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/customer/balance</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Обязательные параметры</td> </tr> <tr> <td><b>customer_id</b></td> <td>Идентификатор контрагента</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "balance": float, // баланс контрагента (<a href="#1.11.0">1.11.0</a>) "name": str // имя контрагента (<a href="#1.11.0">1.11.0</a>) } </pre> # Получение списка доп. услуг <pre>$ curl -X GET -G http://scat-server/api/extras \ -d api_key=0dcf277e-0317-4eef-9142-24b7a2b4788a \ -d service_id=1 {"status": "DONE", "response": {"extras": [{"id": 1, "name": "Пустой багажник", "price": 100, "allow_multiple": false}, {....}]}} </pre> <div class="table-responsive"> <table class="table table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <tbody> <tr> <th>URL</th> <td>/api/extras</td> </tr> <tr> <th>Метод запроса</th> <td>GET</td> </tr> <tr> <th>Требуется ключ</th> <td>Да</td> </tr> </tbody> </table> </div> <div class="table-responsive"> <table class="table table-striped table-bordered table-condensed"><colgroup><col class="col-xs-1"></colgroup> <thead> <tr> <th>Параметр</th> <th>Описание</th> <th>Допустимые значения</th> <th>Значение по-умолчанию</th> <th>Доступен с версии</th> </tr> </thead> <tbody> <tr> <td colspan="5">Необязательные параметры</td> </tr> <tr> <td><b>service_id</b></td> <td>Идентификатор службы</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> <tr> <td><b>queue_id</b></td> <td>Идентификатор очереди заказов</td> <td>Целое число</td> <td><b>-</b></td> <td><a href="#1.11.0">1.11.0</a></td> </tr> </tbody> </table> </div> ### Формат ответа <pre>{ "extras": JSONArray, // баланс контрагента (<a href="#1.11.0">1.11.0</a>) } </pre>