Руководство пользователя
Версия 7.5
×

API контрактов

В описании этой документации https://adm.pilot-gps.africa/  используется в качестве базового URL-адреса, вы можете использовать любой другой URL-адрес администратора.
 
Аутентификация
API использует токен для аутентификации. Чтобы аутентифицировать запросы, включите токен в Authorizationзаголовок в качестве токена-носителя.
Для авторизации используются логин и пароль, которые вы используете для админки.
Заголовок
 
Authorization: Bearer <your_token>
 
Пример заголовка авторизации curl
 
curl --location --request POST 'https://adm.pilot-gps.africa/backend/app/contracts.php' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_TOKEN' \
 
Конечные точки API
ПОСТ /contracts.php
Эта конечная точка позволяет вам управлять контрактами, выполняя различные операции, такие как остановка, запуск, обновление, аутентификация и создание токенов.
 
Параметры запроса.
Параметр
Тип
Необходимый
Описание
Сид
int
Required
Числовой идентификатор арендуемого автомобиля.
Пробег_лимит
int
Required
Числовой идентификатор договора аренды.
номерной знак
int
Required
Номер автомобиля.
string
Required
Имя водителя, арендующего транспортное средство.
водитель _ паспорт
string
Optional
Номер паспорта водителя, арендующего транспортное средство.
водитель _ телефон
string
Required
Телефон водителя, арендующего транспортное средство.
водитель _ адрес
string
Optional
Адрес водителя, арендующего транспортное средство.
водительское _ удостоверение
string
Optional
Номер водительского удостоверения.
водитель _ license_exp
string
Optional
Срок действия водительского удостоверения.
водитель _ электронная почта
string
Optional
Адрес электронной почты водителя, арендующего транспортное средство.
водитель _ дата_рождения
string
Optional
Дата рождения водителя, арендующего транспортное средство.
водитель _ пол
string
Optional
Пол водителя, арендующего транспортное средство (м — мужчина, ж — женщина).
водитель _ страна
string
Optional
Страна водителя, арендующего транспортное средство.
водитель _ рейтинг
int
Optional
Рейтинг водителя, арендующего транспортное средство.
ts_real
int
Optional
Фактическое время начала проката в формате временной метки Unix.
настоящий_чай
int
Optional
Фактическое время окончания аренды в формате временной метки Unix.
ts_expected
int
Required
Ожидаемое время начала проката в формате временной метки Unix.
te_expected
int
Required
Ожидаемое время окончания аренды в формате метки времени Unix.
start_location
object
Required
Место, где началась аренда. Объект с широтой, долготой или строкой адреса. Уточняйте в отделении.
end_location
object
Required
Место, где закончилась аренда. Объект с широтой, долготой или строкой адреса. Проверить ветку
Сид
string
Optional
Идентификатор клиента водителя, арендующего транспортное средство.
rate_code
string
Optional
Код тарифа для договора аренды.
car_group_charged
string
Optional
Группа автомобилей взимала плату за аренду.
пробег_лимит
int
Optional
Ограничение пробега по договору аренды.
 
Запрос параметров cmd.
Код
Описание
generate_token
Сгенерировать токен для заголовка авторизации в запросе
начинать
Начать аренду автомобиля
обновлять
Обновить арендованный автомобиль
останавливаться
Остановить аренду автомобиля
 
Ответ будет содержать следующие поля:
Поле
Тип
Описание
код
integer
Код ответа
odo
string
Значение одометра
сообщение
string
Сообщение
Коды ответов:
1
Автомобиль не найден
2
Нечего обновлять
3
Договор аренды не найден
4
Ошибка аутентификации
5
Неизвестная ошибка
6
Нет прав
7
Модуль контракта не активен
8
Этот номер Ra использовал другую учетную запись
9
Автомобиль в аренде другой аккаунт
10
Автомобиль не в аренде
11
Неверный запрос
12
Неверный параметр местоположения
13
Этот RA используется в другом агенте
14
Сдал паспорт, но не передал имя
15
Сдал имя, но не прошел паспорт
16
Драйвер не найден
17
Другой водитель
18
Не найден контракт с номером RA
19
Этот контракт уже закончился
20
Автомобиль уже арендован
21
Другой автомобиль
Пример ответа JSON.
{
    "code": 2,
    "odo": "1208607",
    "message": "Nothing to update"
}
Ошибки.
В случае ошибок API вернет 500код состояния вместе с сообщением JSON, содержащим строковое описание ошибки.
https://adm.pilot-gps.africa/resources/swagger-contracts.yml Здесь вы можете просмотреть API через файл swagger. В качестве интерфейса этот файл swager можно запустить например здесь: https://editor.swagger.io/?_ga=2.32283837.2078627632.1681127699-1612985961.1680523574
 
Примеры.
Авторизация.
Для авторизации нам необходимо сгенерировать токен, чтобы использовать его в дальнейшем в заголовке запроса . Подготовьте имя пользователя и пароль, которые вы используете для входа в панель администратора.
 
Пример авторизации.
curl --location --request GET 'https://adm.pilot-gps.africa/backend/app/contracts.php' \
--header 'Content-Type: application/json' \
--data-raw '{
    "cmd": "generate_token",
    "login": "YOUR LOGIN FOR ADMIN PANEL",
    "password": "YOUR PASSWORD FOR ADMIN PANEL"
}'
Ответ:
{
    "code": 0,
    "odo": "0",
    "message": "007898667a1b5711682399ea38a84f61"
}
 
В ответе на интересующую вас строку под ключом «сообщение» используйте эту строку как заголовок для последующих запросов.
Начать аренду.
Запрос:
curl --location --request POST 'https://adm.pilot-gps.africa/backend/app/contracts.php' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 0adc8ab35b7fc549155d28a872b2463f' \
--header 'Cookie: PHPSESSID=ksv22b2961qr3t5kpjuio2p6jh' \
--data-raw '{
    "cmd": "start", // required
    "mva": 111, // required
    "ra": 67890, // required
    "plate_number": "plateNumber", // required
    "driver_name": "John Doe", // required
    "driver_passport": "ABC123", // optional
    "driver_phone": "123-456-7890", // required
    "driver_address": "123 Main St", // optional
    "driver_license": "XYZ789", // optional
    "driver_license_exp": "2024-12-31", // optional
    "driver_email": "johndoe@example.com", // optional
    "driver_birth_date": "1985-01-01", // optional
    "driver_sex": "m", // optional
    "driver_country": "USA", // optional
    "driver_rating": 4, // optional
    "ts_real": 1644924000, // optional
    "ts_expected": 1644927600, // required
    "te_expected": 1644981600, // required
    "start_location": { // optional
        "lat": 40.712776,
        "lon": -74.005974
    },
    "cid": "C12345", // optional
    "rate_code": "R123", // optional
    "car_group_charged": "Economy", // required
    "checkout_branch": "ABC123", // optional
    "mileage_limit": 1000 // optional
}'
Ответ.
{
    "code": 0,
    "odo": "1233",
    "message": "Success"
}
Обновить аренду.
curl --location --request POST 'https://adm.pilot-gps.africa/backend/app/contracts.php' \
--header 'Authorization: Bearer 0adc8ab35b7fc549155d28a872b2463f' \
--header 'Content-Type: application/json' \
--header 'Cookie: PHPSESSID=ksv22b2961qr3t5kpjuio2p6jh' \
--data-raw '{
    "cmd": "update",  // required
    "mva": 111,  // optional
    "ra": 67890,  // required
    "plate_number": "plateNumber", // required
    "driver_name": "John Doe", // optional
    "driver_passport": "ABC123", // optional
    "driver_phone": "123-456-7890", // optional
    "driver_address": "123 Main St", // optional
    "driver_license": "XYZ789", // optional
    "driver_license_exp": "2024-12-31", // optional
    "driver_email": "johndoe@example.com", // optional
    "driver_birth_date": "1985-01-01", // optional
    "driver_sex": "m", // optional
    "driver_country": "USA", // optional
    "driver_rating": 2, // optional
    "ts_real": 1644924000, // optional
    "ts_expected": 1644927600, // optional
    "te_expected": 1644981600, // optional
    "start_location": { // optional
        "lat": 40.712776,
        "lon": -74.005974
    },
    "cid": "C123456", // optional
    "rate_code": "R123", // optional
    "car_group_charged": "Economy", // optional
    "checkout_branch": "ABC123", // optional
    "mileage_limit": 2000 // optional
}'
 
Отчет - Аренда обновления.
{
    "code": 0,
    "odo": "1208607",
    "message": "Success"
}
 
Остановить аренду.
Запрос:
curl --location --request POST 'https://adm.pilot-gps.africa/backend/app/contracts.php' \
--header 'Authorization: Bearer 0adc8ab35b7fc549155d28a872b2463f' \
--header 'Content-Type: application/json' \
--header 'Cookie: PHPSESSID=ksv22b2961qr3t5kpjuio2p6jh' \
--data-raw '{
    "cmd": "stop",  // required
    "ra": 67890,  // required
    "driver_rating": 4, // optional
    "end_location": { // optional
        "address": "Ilino 2c"
    }
}'
 
Ответ - Остановить ответ об аренде.
{
    "code": 0,
    "odo": "1208607",
    "message": "Success"
}