Обзор
Программный комплекс Rently.B4B представляет собой многофункциональную платформу-агрегатор, предназначенную для автоматизации процессов:
- поиска,
- сравнения,
- бронирования,
- и управления арендой автомобилей
через интерфейс программирования приложений (API) и административную панель.
Решение ориентировано на интеграцию с различными поставщиками (партнёрами) и обеспечивает унифицированный интерфейс для конечных пользователей и корпоративных клиентов.
Ключевые функции комплекса
- Управление локациями (страны, регионы, города, аэропорты)
- Управление пользователями (администраторы, менеджеры, клиенты)
- Интеграция с поставщиками автомобилей (API-подключения, условия аренды)
- Управление бронированиями (создание, изменение, отмена)
- Гибкая конфигурация поставщиков, комиссий, категорий авто и условий аренды
- Аутентификация и авторизация
- Ведение статистики и логирования
Технические требования
Для корректной интеграции с API программного комплекса Rently.B4B необходимо соблюдение следующих технических условий:
1. Поддержка HTTPS
Все запросы к API выполняются по защищённому протоколу https://
.
2. Формат обмена данными
- Все запросы и ответы используют формат JSON.
- Обязательные заголовки:
Content-Type: application/json
Accept: application/json
3. Поддержка HTTP-методов
Интеграционный клиент должен поддерживать следующие HTTP-методы:
GET
— получение информации;POST
— создание ресурса (поиск, бронирование, платеж и т. д.);DELETE
— удаление ресурса (отмена бронирования).
4. Стандарты форматов данных
- Формат даты:
YYYY-MM-DD
- Формат даты и времени:
YYYY-MM-DDTHH:MM:SS
(в UTC) - Строковые поля — не длиннее 255 символов
- Страны — в формате ISO 3166-1 alpha-2 (например:
"RU"
,"DE"
)
5. Обработка процесса поиска
После отправки запроса поиска (POST /v2/search), необходимо:
- Проверить статус через GET /v2/search/status/?hash={hash}
- Только после получения статуса completed запрашивать результаты через GET /v2/search/quotes?hash={hash}
6. Идентификаторы ресурсов
Ключевые действия выполняются с использованием uuid-идентификаторов:
hash
— идентификатор поискаquote_uuid
— идентификатор предложенияorder_uuid
— идентификатор заказа
Эти значения передаются в URL при получении информации или выполнении действий.
7. Обработка ошибок
API может возвращать следующие коды ответа:
400 Bad Request
— некорректные данные404 Not Found
— ресурс не найден422 Unprocessable Entity
— ошибка валидации500 Internal Server Error
— ошибка на сервере
Ответы содержат поле message
с описанием ошибки. Клиент должен обрабатывать эти случаи и при необходимости повторять запрос.
8. Webhook уведомления
Для получения уведомления о создании нового заказа необходимо реализовать собственный endpoint:
- Метод:
POST
- Название маршрута задаётся в настройках тарифного плана
- Формат данных:
application/json
9. Ограничения по скорости
Для некоторых методов API реализована защита от частых запросов. В связи с этим рекомендуется:
- Не превышать частоту отправки одинаковых запросов;
- Использовать экспоненциальную задержку (backoff) при получении ошибок 429 или 5xx.
10. Тестирование и отладка
Рекомендуется использовать Postman или OpenAPI спецификацию, предоставляемую вместе с документацией, для ручного тестирования интеграции.
11. Возможности интеграции
- Язык программирования: любой, поддерживающий HTTP и JSON (PHP, Python, JavaScript, Java, Ruby и др.);
- Для большинства запросов не требуется аутентификация.
Аутентификация
Чтобы аутентифицировать запросы, добавьте заголовок Authorization
со значением "Bearer {YOUR_AUTH_TOKEN}"
.
Все защищённые конечные точки помечены в документации ниже значком требуется аутентификация
.
API v1 (Legacy)
Поиск доступных локаций
Возвращает коллекцию доступных локаций на основе подстроки поиска из запроса.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/locations?s=%D0%94%D1%83%D0%B1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/locations"
);
const params = {
"s": "Дуб",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/locations';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
's' => 'Дуб',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/locations'
params = {
's': 'Дуб',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200):
{
"data": [
{
"id": 1,
"ico": "🛩️",
"title_ru": "Дубай, международный аэропорт",
"title_en": "Dubai International Airport",
"details_ru": "DXB, Дубай (ОАЭ)",
"details_en": "DXB, Dubai (UAE)",
"location_type": {
"id": 1,
"ico": "✈️",
"name_ru": "Аэропорты",
"name_en": "Airports",
"sort_order": 1,
"created_at": "2025-04-23T12:01:25.000000Z",
"updated_at": "2025-04-23T12:02:45.000000Z"
}
},
{
"id": 2,
"ico": "🌐",
"title_ru": "Дубай (все локации)",
"title_en": "Dubai (all locations)",
"details_ru": "Дубай, ОАЭ",
"details_en": "Dubai, UAE",
"location_type": {
"id": 4,
"ico": "🏙️",
"name_ru": "Все локации",
"name_en": "All locations",
"sort_order": 2,
"created_at": "2025-04-24T13:46:37.000000Z",
"updated_at": "2025-04-24T13:46:37.000000Z"
}
},
{
"id": 10,
"ico": "🛩️",
"title_ru": "Аль-Мактум, международный аэропорт",
"title_en": "Dubai World Central - Al Maktoum International Airport",
"details_ru": "DWC, Дубай (ОАЭ)",
"details_en": "DWC, Dubai (UAE)",
"location_type": {
"id": 1,
"ico": "✈️",
"name_ru": "Аэропорты",
"name_en": "Airports",
"sort_order": 1,
"created_at": "2025-04-23T12:01:25.000000Z",
"updated_at": "2025-04-23T12:02:45.000000Z"
}
},
{
"id": 32,
"ico": "🛩️",
"title_ru": "Дублин, международный аэропорт",
"title_en": "Dublin Airport",
"details_ru": "DUB, Дублин (Ирландия)",
"details_en": "DUB, Dublin (Ireland)",
"location_type": {
"id": 1,
"ico": "✈️",
"name_ru": "Аэропорты",
"name_en": "Airports",
"sort_order": 1,
"created_at": "2025-04-23T12:01:25.000000Z",
"updated_at": "2025-04-23T12:02:45.000000Z"
}
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Поиск ценовых предложений
Осуществляет поиск ценовых предложений на основе локаций и дат для получения/возврата автомобиля, а также информации об арендаторе. Возвращает hash строку, которая используется в последующих запросах для работы с результатами поиска.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"pick_up_id\": 16,
\"drop_off_id\": 16,
\"pick_up_date\": \"2025-05-22T10:00:00\",
\"drop_off_date\": \"2025-05-29T10:00:00\",
\"residence\": \"RU\",
\"age\": 30
}"
const url = new URL(
"https://admin.rently.travel/api/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"pick_up_id": 16,
"drop_off_id": 16,
"pick_up_date": "2025-05-22T10:00:00",
"drop_off_date": "2025-05-29T10:00:00",
"residence": "RU",
"age": 30
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/search';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'pick_up_id' => 16,
'drop_off_id' => 16,
'pick_up_date' => '2025-05-22T10:00:00',
'drop_off_date' => '2025-05-29T10:00:00',
'residence' => 'RU',
'age' => 30,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/search'
payload = {
"pick_up_id": 16,
"drop_off_id": 16,
"pick_up_date": "2025-05-22T10:00:00",
"drop_off_date": "2025-05-29T10:00:00",
"residence": "RU",
"age": 30
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": [
{
"hash": "5e630350-b62e-432e-bfba-cc2256db849b"
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Статус поиска
Получение информации о состоянии поиска ценовых предложений. Возвращает true, если поиск закончен.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/search-status/5e630350-b62e-432e-bfba-cc2256db849b" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/search-status/5e630350-b62e-432e-bfba-cc2256db849b"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/search-status/5e630350-b62e-432e-bfba-cc2256db849b';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/search-status/5e630350-b62e-432e-bfba-cc2256db849b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": [
{
"status": true
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Результаты поиска
Получение информации о результатах поиска. Возвращает массив найденных ценовых предложений.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": {
"id": 174,
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
"pick_up_id": 3,
"drop_off_id": 3,
"pick_up_date": "2025-05-29 10:00:00",
"drop_off_date": "2025-05-30 10:00:00",
"result": [
{
"partner": "hertz",
"pick_up_id": 142311,
"drop_off_id": 142311,
"results": [
{
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"vehicle": {
"name": "VOLKSWAGEN T CROSS 1.5 AUT",
"acriss": "CCAR",
"description": "COMPACT 2/4 DOORS,AUTOMATIC,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "automatic",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/b4597fbbcb2aa6605e632fbdf12baf34.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"advance_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T10:55:44+02:00"
},
"excesses": {
"CDW": {
"amount": 103428.17,
"currency": "RUB"
},
"THW": {
"amount": 103428.17,
"currency": "RUB"
}
}
},
"total_charge": 12212.26
},
]
}
],
"created_at": "2025-05-22T08:55:42.000000Z"
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Детали ценового предложения
Получение информации о деталях ценового предложения. Возвращает массив параметров для указанного ценового предложения.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b/cars/8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b/cars/8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b/cars/8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/search/5e630350-b62e-432e-bfba-cc2256db849b/cars/8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200):
{
{
"search": {
"id": 174,
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
"pick_up_id": 3,
"drop_off_id": 3,
"pick_up_date": "2025-05-29 10:00:00",
"drop_off_date": "2025-05-30 10:00:00",
"result": [
{
"partner": "hertz",
"pick_up_id": 142311,
"drop_off_id": 142311,
"results": [
{
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"vehicle": {
"name": "VOLKSWAGEN T CROSS 1.5 AUT",
"acriss": "CCAR",
"description": "COMPACT 2/4 DOORS,AUTOMATIC,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "automatic",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/b4597fbbcb2aa6605e632fbdf12baf34.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"advance_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T10:55:44+02:00"
},
"excesses": {
"CDW": {
"amount": 103428.17,
"currency": "RUB"
},
"THW": {
"amount": 103428.17,
"currency": "RUB"
}
}
},
"total_charge": 12212.26
},
{
"id": "8b502d20-36ea-11f0-afdf-517aef367613:f46b4a7d5ec0e41ebb07ac56df4587a7:d32646f36b25dc436f8a1985b5e4c5e2",
"vehicle": {
"name": "CITROEN C3 1.2",
"acriss": "ECMR",
"description": "ECONOMY 2/4 DOORS,MANUAL,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "manual",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/07d7d06dcb93f04591e96f962cf9e511.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 93.678754,
"currency": "EUR"
},
"advance_charge": {
"amount": 93.678754,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T10:55:44+02:00"
},
"excesses": {
"CDW": {
"amount": 94025.61,
"currency": "RUB"
},
"THW": {
"amount": 94025.61,
"currency": "RUB"
}
}
},
"total_charge": 8852.64
},
{
"id": "8b502d20-36ea-11f0-afdf-517aef367613:ba81b9bd19ee49d34468df80cd0929a3:26920db1a216614281a753a724517fa6",
"vehicle": {
"name": "VOLKSWAGEN POLO 1.0 AUT",
"acriss": "ECAR",
"description": "ECONOMY 2/4 DOORS,AUTOMATIC,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "automatic",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/1c00d9d3f572bc1e596e174790e3b6ed.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 114.91374,
"currency": "EUR"
},
"advance_charge": {
"amount": 114.91374,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T10:55:44+02:00"
},
"excesses": {
"CDW": {
"amount": 94025.61,
"currency": "RUB"
},
"THW": {
"amount": 94025.61,
"currency": "RUB"
}
}
},
"total_charge": 10859.35
},
{
"id": "8b502d20-36ea-11f0-afdf-517aef367613:6e2e6e9c629998bcb408ec50a0cfdca0:67c707e05eea4c1fe160ca74483615a8",
"vehicle": {
"name": "VOLKSWAGEN T CROSS 1.5",
"acriss": "CCMR",
"description": "COMPACT 2/4 DOORS,MANUAL, A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "manual",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/b2d15123775c2728cdcf3831b5e5b116.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 102.41592899999999,
"currency": "EUR"
},
"advance_charge": {
"amount": 102.41592899999999,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T10:55:44+02:00"
},
"excesses": {
"CDW": {
"amount": 103428.17,
"currency": "RUB"
},
"THW": {
"amount": 103428.17,
"currency": "RUB"
}
}
},
"total_charge": 9678.31
}
]
}
],
"created_at": "2025-05-22T08:55:42.000000Z"
},
"car": {
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"vehicle": {
"name": "VOLKSWAGEN T CROSS 1.5 AUT",
"acriss": "CCAR",
"description": "COMPACT 2/4 DOORS,AUTOMATIC,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "automatic",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/b4597fbbcb2aa6605e632fbdf12baf34.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"advance_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T10:55:44+02:00"
},
"excesses": {
"CDW": {
"amount": 103428.17,
"currency": "RUB"
},
"THW": {
"amount": 103428.17,
"currency": "RUB"
}
}
}
},
"additional_car": {
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"on_request": false,
"geo": {
"pick_up_location": {
"address": {
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
},
"geo": {
"properties": {
"location_type": "INTERMINAL"
},
"geometry": {
"coordinates": [
52.3081,
4.7619
]
}
}
},
"drop_off_location": {
"address": {
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
},
"geo": {
"properties": {
"location_type": "INTERMINAL",
"key_box": false
},
"geometry": {
"coordinates": [
52.3081,
4.7619
]
}
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"cancellation_policies": [
{
"amount": 0,
"currency": "EUR",
"end_date": "2025-05-27T10:00:00+02:00"
},
{
"amount": 129.230244,
"currency": "EUR",
"start_date": "2025-05-27T10:00:00+02:00"
}
],
"total_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"advance_charge": {
"amount": 129.230244,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T12:16:43+02:00"
},
"excesses": {
"CDW": {
"amount": 103428.17,
"currency": "RUB"
},
"THW": {
"amount": 103428.17,
"currency": "RUB"
}
}
},
"rental_terms": {
"language": "en",
"paragraph": [
{
"title": "Driver Age",
"text": [
"The minumum age of the driver is 19 years old.",
"For those drivers between 19 and 24 years old, a \"Young Driver fee\" will be applied.",
"The \"Young Driver fee\" is not included in the price of the car rental. This must be payed in local currency at the car rental office.",
"The maximum age of the driver is 70 years old."
]
},
{
"title": "Driving license",
"text": [
"When picking up the vehicle, the driver must show their own original driving license, which must be at least one-year old and currently valid.",
"A currently valid International Driving License (IDL) is required, in the event the driving license is not printed in Roman script (for example in Arabic, Greek, Russian, Chinese, etc.).",
"The International Driving License must be accompanied by the original driver's driving license."
]
},
{
"title": "ID card",
"text": [
"If the car rental is made in a country belonging to the European Union:",
"- A valid ID card for the country in which the car is rented, will be required.",
"- For the citizens of the countries NOT belonging to the European Union, besides an ID card, a currently valid passport will be required as well.",
"",
"If the car rental is made in a country NOT belonging to the European Union:",
"- A valid ID card for the country in which the car is rented, will be required.",
"- For those citizens NOT having the residence in the country where the car rental is made, besides an ID card, a currently valid passport will be required as well.",
"The documents must be the original ones, not deteriorated, readable and currently valid."
]
},
{
"title": "Inclusive insurances",
"text": [
"Collision Damage Waiver (CDW):",
"This protection will be applied to all the authorized drivers. It partially covers the potential damages to the vehicle and it is subjected to the terms of the car rental contract. Instead of the total cost, the driver will be responsible only for the first fraction, called deductible.",
"",
"Theft Protection (TP):",
"This protection limits driver's responsability for those costs arising from the theft or attempted theft, but it does not cover the loss of personal properties. The responsability will correspond to the amount of the deductible, which is subjected to the terms of the car rental contract.",
"",
"Third-party liability insurance:",
"This insurance covers the damages to third parties following an accident caused by the driver, excluding the rented car itself."
]
},
{
"title": "Road Assistance",
"text": [
"Road assistance is guaranteed 24/7 and it is included in the price.",
"In case Road assistance is needed as a result of a breakdown caused by the driver, the cost related to this will be charged to the driver himself."
]
},
{
"title": "Taxes included in the price",
"text": [
"Value Added Tax (VAT).",
"Airport/Railway Station Taxes."
]
},
{
"title": "Fuel Policy",
"text": [
"Full/Full:",
"The car will be given fully fuelled and it must be returned with the tank full of gas.",
"In case the driver does not return the car with the tank full of gas, the missing part of the fuel will be charged, plus a penal equal to the cost on Europcar's current list at the moment of the drop off."
]
},
{
"title": "Mileage",
"text": [
"Цена включает неограниченный пробег."
]
},
{
"title": "Crossing borders",
"text": [
"Crossing borders is NOT allowed."
]
},
{
"title": "Payment Methods",
"text": [
"When you pick up the car, you must bring with you a credit card in the name of the main driver with the name and the surname printed on it. This will be used to handle the deposit and the final payment.",
"",
"[Credit cards]",
"Credit cards accepted at the car rental desk: Visa, Mastercard, American Express, Diners.",
"The credit card must present the embossed numbers and the PIN code may be requested.",
"",
"The following cards WILL NOT be accepted: revolving cards, debit cards, prepaid cards of any type (ex. Postepay, PayPal), Visa Dankort cards, Chinese UnionPay, cash and/or checks.",
"",
"For safety reasons, the car rental company will ask you to show a currently valid ID card, which must be of the same nationality of the card used.",
"",
"Always check your credit card has sufficient credit at the moment of the pick-up. The authorized amount generally corresponds to the deductible/deposit and to the fuel, but it depends on the vehicle dimensions, the driver's age, the car rental agent, the car rental duration and the drop-off point.",
"In case the credit card is not valid, or there is no sufficient credit, the car rental agent can refuse to give you the car. In these cases, no refeund is provided."
]
},
{
"title": "Deposit amount",
"text": [
"At the moment of the pick up of the car, you will be asked to deposit an amount as a guarantee. The amount will be blocked on the credit card in the name of the main driver. Cash, checks or any other types of card will NOT be accepted.",
"For the Premium and Luxury groups, the car rental company Europcar will ask two credit cards in the name of the main driver or one of the following cards: Visa (Gold or Platinum) Mastercard (Gold or Platinum) American Express (Platinum or Black Centurion) always in the name of the main driver.",
"This amount will be unblocked at the end of the car rental, where all the conditions are met.",
"The amount will be blocked on the credit card in the name of the main driver, through a pre-authorization request. The amount of the deposit will be equal to € 300.00 (or £ 250.00 or the equivalent in local currency of the country where the car rental is made) plus eventual extras o services purchased and not prepaid online."
]
},
{
"title": "Local Taxes",
"text": [
"The damages to the car will be charged by the car rental company at the moment of the drop off, as well as a local tax, which has to be added to the amount of the deductible withheld.",
"In case of tickets/fines, the driver will have to pay a local tax, which has to be added to the amount of the ticket/fine."
]
},
{
"title": "Pick up",
"text": [
"The vechicle must be picked up at the starting time agreed during the booking process.",
"After that time, the car rental company will not guarantee the availability of the car at the car rental station.",
"We invite you to always inform the car rental station in case of delay."
]
},
{
"title": "Drop off",
"text": [
"The rented car must be dropped off on the day and at the time agreed in the car rental contract.",
"In case of further delay, the car rental company must be informed and you can ask for the eventual additional costs.",
"No refund is provided in case the car is returned before the date agreed in the car rental contract.",
"",
"The vehicles are delivered externally and internally clean and they must be returned in the same condition. Otherwise the costs related to the washing of the vehicle will be proportionally charged."
]
},
{
"title": "Vehicle Group",
"text": [
"The vehicle in the image and the models on the list are the most commonly used by our car rental partners.",
"We cannot guarantee that brand and model of the vehicle will be the same of the vehicle viewed on our website.."
]
},
{
"title": "Voucher",
"text": [
"At the arrival at the car rental office, you will be asked to show the voucher.",
"Attention: Rentalup takes no responsability for any surcharges in the case, at the moment of the pick up, the voucher is not shown to the car rental agent. In these cases NO refund of the advance payment will be provided."
]
},
{
"title": "Extras",
"text": [
"Optional accessories and extras must be requested during the online booking process or directly at the desk of the car rental office. These are not included in the price of car rental and must be paid at the car rental desk.",
"The prices are directly handled by the car rental company, which reserves its right of modification without forewarning.",
"Optional accessories and special allocations are subject to availability, which can be confirmed only by the car rental station."
]
},
{
"title": "Out of hour surcharge",
"text": [
"For the pick-ups and drop-offs during the closing time of the car rental station, it is necessary to contact the car rental office beforehand. If the service is confirmed, this will involve the payment of a surcharge .",
"We invite you to always inform the car rental station in case of delay, so the staff can wait for your arrival."
]
},
{
"title": "Exchange rate",
"text": [
"All rates shown in EUR have been converted from the currency RUB; the exchange rate used is the one in effect on 2025-05-22 and is equivalent to 1 RUB = 0.0111 EUR.",
"All the payments that will be made at the counter will be paid in local currency. As a result of possible monetary fluctuations, these amounts could deviate from what is shown EUR during the booking phase."
]
}
]
},
"special_equipments": [
{
"equipment_type": "equipment",
"code": "CSB",
"name": "Child seat (1-3 years old)",
"amount": 1,
"total_price": {
"amount": 1409.44,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "equipment",
"code": "CSI",
"name": "Child seat (0-12 months)",
"amount": 1,
"total_price": {
"amount": 1409.44,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "equipment",
"code": "CST",
"name": "Child seat (4-7 years old)",
"amount": 1,
"total_price": {
"amount": 939.32,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
],
"services": [
{
"equipment_type": "service",
"code": "ADD",
"name": "Additional driver",
"amount": 1,
"total_price": {
"amount": 939.32,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "service",
"code": "YOU",
"name": "Young driver",
"amount": 1,
"total_price": {
"amount": 2350.64,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
],
"insurance": [
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "RSA",
"name": "greenway.RSA.name",
"description": "greenway.RSA.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 657.24,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "PREMIUM",
"name": "greenway.PREMIUM.name",
"description": "greenway.PREMIUM.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 3102.85,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "MEDIUM",
"name": "greenway.MEDIUM.name",
"description": "greenway.MEDIUM.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 2171.99,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
]
},
"total_charge": 12212.26
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Забронировать автомобиль
Осуществляет бронирование автомобиля на основе ценового предложения. Возвращает массив, который содержит информацию о сделанном бронировании.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/bookings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"search_id\": \"5e630350-b62e-432e-bfba-cc2256db849b\",
\"car_id\": \"8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9\",
\"name\": \"Иван\",
\"name_en\": \"Ivan\",
\"surname\": \"Иванов\",
\"surname_en\": \"Ivanov\",
\"birth_country\": \"RU\",
\"residence_city\": \"Москва\",
\"residence_country\": \"RU\",
\"residence_address\": \"ул. Тверская, д. 1\",
\"email\": \"example@mail.com\",
\"phone\": \"+79001234567\",
\"birth_date\": \"1990-01-01\"
}"
const url = new URL(
"https://admin.rently.travel/api/bookings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"search_id": "5e630350-b62e-432e-bfba-cc2256db849b",
"car_id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"name": "Иван",
"name_en": "Ivan",
"surname": "Иванов",
"surname_en": "Ivanov",
"birth_country": "RU",
"residence_city": "Москва",
"residence_country": "RU",
"residence_address": "ул. Тверская, д. 1",
"email": "example@mail.com",
"phone": "+79001234567",
"birth_date": "1990-01-01"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/bookings';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'search_id' => '5e630350-b62e-432e-bfba-cc2256db849b',
'car_id' => '8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9',
'name' => 'Иван',
'name_en' => 'Ivan',
'surname' => 'Иванов',
'surname_en' => 'Ivanov',
'birth_country' => 'RU',
'residence_city' => 'Москва',
'residence_country' => 'RU',
'residence_address' => 'ул. Тверская, д. 1',
'email' => 'example@mail.com',
'phone' => '+79001234567',
'birth_date' => '1990-01-01',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/bookings'
payload = {
"search_id": "5e630350-b62e-432e-bfba-cc2256db849b",
"car_id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"name": "Иван",
"name_en": "Ivan",
"surname": "Иванов",
"surname_en": "Ivanov",
"birth_country": "RU",
"residence_city": "Москва",
"residence_country": "RU",
"residence_address": "ул. Тверская, д. 1",
"email": "example@mail.com",
"phone": "+79001234567",
"birth_date": "1990-01-01"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": {
"id": 24,
"search_id": "5e630350-b62e-432e-bfba-cc2256db849b",
"car_id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"hash": "46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e",
"name": "Иван",
"name_en": "Ivan",
"surname": "Иванов",
"surname_en": "Ivanov",
"birth_country": "RU",
"residence_city": "Москва",
"residence_country": "RU",
"residence_address": "ул. Тверская, д. 1",
"email": "example@mail.com",
"phone": "+79001234567",
"birth_date": "1990-01-01",
"search": {
"App\\Http\\Resources\\Api\\SearchRequestResource": {
"id": 174,
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
"pick_up_id": 3,
"drop_off_id": 3,
"pick_up_date": "2025-05-29 10:00:00",
"drop_off_date": "2025-05-30 10:00:00",
"result": [
{
"partner": "hertz",
"pick_up_id": 142311,
"drop_off_id": 142311,
"results": [
{
"id": "bc4e1e20-36fc-11f0-b702-f13f2771c808:293589facc3afce32b26d3b8507d1578:7fd1712226cf3c05096e78a3619215ec",
"vehicle": {
"name": "VOLKSWAGEN T CROSS 1.5 AUT",
"acriss": "CCAR",
"description": "COMPACT 2/4 DOORS,AUTOMATIC,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "automatic",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/b4597fbbcb2aa6605e632fbdf12baf34.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 185.182432,
"currency": "EUR"
},
"advance_charge": {
"amount": 185.182432,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:05:57+02:00"
},
"excesses": {
"CDW": {
"amount": 103428.17,
"currency": "RUB"
},
"THW": {
"amount": 103428.17,
"currency": "RUB"
}
}
},
"total_charge": 18018.25
},
{
"id": "bc4e1e20-36fc-11f0-b702-f13f2771c808:afb30c89d7ee484692971253c2e8a0a7:ada461fdb17b979acb28cf0d43b12941",
"vehicle": {
"name": "VOLKSWAGEN T CROSS 1.5",
"acriss": "CCMR",
"description": "COMPACT 2/4 DOORS,MANUAL, A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "manual",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/b2d15123775c2728cdcf3831b5e5b116.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 142.494369,
"currency": "EUR"
},
"advance_charge": {
"amount": 142.494369,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:05:57+02:00"
},
"excesses": {
"CDW": {
"amount": 103428.17,
"currency": "RUB"
},
"THW": {
"amount": 103428.17,
"currency": "RUB"
}
}
},
"total_charge": 13864.7
},
{
"id": "bc4e1e20-36fc-11f0-b702-f13f2771c808:f8dfd0358b048bc075341dba37013b35:2863f184dfce177ffbb4082d7f6dd517",
"vehicle": {
"name": "RENAULT ARKANA 1.3",
"acriss": "IDAR",
"description": "INTERMEDIATE,4 DOORS,AUTO,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "automatic",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/e71260e0f855e16aeb7c94dcc612891b.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 204.44719300000003,
"currency": "EUR"
},
"advance_charge": {
"amount": 204.44719300000003,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:05:57+02:00"
},
"excesses": {
"CDW": {
"amount": 122233.29,
"currency": "RUB"
},
"THW": {
"amount": 122233.29,
"currency": "RUB"
}
}
},
"total_charge": 19892.71
},
{
"id": "bc4e1e20-36fc-11f0-b702-f13f2771c808:c5f08ca69b81da189f380075802060a3:a4151510eb896defa5d6cea582e4e4db",
"vehicle": {
"name": "VOLKSWAGEN POLO 1.0 AUT",
"acriss": "ECAR",
"description": "ECONOMY 2/4 DOORS,AUTOMATIC,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "automatic",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/1c00d9d3f572bc1e596e174790e3b6ed.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 167.040425,
"currency": "EUR"
},
"advance_charge": {
"amount": 167.040425,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:05:58+02:00"
},
"excesses": {
"CDW": {
"amount": 94025.61,
"currency": "RUB"
},
"THW": {
"amount": 94025.61,
"currency": "RUB"
}
}
},
"total_charge": 16253.03
},
{
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"vehicle": {
"name": "CITROEN C3 1.2",
"acriss": "ECMR",
"description": "ECONOMY 2/4 DOORS,MANUAL,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "manual",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/07d7d06dcb93f04591e96f962cf9e511.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"advance_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:05:58+02:00"
},
"excesses": {
"CDW": {
"amount": 94025.61,
"currency": "RUB"
},
"THW": {
"amount": 94025.61,
"currency": "RUB"
}
}
},
"total_charge": 12829.88
}
]
}
],
"created_at": "2025-05-22T11:05:53.000000Z"
}
},
"car": {
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"vehicle": {
"name": "CITROEN C3 1.2",
"acriss": "ECMR",
"description": "ECONOMY 2/4 DOORS,MANUAL,A/C",
"features": {
"airconditioning.feature.name": "1",
"transmission.feature.name": "manual",
"doorscount.feature.name": "5",
"seat.feature.name": "5"
},
"image": "https://cdn-partner.hertz.com/vehicles/52/07d7d06dcb93f04591e96f962cf9e511.jpeg"
},
"on_request": false,
"supplier_partner": {
"name": "Europcar",
"logo": "https://cdn-partner.hertz.com/partners/europcar.png"
},
"geo": {
"pick_up_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
},
"drop_off_location": {
"address": {
"airportIATA": "AMS",
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"total_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"advance_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:05:58+02:00"
},
"excesses": {
"CDW": {
"amount": 94025.61,
"currency": "RUB"
},
"THW": {
"amount": 94025.61,
"currency": "RUB"
}
}
}
},
"additional_car": {
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"on_request": false,
"geo": {
"pick_up_location": {
"address": {
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
},
"geo": {
"properties": {
"location_type": "INTERMINAL"
},
"geometry": {
"coordinates": [
52.3081,
4.7619
]
}
}
},
"drop_off_location": {
"address": {
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
},
"geo": {
"properties": {
"location_type": "INTERMINAL",
"key_box": false
},
"geometry": {
"coordinates": [
52.3081,
4.7619
]
}
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"cancellation_policies": [
{
"amount": 0,
"currency": "EUR",
"end_date": "2025-05-25T10:00:00+02:00"
},
{
"amount": 131.858953,
"currency": "EUR",
"start_date": "2025-05-25T10:00:00+02:00"
}
],
"total_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"advance_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:06:04+02:00"
},
"excesses": {
"CDW": {
"amount": 94025.61,
"currency": "RUB"
},
"THW": {
"amount": 94025.61,
"currency": "RUB"
}
}
},
"rental_terms": {
"language": "en",
"paragraph": [
{
"title": "Driver Age",
"text": [
"The minumum age of the driver is 19 years old.",
"For those drivers between 19 and 24 years old, a \"Young Driver fee\" will be applied.",
"The \"Young Driver fee\" is not included in the price of the car rental. This must be payed in local currency at the car rental office.",
"The maximum age of the driver is 70 years old."
]
},
{
"title": "Driving license",
"text": [
"When picking up the vehicle, the driver must show their own original driving license, which must be at least one-year old and currently valid.",
"A currently valid International Driving License (IDL) is required, in the event the driving license is not printed in Roman script (for example in Arabic, Greek, Russian, Chinese, etc.).",
"The International Driving License must be accompanied by the original driver's driving license."
]
},
{
"title": "ID card",
"text": [
"If the car rental is made in a country belonging to the European Union:",
"- A valid ID card for the country in which the car is rented, will be required.",
"- For the citizens of the countries NOT belonging to the European Union, besides an ID card, a currently valid passport will be required as well.",
"",
"If the car rental is made in a country NOT belonging to the European Union:",
"- A valid ID card for the country in which the car is rented, will be required.",
"- For those citizens NOT having the residence in the country where the car rental is made, besides an ID card, a currently valid passport will be required as well.",
"The documents must be the original ones, not deteriorated, readable and currently valid."
]
},
{
"title": "Inclusive insurances",
"text": [
"Collision Damage Waiver (CDW):",
"This protection will be applied to all the authorized drivers. It partially covers the potential damages to the vehicle and it is subjected to the terms of the car rental contract. Instead of the total cost, the driver will be responsible only for the first fraction, called deductible.",
"",
"Theft Protection (TP):",
"This protection limits driver's responsability for those costs arising from the theft or attempted theft, but it does not cover the loss of personal properties. The responsability will correspond to the amount of the deductible, which is subjected to the terms of the car rental contract.",
"",
"Third-party liability insurance:",
"This insurance covers the damages to third parties following an accident caused by the driver, excluding the rented car itself."
]
},
{
"title": "Road Assistance",
"text": [
"Road assistance is guaranteed 24/7 and it is included in the price.",
"In case Road assistance is needed as a result of a breakdown caused by the driver, the cost related to this will be charged to the driver himself."
]
},
{
"title": "Taxes included in the price",
"text": [
"Value Added Tax (VAT).",
"Airport/Railway Station Taxes."
]
},
{
"title": "Fuel Policy",
"text": [
"Full/Full:",
"The car will be given fully fuelled and it must be returned with the tank full of gas.",
"In case the driver does not return the car with the tank full of gas, the missing part of the fuel will be charged, plus a penal equal to the cost on Europcar's current list at the moment of the drop off."
]
},
{
"title": "Mileage",
"text": [
"Цена включает неограниченный пробег."
]
},
{
"title": "Crossing borders",
"text": [
"Crossing borders is NOT allowed."
]
},
{
"title": "Payment Methods",
"text": [
"When you pick up the car, you must bring with you a credit card in the name of the main driver with the name and the surname printed on it. This will be used to handle the deposit and the final payment.",
"",
"[Credit cards]",
"Credit cards accepted at the car rental desk: Visa, Mastercard, American Express, Diners.",
"The credit card must present the embossed numbers and the PIN code may be requested.",
"",
"The following cards WILL NOT be accepted: revolving cards, debit cards, prepaid cards of any type (ex. Postepay, PayPal), Visa Dankort cards, Chinese UnionPay, cash and/or checks.",
"",
"For safety reasons, the car rental company will ask you to show a currently valid ID card, which must be of the same nationality of the card used.",
"",
"Always check your credit card has sufficient credit at the moment of the pick-up. The authorized amount generally corresponds to the deductible/deposit and to the fuel, but it depends on the vehicle dimensions, the driver's age, the car rental agent, the car rental duration and the drop-off point.",
"In case the credit card is not valid, or there is no sufficient credit, the car rental agent can refuse to give you the car. In these cases, no refeund is provided."
]
},
{
"title": "Deposit amount",
"text": [
"At the moment of the pick up of the car, you will be asked to deposit an amount as a guarantee. The amount will be blocked on the credit card in the name of the main driver. Cash, checks or any other types of card will NOT be accepted.",
"For the Premium and Luxury groups, the car rental company Europcar will ask two credit cards in the name of the main driver or one of the following cards: Visa (Gold or Platinum) Mastercard (Gold or Platinum) American Express (Platinum or Black Centurion) always in the name of the main driver.",
"This amount will be unblocked at the end of the car rental, where all the conditions are met.",
"The amount will be blocked on the credit card in the name of the main driver, through a pre-authorization request. The amount of the deposit will be equal to € 300.00 (or £ 250.00 or the equivalent in local currency of the country where the car rental is made) plus eventual extras o services purchased and not prepaid online."
]
},
{
"title": "Local Taxes",
"text": [
"The damages to the car will be charged by the car rental company at the moment of the drop off, as well as a local tax, which has to be added to the amount of the deductible withheld.",
"In case of tickets/fines, the driver will have to pay a local tax, which has to be added to the amount of the ticket/fine."
]
},
{
"title": "Pick up",
"text": [
"The vechicle must be picked up at the starting time agreed during the booking process.",
"After that time, the car rental company will not guarantee the availability of the car at the car rental station.",
"We invite you to always inform the car rental station in case of delay."
]
},
{
"title": "Drop off",
"text": [
"The rented car must be dropped off on the day and at the time agreed in the car rental contract.",
"In case of further delay, the car rental company must be informed and you can ask for the eventual additional costs.",
"No refund is provided in case the car is returned before the date agreed in the car rental contract.",
"",
"The vehicles are delivered externally and internally clean and they must be returned in the same condition. Otherwise the costs related to the washing of the vehicle will be proportionally charged."
]
},
{
"title": "Vehicle Group",
"text": [
"The vehicle in the image and the models on the list are the most commonly used by our car rental partners.",
"We cannot guarantee that brand and model of the vehicle will be the same of the vehicle viewed on our website.."
]
},
{
"title": "Voucher",
"text": [
"At the arrival at the car rental office, you will be asked to show the voucher.",
"Attention: Rentalup takes no responsability for any surcharges in the case, at the moment of the pick up, the voucher is not shown to the car rental agent. In these cases NO refund of the advance payment will be provided."
]
},
{
"title": "Extras",
"text": [
"Optional accessories and extras must be requested during the online booking process or directly at the desk of the car rental office. These are not included in the price of car rental and must be paid at the car rental desk.",
"The prices are directly handled by the car rental company, which reserves its right of modification without forewarning.",
"Optional accessories and special allocations are subject to availability, which can be confirmed only by the car rental station."
]
},
{
"title": "Out of hour surcharge",
"text": [
"For the pick-ups and drop-offs during the closing time of the car rental station, it is necessary to contact the car rental office beforehand. If the service is confirmed, this will involve the payment of a surcharge .",
"We invite you to always inform the car rental station in case of delay, so the staff can wait for your arrival."
]
},
{
"title": "Exchange rate",
"text": [
"All rates shown in EUR have been converted from the currency RUB; the exchange rate used is the one in effect on 2025-05-22 and is equivalent to 1 RUB = 0.0111 EUR.",
"All the payments that will be made at the counter will be paid in local currency. As a result of possible monetary fluctuations, these amounts could deviate from what is shown EUR during the booking phase."
]
}
]
},
"special_equipments": [
{
"equipment_type": "equipment",
"code": "CSB",
"name": "Child seat (1-3 years old)",
"amount": 1,
"total_price": {
"amount": 1409.44,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "equipment",
"code": "CSI",
"name": "Child seat (0-12 months)",
"amount": 1,
"total_price": {
"amount": 1409.44,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "equipment",
"code": "CST",
"name": "Child seat (4-7 years old)",
"amount": 1,
"total_price": {
"amount": 939.32,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
],
"services": [
{
"equipment_type": "service",
"code": "ADD",
"name": "Additional driver",
"amount": 1,
"total_price": {
"amount": 939.32,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "service",
"code": "YOU",
"name": "Young driver",
"amount": 1,
"total_price": {
"amount": 2350.64,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
],
"insurance": [
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "RSA",
"name": "greenway.RSA.name",
"description": "greenway.RSA.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 657.24,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "PREMIUM",
"name": "greenway.PREMIUM.name",
"description": "greenway.PREMIUM.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 2999.42,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "MEDIUM",
"name": "greenway.MEDIUM.name",
"description": "greenway.MEDIUM.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 1965.14,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
]
},
"total_charge": 12829.88,
"details": {
"id": "8b502d20-36ea-11f0-afdf-517aef367613:3219917fd00f41e430bc90c32591bab8:2ed440265c5e4069749409dccff57ff9",
"on_request": false,
"geo": {
"pick_up_location": {
"address": {
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
},
"geo": {
"properties": {
"location_type": "INTERMINAL"
},
"geometry": {
"coordinates": [
52.3081,
4.7619
]
}
}
},
"drop_off_location": {
"address": {
"address_locality": "SCHIPHOL",
"street_address": "AMSTERDAM AIRPORT SCHIPHOL AANKOMSTPASSAGE 10"
},
"geo": {
"properties": {
"location_type": "INTERMINAL",
"key_box": false
},
"geometry": {
"coordinates": [
52.3081,
4.7619
]
}
}
}
},
"rental_rate": {
"rate_distance": {
"dist_unit_name": "km",
"unlimited": true,
"quantity": 0,
"vehicle_period_unit_name": "rentalperiod"
},
"fuel_policy": "fullfull",
"cancellation_policies": [
{
"amount": 0,
"currency": "EUR",
"end_date": "2025-05-25T10:00:00+02:00"
},
{
"amount": 131.858953,
"currency": "EUR",
"start_date": "2025-05-25T10:00:00+02:00"
}
],
"total_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"advance_charge": {
"amount": 131.858953,
"currency": "EUR"
},
"deposit_charge": {
"amount": 800,
"currency": "EUR",
"payments_accepted": [
{
"card": "CREDITCARD",
"card_code": "VISA"
},
{
"card": "CREDITCARD",
"card_code": "MASTERCARD"
},
{
"card": "CREDITCARD",
"card_code": "AMERICAN_EXPRESS"
}
]
},
"conversion_rate": {
"conversion_rate": 0.0111,
"from": "RUB",
"to": "EUR",
"conversion_time": "2025-05-22T13:06:04+02:00"
},
"excesses": {
"CDW": {
"amount": 94025.61,
"currency": "RUB"
},
"THW": {
"amount": 94025.61,
"currency": "RUB"
}
}
},
"rental_terms": {
"language": "en",
"paragraph": [
{
"title": "Driver Age",
"text": [
"The minumum age of the driver is 19 years old.",
"For those drivers between 19 and 24 years old, a \"Young Driver fee\" will be applied.",
"The \"Young Driver fee\" is not included in the price of the car rental. This must be payed in local currency at the car rental office.",
"The maximum age of the driver is 70 years old."
]
},
{
"title": "Driving license",
"text": [
"When picking up the vehicle, the driver must show their own original driving license, which must be at least one-year old and currently valid.",
"A currently valid International Driving License (IDL) is required, in the event the driving license is not printed in Roman script (for example in Arabic, Greek, Russian, Chinese, etc.).",
"The International Driving License must be accompanied by the original driver's driving license."
]
},
{
"title": "ID card",
"text": [
"If the car rental is made in a country belonging to the European Union:",
"- A valid ID card for the country in which the car is rented, will be required.",
"- For the citizens of the countries NOT belonging to the European Union, besides an ID card, a currently valid passport will be required as well.",
"",
"If the car rental is made in a country NOT belonging to the European Union:",
"- A valid ID card for the country in which the car is rented, will be required.",
"- For those citizens NOT having the residence in the country where the car rental is made, besides an ID card, a currently valid passport will be required as well.",
"The documents must be the original ones, not deteriorated, readable and currently valid."
]
},
{
"title": "Inclusive insurances",
"text": [
"Collision Damage Waiver (CDW):",
"This protection will be applied to all the authorized drivers. It partially covers the potential damages to the vehicle and it is subjected to the terms of the car rental contract. Instead of the total cost, the driver will be responsible only for the first fraction, called deductible.",
"",
"Theft Protection (TP):",
"This protection limits driver's responsability for those costs arising from the theft or attempted theft, but it does not cover the loss of personal properties. The responsability will correspond to the amount of the deductible, which is subjected to the terms of the car rental contract.",
"",
"Third-party liability insurance:",
"This insurance covers the damages to third parties following an accident caused by the driver, excluding the rented car itself."
]
},
{
"title": "Road Assistance",
"text": [
"Road assistance is guaranteed 24/7 and it is included in the price.",
"In case Road assistance is needed as a result of a breakdown caused by the driver, the cost related to this will be charged to the driver himself."
]
},
{
"title": "Taxes included in the price",
"text": [
"Value Added Tax (VAT).",
"Airport/Railway Station Taxes."
]
},
{
"title": "Fuel Policy",
"text": [
"Full/Full:",
"The car will be given fully fuelled and it must be returned with the tank full of gas.",
"In case the driver does not return the car with the tank full of gas, the missing part of the fuel will be charged, plus a penal equal to the cost on Europcar's current list at the moment of the drop off."
]
},
{
"title": "Mileage",
"text": [
"Цена включает неограниченный пробег."
]
},
{
"title": "Crossing borders",
"text": [
"Crossing borders is NOT allowed."
]
},
{
"title": "Payment Methods",
"text": [
"When you pick up the car, you must bring with you a credit card in the name of the main driver with the name and the surname printed on it. This will be used to handle the deposit and the final payment.",
"",
"[Credit cards]",
"Credit cards accepted at the car rental desk: Visa, Mastercard, American Express, Diners.",
"The credit card must present the embossed numbers and the PIN code may be requested.",
"",
"The following cards WILL NOT be accepted: revolving cards, debit cards, prepaid cards of any type (ex. Postepay, PayPal), Visa Dankort cards, Chinese UnionPay, cash and/or checks.",
"",
"For safety reasons, the car rental company will ask you to show a currently valid ID card, which must be of the same nationality of the card used.",
"",
"Always check your credit card has sufficient credit at the moment of the pick-up. The authorized amount generally corresponds to the deductible/deposit and to the fuel, but it depends on the vehicle dimensions, the driver's age, the car rental agent, the car rental duration and the drop-off point.",
"In case the credit card is not valid, or there is no sufficient credit, the car rental agent can refuse to give you the car. In these cases, no refeund is provided."
]
},
{
"title": "Deposit amount",
"text": [
"At the moment of the pick up of the car, you will be asked to deposit an amount as a guarantee. The amount will be blocked on the credit card in the name of the main driver. Cash, checks or any other types of card will NOT be accepted.",
"For the Premium and Luxury groups, the car rental company Europcar will ask two credit cards in the name of the main driver or one of the following cards: Visa (Gold or Platinum) Mastercard (Gold or Platinum) American Express (Platinum or Black Centurion) always in the name of the main driver.",
"This amount will be unblocked at the end of the car rental, where all the conditions are met.",
"The amount will be blocked on the credit card in the name of the main driver, through a pre-authorization request. The amount of the deposit will be equal to € 300.00 (or £ 250.00 or the equivalent in local currency of the country where the car rental is made) plus eventual extras o services purchased and not prepaid online."
]
},
{
"title": "Local Taxes",
"text": [
"The damages to the car will be charged by the car rental company at the moment of the drop off, as well as a local tax, which has to be added to the amount of the deductible withheld.",
"In case of tickets/fines, the driver will have to pay a local tax, which has to be added to the amount of the ticket/fine."
]
},
{
"title": "Pick up",
"text": [
"The vechicle must be picked up at the starting time agreed during the booking process.",
"After that time, the car rental company will not guarantee the availability of the car at the car rental station.",
"We invite you to always inform the car rental station in case of delay."
]
},
{
"title": "Drop off",
"text": [
"The rented car must be dropped off on the day and at the time agreed in the car rental contract.",
"In case of further delay, the car rental company must be informed and you can ask for the eventual additional costs.",
"No refund is provided in case the car is returned before the date agreed in the car rental contract.",
"",
"The vehicles are delivered externally and internally clean and they must be returned in the same condition. Otherwise the costs related to the washing of the vehicle will be proportionally charged."
]
},
{
"title": "Vehicle Group",
"text": [
"The vehicle in the image and the models on the list are the most commonly used by our car rental partners.",
"We cannot guarantee that brand and model of the vehicle will be the same of the vehicle viewed on our website.."
]
},
{
"title": "Voucher",
"text": [
"At the arrival at the car rental office, you will be asked to show the voucher.",
"Attention: Rentalup takes no responsability for any surcharges in the case, at the moment of the pick up, the voucher is not shown to the car rental agent. In these cases NO refund of the advance payment will be provided."
]
},
{
"title": "Extras",
"text": [
"Optional accessories and extras must be requested during the online booking process or directly at the desk of the car rental office. These are not included in the price of car rental and must be paid at the car rental desk.",
"The prices are directly handled by the car rental company, which reserves its right of modification without forewarning.",
"Optional accessories and special allocations are subject to availability, which can be confirmed only by the car rental station."
]
},
{
"title": "Out of hour surcharge",
"text": [
"For the pick-ups and drop-offs during the closing time of the car rental station, it is necessary to contact the car rental office beforehand. If the service is confirmed, this will involve the payment of a surcharge .",
"We invite you to always inform the car rental station in case of delay, so the staff can wait for your arrival."
]
},
{
"title": "Exchange rate",
"text": [
"All rates shown in EUR have been converted from the currency RUB; the exchange rate used is the one in effect on 2025-05-22 and is equivalent to 1 RUB = 0.0111 EUR.",
"All the payments that will be made at the counter will be paid in local currency. As a result of possible monetary fluctuations, these amounts could deviate from what is shown EUR during the booking phase."
]
}
]
},
"special_equipments": [
{
"equipment_type": "equipment",
"code": "CSB",
"name": "Child seat (1-3 years old)",
"amount": 1,
"total_price": {
"amount": 1409.44,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "equipment",
"code": "CSI",
"name": "Child seat (0-12 months)",
"amount": 1,
"total_price": {
"amount": 1409.44,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "equipment",
"code": "CST",
"name": "Child seat (4-7 years old)",
"amount": 1,
"total_price": {
"amount": 939.32,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
],
"services": [
{
"equipment_type": "service",
"code": "ADD",
"name": "Additional driver",
"amount": 1,
"total_price": {
"amount": 939.32,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"equipment_type": "service",
"code": "YOU",
"name": "Young driver",
"amount": 1,
"total_price": {
"amount": 2350.64,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
],
"insurance": [
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "RSA",
"name": "greenway.RSA.name",
"description": "greenway.RSA.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 657.24,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "PREMIUM",
"name": "greenway.PREMIUM.name",
"description": "greenway.PREMIUM.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 2999.42,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
},
{
"@type": "Partner\\entity\\equipment\\GenericSpecialEquipment",
"equipment_type": "insurance",
"code": "MEDIUM",
"name": "greenway.MEDIUM.name",
"description": "greenway.MEDIUM.description",
"day_price": 0,
"max_price": 0,
"amount": 1,
"max_amount": 0,
"total_price": {
"@type": "Partner\\entity\\Charge",
"amount": 1965.14,
"currency": "RUB"
},
"included_in_rate": false,
"tax_included": true
}
]
},
"paid_at": null,
"paid_log": null,
"cancel_amount": 0,
"is_refund": null,
"amount": 12829.88
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Информация о бронировании
Предоставляет информацию о существующем бронировании на основе hash, полученном при создании бронирования. Возвращает массив, аналогичный тому, что возвращается при создании бронирования.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (404):
Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
{
"message": "No query results for model [App\\Models\\Booking] 46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Ссылка для оплаты
Метод возвращает ссылку, по которой можно произвести оплату сделанного бронирования.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e/payments" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e/payments"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e/payments';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/bookings/46ll3MZwClcOWsnqAh27M2KtCI7ieAYO-682f05579757e/payments'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": [
{
"url": "https://securepayments.tinkoff.ru/P3ZblmWJ"
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Информация о бронировании
Предоставляет информацию о существующем бронировании на основе номера ваучера из бронирования. Возвращает массив, аналогичный тому, что возвращается при создании бронирования.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (500):
Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
{
"message": "Server Error"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Отмена бронирования
Осуществляет отмену существующего бронирования на основе номера ваучера из бронирования. Возвращает только код ответа.
Пример запроса:
curl --request DELETE \
"https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/exists-bookings/example@mail.com:A5ET18686201'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Регистрация пользователя
Создаёт нового пользователя в системе.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/registration" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"example@mail.com\",
\"password\": \"mY%Super_SeCret#PassWord!\"
}"
const url = new URL(
"https://admin.rently.travel/api/registration"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/registration';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'example@mail.com',
'password' => 'mY%Super_SeCret#PassWord!',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/registration'
payload = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": [
{
"status": true
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Аутентификация пользователя
Аутентифицирует существующего пользователя в системе. Возвращает аутентификационный токен.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/auth" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"example@mail.com\",
\"password\": \"mY%Super_SeCret#PassWord!\"
}"
const url = new URL(
"https://admin.rently.travel/api/auth"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/auth';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'example@mail.com',
'password' => 'mY%Super_SeCret#PassWord!',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/auth'
payload = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": [
{
"token": "1|X6qxyuDPCgoP3NhrPx1FJ5zNHskDcZ3XkIyeo9Ro"
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Подтверждение электронной почты
Подтверждает адрес электронной почты с помощью аутентификационного токена.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/email-verify" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/email-verify"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/email-verify';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/email-verify'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": [
{
"status": true
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Восстановление пароля
Отправляет пользователю на указанную электронную почту ссылку для восстановления забытого пароля. Возвращаемый результат отсутствует.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/forgot-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"example@email.com\"
}"
const url = new URL(
"https://admin.rently.travel/api/forgot-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "example@email.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/forgot-password';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'example@email.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/forgot-password'
payload = {
"email": "example@email.com"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Обновление пароля
Обновляет пароль существующего пользователя в системе на основании выданного ранее аутентификационного токена.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/reset-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"newpassword123\",
\"token\": \"1f7307c56e1b4a92be768cd1c5c5db79\"
}"
const url = new URL(
"https://admin.rently.travel/api/reset-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "newpassword123",
"token": "1f7307c56e1b4a92be768cd1c5c5db79"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/reset-password';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'password' => 'newpassword123',
'token' => '1f7307c56e1b4a92be768cd1c5c5db79',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/reset-password'
payload = {
"password": "newpassword123",
"token": "1f7307c56e1b4a92be768cd1c5c5db79"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": [
{
"status": true
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Профиль пользователя
Возвращает массив значений из профиля текущего аутентифицированного пользователя.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/profile" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/profile"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/profile';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/profile'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": [
{
"id": 117,
"email": "example@email.com",
"role": "user",
"first_name": "Иван",
"first_name_en": "Ivan",
"last_name": "Иванов",
"last_name_en": "Ivanov",
"city": "Москва",
"address": "ул. Тверская, д. 1",
"phone": "+79001234567",
"birthday": "1990-01-01",
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Обновление профиля пользователя
Обновляет данные в профиле текущего аутентифицированного пользователя. Возвращает обновлённый массив значений из профиля текущего аутентифицированного пользователя.
Пример запроса:
curl --request PATCH \
"https://admin.rently.travel/api/profile" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/profile"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/profile';
$response = $client->patch(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/profile'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PATCH', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": [
{
"id": 117,
"email": "example@email.com",
"role": "user",
"first_name": "Иван",
"first_name_en": "Ivan",
"last_name": "Иванов",
"last_name_en": "Ivanov",
"city": "Москва",
"address": "ул. Арбат, д. 12",
"phone": "+79001234567",
"birthday": "1990-05-15",
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Выход из системы
Завершает сессию пользователя, удаляя аутентификационный токен. Возвращаемый результат отсутствует.
Пример запроса:
curl --request DELETE \
"https://admin.rently.travel/api/logout" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/logout"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/logout';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/logout'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Список бронирований
Возвращает список бронирований текущего аутентифицированного пользователя.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/bookings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/bookings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/bookings';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/bookings'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": [
{
"id": 11,
"link_pathname": "/bookings/example@mail.com:A5ET18671575"
"partner_number": "A5ET18671575",
"pick_up_location": "Amsterdam Schiphol Aeroporto (AMS)",
"drop_off_location": "Amsterdam Schiphol Aeroporto (AMS)",
"period": {
"pick_up_date": "2025-06-25T10:00:00+02:00",
"drop_off_date": "2025-06-27T10:00:00+02:00"
},
"vehicle": {
"id": "e14454eb-e738-41fd-b76d-3f0cc879f3d3",
"name": "OPEL CORSA",
"acriss": "ECMR"
},
"is_refund": false,
"created_at": "2025-05-13 14:22:13"
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Пользователи
Требуется авторизация.
Регистрация пользователя
Создаёт нового пользователя в системе и отправляет письмо для подтверждения почты.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/registration" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"example@mail.com\",
\"password\": \"mY%Super_SeCret#PassWord!\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/registration"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/registration';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'example@mail.com',
'password' => 'mY%Super_SeCret#PassWord!',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/registration'
payload = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (201):
{
"data": {
"status": true
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Аутентификация пользователя
Вход в систему и получение токена авторизации.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/auth" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"example@mail.com\",
\"password\": \"mY%Super_SeCret#PassWord!\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/auth"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/auth';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'example@mail.com',
'password' => 'mY%Super_SeCret#PassWord!',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/auth'
payload = {
"email": "example@mail.com",
"password": "mY%Super_SeCret#PassWord!"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": {
"token": "1|sometokenstring123"
}
}
Пример ответа (403):
{
"errors": {
"email": [
"Подтвердите E-Mail адрес."
]
}
}
Пример ответа (403):
{
"errors": {
"email": [
"Аккаунт отключён администратором."
]
}
}
Пример ответа (422):
{
"errors": {
"email": [
"Некорректные данные."
]
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Подтверждение электронной почты
Подтверждает адрес электронной почты на основе полученного токена.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/verify" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"qMF8XUvHSIhf\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/verify"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "qMF8XUvHSIhf"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/verify';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'token' => 'qMF8XUvHSIhf',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/verify'
payload = {
"token": "qMF8XUvHSIhf"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": {
"status": true
}
}
Пример ответа (400):
{
"status": false,
"message": "Указанная электронная почта уже подтверждена."
}
Пример ответа (404):
{
"status": false,
"message": "Указан неверный или просроченный токен."
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Смена пароля
requires authentication
Меняет пароль авторизованного пользователя на новый.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/change" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"My$New%SuPer&SecrET@Pa$$w0Rd27\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/change"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "My$New%SuPer&SecrET@Pa$$w0Rd27"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/change';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'password' => 'My$New%SuPer&SecrET@Pa$$w0Rd27',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/change'
payload = {
"password": "My$New%SuPer&SecrET@Pa$$w0Rd27"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": {
"status": true
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Восстановление пароля
Отправляет ссылку для сброса пароля на email, если пользователь найден и он не заблокирован.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/forgot" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"example@email.com\",
\"reset_url\": \"https:\\/\\/frontend.example.com\\/reset?token={token}\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/forgot"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "example@email.com",
"reset_url": "https:\/\/frontend.example.com\/reset?token={token}"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/forgot';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'example@email.com',
'reset_url' => 'https://frontend.example.com/reset?token={token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/forgot'
payload = {
"email": "example@email.com",
"reset_url": "https:\/\/frontend.example.com\/reset?token={token}"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (204):
Пустой ответ
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Сброс пароля
Обновляет пароль пользователя на основе переданного токена.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/reset" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"My$New%SuPer&SecrET@Pa$$w0Rd27\",
\"token\": \"3f2fdf4b-d933-4aab-9d5f-abcde1234567\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/reset"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "My$New%SuPer&SecrET@Pa$$w0Rd27",
"token": "3f2fdf4b-d933-4aab-9d5f-abcde1234567"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/reset';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'password' => 'My$New%SuPer&SecrET@Pa$$w0Rd27',
'token' => '3f2fdf4b-d933-4aab-9d5f-abcde1234567',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/reset'
payload = {
"password": "My$New%SuPer&SecrET@Pa$$w0Rd27",
"token": "3f2fdf4b-d933-4aab-9d5f-abcde1234567"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": {
"status": true
}
}
Пример ответа (403):
{
"status": false,
"message": "Аккаунт отключен администратором."
}
Пример ответа (404):
{
"status": false,
"message": "Указан неверный или просроченный токен."
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Выход из системы
requires authentication
Удаляет текущий токен доступа пользователя.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/logout" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/logout';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/logout'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Пример ответа (200):
{
"data": {
"status": true
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Профиль
Профиль пользователя
requires authentication
Возвращает информацию о текущем аутентифицированном пользователе.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/profile';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/profile'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200):
{
"data":
{
"email": "example@email.com",
"role": "partner_manager",
"first_name": "Иван",
"first_name_en": "Ivan",
"last_name": "Иванов",
"last_name_en": "Ivanov",
"city": "Москва",
"phone": "+79001234567",
"birthday": "1990-01-01",
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Ответ
Поля ответа
Обновление профиля
requires authentication
Обновляет данные в профиле текущего аутентифицированного пользователя. Возвращает обновлённый массив значений из профиля текущего аутентифицированного пользователя.
Пример запроса:
curl --request PATCH \
"https://admin.rently.travel/api/v2/profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"Иван\",
\"first_name_en\": \"Ivan\",
\"last_name\": \"Иванов\",
\"last_name_en\": \"Ivanov\",
\"city\": \"Москва\",
\"phone\": \"+79001234567\",
\"birthday\": \"1990-05-15\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "Иван",
"first_name_en": "Ivan",
"last_name": "Иванов",
"last_name_en": "Ivanov",
"city": "Москва",
"phone": "+79001234567",
"birthday": "1990-05-15"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/profile';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'first_name' => 'Иван',
'first_name_en' => 'Ivan',
'last_name' => 'Иванов',
'last_name_en' => 'Ivanov',
'city' => 'Москва',
'phone' => '+79001234567',
'birthday' => '1990-05-15',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/profile'
payload = {
"first_name": "Иван",
"first_name_en": "Ivan",
"last_name": "Иванов",
"last_name_en": "Ivanov",
"city": "Москва",
"phone": "+79001234567",
"birthday": "1990-05-15"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PATCH', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data":
{
"email": "example@email.com",
"role": "partner_manager",
"first_name": "Иван",
"first_name_en": "Ivan",
"last_name": "Иванов",
"last_name_en": "Ivanov",
"city": "Москва",
"phone": "+79001234567",
"birthday": "1990-01-01",
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Ответ
Поля ответа
API v2: Тарифы
Список тарифов
Возвращает список доступных тарифных планов (rate plans) для аутентифицированного сотрудника.
1) Если пользователь не аутентифицирован или аутентифицирован, но не является сотрудником партнёра, то возвращается тарифный план по умолчанию.
2) Если пользователь аутентифицирован, является сотрудником партнёра, но UUID не указан, то возвращается тарифный план по умолчанию.
3) Если пользователь аутентифицирован, является сотрудником и относится к тому партнёру, чей UUID он указывает, то возвращается список доступных этому сотруднику тарифных планов.
4) Если пользователь аутентифицирован, является сотрудником и указан UUID партнёра по умолчанию, то возвращается список доступных этому сотруднику тарифных планов.
5) Если пользователь аутентифицирован, является сотрудником, UUID указан, но либо UUID является неверным, либо пользователь не является сотрудником этого партнёра, то возвращается ошибка.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/rates?partner_uuid=9c1a16d4-1234-5678-90ab-cdef12345678" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/rates"
);
const params = {
"partner_uuid": "9c1a16d4-1234-5678-90ab-cdef12345678",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/rates';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'partner_uuid' => '9c1a16d4-1234-5678-90ab-cdef12345678',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/rates'
params = {
'partner_uuid': '9c1a16d4-1234-5678-90ab-cdef12345678',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": [
{
"uuid": "11111111-2222-3333-4444-555555555555",
"name": "Basic Plan",
"is_default": true
},
{
"uuid": "66666666-7777-8888-9999-000000000000",
"name": "Premium Plan",
"is_default": false
}
]
}
Пример ответа (403, Неправильный partner_uuid):
{
"message": "Access denied for this partner."
}
Пример ответа (404, Неправильный partner_uuid):
{
"message": "Partner not found."
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Локации
Поиск доступных локаций
Возвращает список локаций, подходящих под строку поиска.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/locations?sub=%D0%94%D1%83%D0%B1%D0%B0%D0%B9" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/locations"
);
const params = {
"sub": "Дубай",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/locations';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'sub' => 'Дубай',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/locations'
params = {
'sub': 'Дубай',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": [
{
"id": 2,
"ico": "🌐",
"title_ru": "Дубай (все локации)",
"title_en": "Dubai (all locations)",
"details_ru": "Дубай, ОАЭ",
"details_en": "Dubai, UAE",
"location_type": {
"ico": "🏙️",
"name_ru": "Все локации",
"name_en": "All locations",
"sort_order": 2
}
},
{
"id": 1,
"ico": "🛩️",
"title_ru": "Дубай, аэропорт",
"title_en": "Dubai International Airport",
"details_ru": "DXB, Дубай (ОАЭ)",
"details_en": "DXB, Dubai (UAE)",
"location_type": {
"ico": "✈️",
"name_ru": "Аэропорты",
"name_en": "Airports",
"sort_order": 1
}
},
{
"id": 10,
"ico": "🛩️",
"title_ru": "Аль-Мактум, аэропорт",
"title_en": "Dubai World Central - Al Maktoum International Airport",
"details_ru": "DWC, Дубай (ОАЭ)",
"details_en": "DWC, Dubai (UAE)",
"location_type": {
"ico": "✈️",
"name_ru": "Аэропорты",
"name_en": "Airports",
"sort_order": 1
}
},
{
"id": 181095,
"ico": "🏢",
"title_ru": "Бур Дубай, город",
"title_en": "Bur Dubai, city",
"details_ru": "Дубай, Объединённые Арабские Эмираты",
"details_en": "Dubai, United Arab Emirates",
"location_type": {
"ico": "🌆",
"name_ru": "Города",
"name_en": "Cities",
"sort_order": 3
}
}
]
}
Пример ответа (400):
{
"message": {
"ru": "Некорректные параметры запроса.",
"en": "Invalid request parameters."
}
}
Пример ответа (401):
{
"message": {
"ru": "Неавторизованный доступ.",
"en": "Unauthenticated access."
}
}
Пример ответа (403):
{
"message": {
"ru": "У вас нет прав для выполнения данного действия.",
"en": "You are not authorized to perform this action."
}
}
Пример ответа (404):
{
"message": {
"ru": "Ресурс не найден.",
"en": "Resource not found."
}
}
Пример ответа (422):
{
"message": "Переданы некорректные данные.",
"errors": {
"sub": [
"Подстрока sub обязательна для заполнения."
]
}
}
Пример ответа (500):
{
"message": {
"ru": "Внутренняя ошибка сервера. Пожалуйста, обратитесь в службу поддержки.",
"en": "Internal server error. Please contact support."
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Список типов локаций
Возвращает все доступные типы локаций с их идентификаторами, иконками и названиями на русском и английском языках.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/locations/types" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/locations/types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/locations/types';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/locations/types'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": [
{
"id": 1,
"ico": "✈️",
"name_ru": "Аэропорты",
"name_en": "Airports"
},
{
"id": 2,
"ico": "🏨",
"name_ru": "Отели",
"name_en": "Hotels"
},
{
"id": 3,
"ico": "📍",
"name_ru": "Места",
"name_en": "Places"
},
{
"id": 4,
"ico": "🏙️",
"name_ru": "Все локации",
"name_en": "All locations"
},
{
"id": 5,
"ico": "🌆",
"name_ru": "Города",
"name_en": "Cities"
}
]
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Список локаций
Возвращает все локации с поддержкой пагинации и фильтрации по типам (по полю id из запроса locations/types). Если параметр types не указан — вернутся все локации всех типов.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/locations/all?types%5B%5D[]=16&per_page=10&page=1389" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/locations/all"
);
const params = {
"types[][0]": "16",
"per_page": "10",
"page": "1389",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/locations/all';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'types[][0]' => '16',
'per_page' => '10',
'page' => '1389',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/locations/all'
params = {
'types[][0]': '16',
'per_page': '10',
'page': '1389',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": [
{
"id": 197657,
"ico": "🏢",
"title_ru": "Персан, город",
"title_en": "Persan, city",
"details_ru": "Иль-де-Франс, Франция",
"details_en": "Ile-de-France, France",
"location_type_id": 5
},
{
"id": 197658,
"ico": "🏢",
"title_ru": "Перруссон, город",
"title_en": "Perrusson, city",
"details_ru": "Центр — Долина Луары, Франция",
"details_en": "Centre, France",
"location_type_id": 5
},
{
"id": 197659,
"ico": "🏢",
"title_ru": "Перрос-Гирек, город",
"title_en": "Perros-Guirec, city",
"details_ru": "Бретань, Франция",
"details_en": "Brittany, France",
"location_type_id": 5
},
{
"id": 197661,
"ico": "🌐",
"title_ru": "Перриганы (все локации)",
"title_en": "Perrigny (all locations)",
"details_ru": "Бургундия — Франш-Конте, Франция",
"details_en": "Bourgogne-Franche-Comté, France",
"location_type_id": 4
},
{
"id": 197662,
"ico": "🏢",
"title_ru": "Перрингнье, город",
"title_en": "Perrignier, city",
"details_ru": "Овернь — Рона — Альпы, Франция",
"details_en": "Auvergne-Rhône-Alpes, France",
"location_type_id": 5
},
{
"id": 197663,
"ico": "🏢",
"title_ru": "Перрьес-сюр-Анделле, город",
"title_en": "Perriers-sur-Andelle, city",
"details_ru": "Нормандия, Франция",
"details_en": "Normandy, France",
"location_type_id": 5
},
{
"id": 197664,
"ico": "🌐",
"title_ru": "Перрёкс (все локации)",
"title_en": "Perreux (all locations)",
"details_ru": "Овернь — Рона — Альпы, Франция",
"details_en": "Auvergne-Rhône-Alpes, France",
"location_type_id": 4
},
{
"id": 197665,
"ico": "🏢",
"title_ru": "Перрецы-лес-Форжес, город",
"title_en": "Perrecy-les-Forges, city",
"details_ru": "Бургундия — Франш-Конте, Франция",
"details_en": "Bourgogne-Franche-Comté, France",
"location_type_id": 5
},
{
"id": 197666,
"ico": "🏢",
"title_ru": "Перпиньян, город",
"title_en": "Perpignan, city",
"details_ru": "Оккитания, Франция",
"details_en": "Occitanie, France",
"location_type_id": 5
},
{
"id": 197672,
"ico": "🏢",
"title_ru": "Пернес, город",
"title_en": "Pernes, city",
"details_ru": "О-де-Франс, Франция",
"details_en": "Hauts-de-France, France",
"location_type_id": 5
}
],
"meta": {
"current_page": 1389,
"per_page": 10,
"total": 63814,
"last_page": 6382
}
}
Пример ответа (422):
{
"message": "Validation failed.",
"errors": {
"types.0": [
"Значение поля types.0 отсутствует в списке разрешённых."
]
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Информация о локации
Возвращает список всех связанных с локацией стран, регионов, городов, аэропортов и их координаты.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/locations/2/details" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/locations/2/details"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/locations/2/details';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/locations/2/details'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": {
"country": [
{
"flag": "🇦🇪",
"code": "AE",
"name_ru": "Объединённые Арабские Эмираты",
"name_en": "United Arab Emirates"
}
],
"area": [
{
"name_ru": "Дубай",
"name_en": "Dubai"
}
],
"municipality": [
{
"name_ru": "Дубай",
"name_en": "Dubai"
}
],
"airport": [
{
"iata": "DXB",
"name_ru": "Дубай",
"name_en": "Dubai"
},
{
"iata": "DWC",
"name_ru": "Аль-Мактум",
"name_en": "Al Maktoum"
}
],
"coordinates": [
{
"latitude": "25.2581700",
"longitude": "55.3047200"
},
{
"latitude": "24.8978000",
"longitude": "55.1590500"
},
{
"latitude": "25.2533410",
"longitude": "55.3657060"
}
]
}
}
Пример ответа (404):
{
"message": {
"ru": "Ресурс не найден.",
"en": "Resource not found."
}
}
Пример ответа (500):
{
"message": {
"ru": "Внутренняя ошибка сервера. Пожалуйста, обратитесь в службу поддержки.",
"en": "Internal server error. Please contact support."
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Поиск
Поиск предложений
Осуществляет поиск ценовых предложений в соответствии с указанным тарифом на основе локаций и дат для получения/возврата автомобиля, а также информации об арендаторе. Возвращает уникальный hash-ключ, который используется в последующих запросах для получения результатов поиска.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"pickup_location_id\": 123,
\"dropoff_location_id\": 456,
\"pickup_date\": \"2025-07-10\",
\"pickup_time\": \"10:00\",
\"dropoff_date\": \"2025-07-20\",
\"dropoff_time\": \"15:00\",
\"residence\": \"RU\",
\"age\": 35,
\"rate_plan\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"pickup_location_id": 123,
"dropoff_location_id": 456,
"pickup_date": "2025-07-10",
"pickup_time": "10:00",
"dropoff_date": "2025-07-20",
"dropoff_time": "15:00",
"residence": "RU",
"age": 35,
"rate_plan": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/search';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'pickup_location_id' => 123,
'dropoff_location_id' => 456,
'pickup_date' => '2025-07-10',
'pickup_time' => '10:00',
'dropoff_date' => '2025-07-20',
'dropoff_time' => '15:00',
'residence' => 'RU',
'age' => 35,
'rate_plan' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/search'
payload = {
"pickup_location_id": 123,
"dropoff_location_id": 456,
"pickup_date": "2025-07-10",
"pickup_time": "10:00",
"dropoff_date": "2025-07-20",
"dropoff_time": "15:00",
"residence": "RU",
"age": 35,
"rate_plan": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": {
"hash": "5e630350-b62e-432e-bfba-cc2256db849b"
}
}
Пример ответа (403, Доступ к указанному тарифу запрещён):
{
"message": "У вас нет доступа к данному тарифному плану."
}
Пример ответа (404, Указанный тариф не найден):
{
"message": "Указанный тарифный план не найден."
}
Пример ответа (422, Ошибка валидации (например, неверный возраст или несуществующая локация)):
{
"message": "The given data was invalid.",
"errors": {
"age": [
"The age must be at least 18."
],
"pickup_location_id": [
"The selected pickup location id is invalid."
]
}
}
Пример ответа (500):
{
"message": {
"ru": "Внутренняя ошибка сервера. Пожалуйста, обратитесь в службу поддержки.",
"en": "Internal server error. Please contact support."
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Статус поиска
Получение информации о состоянии поиска ценовых предложений. Возвращает true, если поиск закончен. Если поиск не завершен, то возвращает false.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/search/status?hash=5e630350-b62e-432e-bfba-cc2256db849b" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/search/status"
);
const params = {
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/search/status';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'hash' => '5e630350-b62e-432e-bfba-cc2256db849b',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/search/status'
params = {
'hash': '5e630350-b62e-432e-bfba-cc2256db849b',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": {
"completed": true
}
}
Пример ответа (404):
{
"message": "Поиск с таким hash не найден."
}
Пример ответа (422):
{
"message": "Hash параметр обязателен."
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Список предложений
Возвращает список найденных ценовых предложений, связанных с указанным поисковым запросом.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/search/quotes?hash=5e630350-b62e-432e-bfba-cc2256db849b" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/search/quotes"
);
const params = {
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/search/quotes';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'hash' => '5e630350-b62e-432e-bfba-cc2256db849b',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/search/quotes'
params = {
'hash': '5e630350-b62e-432e-bfba-cc2256db849b',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": [
{
"quote_uuid": "541c33fd-8680-44ed-be4f-f061e020d49d",
"supplier_name": "Enterprise",
"supplier_logo": "https://cdn.rently.travel/partners/enterprise.png",
"vehicle_name": "FIAT PANDA",
"vehicle_image": "https://cdn.rently.travel/vehicles/114/77a718b172d2340835eca9dd6e778564.png",
"vehicle_acriss": "MDMR",
"vehicle_aircondition": true,
"vehicle_transmission": "manual",
"vehicle_doors": 4,
"vehicle_seats": 4,
"price_amount": 83697.34,
"price_currency": "RUB",
"deposit_amount": 1200,
"deposit_currency": "EUR",
"deposit_methods": [
{
"card": "credit_card",
"code": "american_express"
},
{
"card": "credit_card",
"code": "discover"
},
{
"card": "credit_card",
"code": "mastercard"
},
{
"card": "credit_card",
"code": "visa"
}
],
"pickup_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"dropoff_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"on_request": false,
"fuel_policy": "full_full",
"distance_unlimited": true
},
{
"quote_uuid": "18a99053-5b5d-4576-b15f-12912c260456",
"supplier_name": "Enterprise",
"supplier_logo": "https://cdn.rently.travel/partners/enterprise.png",
"vehicle_name": "OPEL CORSA",
"vehicle_image": "https://cdn.rently.travel/vehicles/114/58cd41724f013dfcf4b5e7371417c135.png",
"vehicle_acriss": "EDMR",
"vehicle_aircondition": true,
"vehicle_transmission": "manual",
"vehicle_doors": 4,
"vehicle_seats": 5,
"price_amount": 85669.17,
"price_currency": "RUB",
"deposit_amount": 1200,
"deposit_currency": "EUR",
"deposit_methods": [
{
"card": "credit_card",
"code": "american_express"
},
{
"card": "credit_card",
"code": "discover"
},
{
"card": "credit_card",
"code": "mastercard"
},
{
"card": "credit_card",
"code": "visa"
}
],
"pickup_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"dropoff_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"on_request": false,
"fuel_policy": "full_full",
"distance_unlimited": true
},
{
"quote_uuid": "d3bb2df4-c5d9-4b46-9a44-02add31ed62d",
"supplier_name": "Enterprise",
"supplier_logo": "https://cdn.rently.travel/partners/enterprise.png",
"vehicle_name": "VOLKSWAGEN GOLF",
"vehicle_image": "https://cdn.rently.travel/vehicles/114/3836d8fe7bb1a5ccd3df4be9460ffe7f.png",
"vehicle_acriss": "CDMR",
"vehicle_aircondition": true,
"vehicle_transmission": "manual",
"vehicle_doors": 4,
"vehicle_seats": 5,
"price_amount": 95198.36,
"price_currency": "RUB",
"deposit_amount": 1200,
"deposit_currency": "EUR",
"deposit_methods": [
{
"card": "credit_card",
"code": "american_express"
},
{
"card": "credit_card",
"code": "discover"
},
{
"card": "credit_card",
"code": "mastercard"
},
{
"card": "credit_card",
"code": "visa"
}
],
"pickup_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"dropoff_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"on_request": false,
"fuel_policy": "full_full",
"distance_unlimited": true
},
{
"quote_uuid": "4b91af8b-7653-40c2-b7a5-b752552d05b8",
"supplier_name": "Enterprise",
"supplier_logo": "https://cdn.rently.travel/partners/enterprise.png",
"vehicle_name": "MERCEDES CLASSE A",
"vehicle_image": "https://cdn.rently.travel/vehicles/125/8273b929ed38cec142ec543c9c90ca3e.png",
"vehicle_acriss": "IDMR",
"vehicle_aircondition": true,
"vehicle_transmission": "manual",
"vehicle_doors": 4,
"price_amount": 98484.09,
"price_currency": "RUB",
"deposit_amount": 1200,
"deposit_currency": "EUR",
"deposit_methods": [
{
"card": "credit_card",
"code": "american_express"
},
{
"card": "credit_card",
"code": "discover"
},
{
"card": "credit_card",
"code": "mastercard"
},
{
"card": "credit_card",
"code": "visa"
}
],
"pickup_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"dropoff_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"on_request": false,
"fuel_policy": "full_full",
"distance_unlimited": true
},
{
"quote_uuid": "755990cb-c94e-4684-a82d-3de6beab0ab7",
"supplier_name": "Enterprise",
"supplier_logo": "https://cdn.rently.travel/partners/enterprise.png",
"vehicle_name": "VOLKSWAGEN T-ROC",
"vehicle_image": "https://cdn.rently.travel/vehicles/114/28525bbd0c18e90be5f984073bc70c3e.png",
"vehicle_acriss": "IDAR",
"vehicle_aircondition": true,
"vehicle_transmission": "automatic",
"vehicle_doors": 4,
"vehicle_seats": 5,
"price_amount": 108341.28,
"price_currency": "RUB",
"deposit_amount": 1200,
"deposit_currency": "EUR",
"deposit_methods": [
{
"card": "credit_card",
"code": "american_express"
},
{
"card": "credit_card",
"code": "discover"
},
{
"card": "credit_card",
"code": "mastercard"
},
{
"card": "credit_card",
"code": "visa"
}
],
"pickup_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"dropoff_address": "FCO, FIUMICINO ROMA, FIUMICINO AIRPORT LEONARDO DA VINCI EPUA 2 TOWER",
"on_request": false,
"fuel_policy": "full_full",
"distance_unlimited": true
}
]
}
Пример ответа (404):
{
"message": "Поиск с таким hash не найден."
}
Пример ответа (422):
{
"message": "Hash параметр обязателен."
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Ответ
Поля ответа
Детали предложения
Получает детальную информацию по выбранному предложению.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/search/details?hash=5e630350-b62e-432e-bfba-cc2256db849b"e_uuid=dad38dc4-d340-473c-85f1-3bc7445ed827" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/search/details"
);
const params = {
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
"quote_uuid": "dad38dc4-d340-473c-85f1-3bc7445ed827",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/search/details';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'hash' => '5e630350-b62e-432e-bfba-cc2256db849b',
'quote_uuid' => 'dad38dc4-d340-473c-85f1-3bc7445ed827',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/search/details'
params = {
'hash': '5e630350-b62e-432e-bfba-cc2256db849b',
'quote_uuid': 'dad38dc4-d340-473c-85f1-3bc7445ed827',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": {
"quote_uuid": "dad38dc4-d340-473c-85f1-3bc7445ed827",
"supplier_name": "rentsmart24",
"supplier_logo": "https://cdn.rently.travel/partners/10f8ecf72c7dacf3a694ce4bc3dd86e4.png",
"vehicle_name": "Volkswagen Polo",
"vehicle_image": "https://cdn.rently.travel/vehicles/41/36633c7269f221e2fd6eb389bc878e5b.png",
"vehicle_acriss": "CDMR",
"vehicle_aircondition": true,
"vehicle_transmission": "manual",
"vehicle_doors": 5,
"vehicle_seats": 5,
"price_amount": 22572.99,
"price_currency": "RUB",
"deposit_amount": 650,
"deposit_currency": "EUR",
"deposit_methods": [
{
"card": "credit_card",
"code": "visa"
},
{
"card": "credit_card",
"code": "mastercard"
},
{
"card": "credit_card",
"code": "american_express"
}
],
"cancellation": [
{
"currency": "EUR",
"end_date": "2025-10-08T10:00:00+02:00"
},
{
"amount": 61.07,
"currency": "EUR",
"start_date": "2025-10-08T10:00:00+02:00",
"end_date": "2025-10-10T10:00:00+02:00"
},
{
"amount": 203.55,
"currency": "EUR",
"start_date": "2025-10-10T10:00:00+02:00"
}
],
"pickup_address": "FCO, Fiumicino, Via Portuense, 2385",
"pickup_instruction": "Navetta gratuita “ParkinGO”. Chiama il +39 3929443894 per richiedere la navetta; punto di ritrovo: Terminal 1, porta 5, area Partenze. // Free Shuttle Bus “ParkinGO”. Call +39 3929443894 to request the shuttle; meeting point: Terminal 1, door 5, Departure area.",
"pickup_location_type": "free_shuttle_bus",
"pickup_geo": [
41.77562959999999,
12.2455912
],
"dropoff_address": "FCO, Fiumicino, Via Portuense, 2385",
"dropoff_instruction": "Navetta gratuita “ParkinGO”. Chiama il +39 3929443894 per richiedere la navetta; punto di ritrovo: Terminal 1, porta 5, area Partenze. // Free Shuttle Bus “ParkinGO”. Call +39 3929443894 to request the shuttle; meeting point: Terminal 1, door 5, Departure area.",
"dropoff_location_type": "free_shuttle_bus",
"dropoff_geo": [
41.77562959999999,
12.2455912
],
"on_request": false,
"fuel_policy": "full_full",
"distance_unlimited": true,
"terms_and_conditions": {
"language": "en",
"paragraph": [
{
"title": "Driver age",
"text": [
"The minumum age of the driver is 19 years old.",
"For those drivers between 19 and 24 years old, a \"Young Driver\" extra charge equal to €12.00 a day will be applied, up to a maximum of €180.00 per rental.",
"",
"Vehicles belonging to the following categories are subject to exceptions:",
"- 7 and 9-seater vehicles: minimum age 21 years.",
"- Luxury and Extra Luxury vehicles: minimum age 25 years.",
"",
"The maximum age allowed of the driver is 74 years old.",
"For 75 year-old drivers and over a \"Senior Driver\" extra charge equal to €12.00 a day will be applied, up to a maximum of €180.00 per rental.",
"The \"Young Driver\" and the \"Senior Driver\" extra charge are not included in the price of the car rental. These must be payed in local currency at the car rental office."
]
},
{
"title": "Driving licence",
"text": [
"All drivers must show their original driving licence, issued at least 12 months previously and expiring after the rental period.",
"A currently valid International Driving Permit (IDP) is required if the national driver's licence is not in Roman script, for example in Arabic, Greek, Russian, Chinese, etc.",
"Furthermore, the International Driving Permit (IDP) will also be required of all drivers holding licences issued in non-EU countries who rent the vehicle in an EU member country.",
"The International Driving Permit (IDP) must be accompanied by the original national driver's driving licence.",
"The driving licence must be the original ones, not deteriorated, readable and currently valid.",
"Driving licence in digital format will NOT be accepted."
]
},
{
"title": "ID card/Passport",
"text": [
"A valid ID card for all the citizens of the countries of the European Union, will be required.",
"For all those citizens of a country NOT belonging to the European Union, besides an ID card, a currently valid passport will be required as well.",
"The documents must be the original ones, not deteriorated, readable and currently valid.",
"Documents in digital format will NOT be accepted."
]
},
{
"title": "Inclusive insurances",
"text": [
"Third-party liability insurance",
"This insurance covers the damages to third parties following an accident caused by the driver, excluding the rented car itself.",
"",
"[CDW] Collision Damage Waiver",
"This is a reduction of the customer's liability that partially covers the damage caused to the rented vehicle. Instead of the total cost, the driver will be responsible only for the first fraction, called deductible.",
"The reduction of the customer's liability will be applied up to a maximum chargeable amount specified in the rental agreement.",
"This reduction does not include damage to: glass, roof, underbody, wheels, interior and damage caused by acts of vandalism.",
"",
"[TLW] Theft/Fire Protection",
"This is a reduction of the customer's liability in the event of total/partial theft or fire up to a maximum chargeable amount specified in the rental agreement.",
"In the event of theft of the rented vehicle, if the vehicle keys are not returned, the customer will be fully liable for reimbursement of the total value of the vehicle.",
"This reduction does not include the loss of personal assets."
]
},
{
"title": "Road Assistance",
"text": [
"Road assistance is guaranteed 24/7.",
"In case road assistance is needed, the cost related to this will be charged to the customer himself."
]
},
{
"title": "Taxes included in the price",
"text": [
"Value Added Tax (VAT).",
"Airport/Railway Station Taxes."
]
},
{
"title": "Fuel and Recharging policy",
"text": [
"[Full-Full]",
"The vehicle will be given with a full tank of fuel and it must be returned with a full tank of fuel.",
"In case the customer does not return the vehicle with a full tank of fuel, the missing part of the fuel will be charged, as well as a surcharge relating the refuelling operations.",
"",
"[Electric vehicles]",
"The rental center will record the vehicle battery charge at the start of the rental.",
"Failure to return the vehicle in the same state of charge as at pick-up will result in a recharging surcharge per missing kW."
]
},
{
"title": "Mileage",
"text": [
"The rate includes unlimited mileage."
]
},
{
"title": "Territorial limits",
"text": [
"It is NOT permitted to drive the vehicle outside the national territory.",
"",
"Vehicles are NOT allowed to travel on ferries or any other means of transport."
]
},
{
"title": "Payment Methods",
"text": [
"When you pick up the car, you must bring with you a credit card in the name of the main driver with the name and the surname printed on it. This will be used to handle the deposit and the final payment.",
"[ATTENTION] The main driver must bring a physical credit card; credit card in digital format will NOT be accepted.",
"",
"[CREDIT cards]",
" Credit cards accepted at the car rental desk: Visa, Mastercard, American Express.",
" The credit card must have the embossed numbers, must be valid for at least 3 months from the end date of the rental and the PIN code may be required.",
"",
"The following payment methods WILL NOT be accepted: Diners Club credit cards; Revolving cards (credit or debit); debit cards; Bancomat cards (ex. Maestro, V-Pay, PagoBancomat); Prepaid/rechargeable and \"Electron\" cards of any type (ex. Postepay, PayPal, Viabuy); cards linked to a digital bank account (e.g. N26, Revolut); cards with the indication \"Electronic use only\"; virtual credit/debit cards; credit/debit cards in digital format; cards saved on mobile devices (smartphone, tablet, smartwatch, etc.); Visa Dankort, Discover, Cirrus, JCB, China UnionPay cards; NON-NOMINATIVE cards; cards NOT in the name of the main driver; Cash and/or checks.",
"",
"All data on the credit card, for security reasons, must be legible and not deteriorated to allow the rental company to verify its authenticity.",
"Always check your credit card has sufficient credit at the moment of the pick-up. The amount blocked usually corresponds to a lump sum (provided subsequently), but it depends on the vehicle dimensions, the driver's age, the car rental agent, the car rental duration and the drop-off point.",
"If a valid credit card is not physically presented, or there is no sufficient credit, the car rental agent can refuse to give you the car. In these cases, no refeund is provided."
]
},
{
"title": "Deposit amount",
"text": [
"[DAYTIME Hours]",
" At the moment of the pick up of the car, you will be asked to deposit an amount as a guarantee.",
" The amount will be handle ONLY with a credit card in the name of the main driver with the name and the surname printed on it.",
" [ATTENTION] The main driver must bring a physical credit card; credit card in digital format will NOT be accepted.",
"",
"[NIGHTTIME Hours]",
" If the vehicle is picked up between 20:00 and 08:00, it is mandatory to complete the \"Web Check-in\" procedure.",
" The customer will be contacted by the staff of the \"RentSmart24\" rental center. An email will be requested to send the \"Web Check-in\" procedure, through which the advance deposit of the security deposit can be made.",
" The security deposit can ONLY be managed with a credit card in the name of the main driver, with the name and the surname printed on it.",
" IMPORTANT INFORMATION:",
" - The advance security deposit must be paid, via the link, BEFORE 12:00 on the day of vehicle pickup. If this procedure is not completed, the rental center staff may refuse to hand over the vehicle. In such cases, no refunds will be issued.",
" - For security and customer identification reasons, the credit card used for the online payment (always in the name of the main driver) must match the one shown physically at the rental desk. Delegations, photocopies, or similar will not be accepted.",
"",
"For Luxury and Extra Luxury vehicles, the rental company \"RentSmart24\" will require two credit cards in the name of the main driver.",
"",
"A value of € 650.00 plus eventual extras or services purchased and not prepaid online will be blocked from the card.",
"This amount will be unblocked at the end of the car rental, where all the conditions are met.",
"",
"Depending on the vehicle group, the amount of the deductible in case of damages or theft, is between € 1000.00 and € 3000.00."
]
},
{
"title": "Local Taxes",
"text": [
"The damages to the car will be charged by the car rental company at the moment of the drop off, as well as a local tax, which has to be added to the amount of the deductible withheld.",
"In case of tickets/fines, the driver will have to pay a local tax, which has to be added to the amount of the ticket/fine."
]
},
{
"title": "Pick-up",
"text": [
"The vehicle must be picked up on the day and time confirmed during the booking process, with a maximum tolerance of 60 minutes from the indicated time. If the customer arrives beyond the allowed tolerance, the rental center will not guarantee the availability of the vehicle and the booking will be considered canceled without prior notice.",
"Please always inform the car rental station in case of delay."
]
},
{
"title": "Drop-off",
"text": [
"The rented vehicle must be returned by the date and time specified in the rental agreement. A grace period of 59 minutes beyond the agreed return time is allowed. If this grace period is exceeded, an additional charge will be applied by the car rental company.",
"No refund is provided in case the car is returned before the date agreed in the car rental contract.",
"In case the drop-off is made in a different car rental station from the pick up, a \"One way\" extra charge will be applied. This operation must be authorised beforehand by \"RentSmart24\".",
"",
"The vehicles are delivered externally and internally clean and they must be returned in the same condition. Otherwise the costs related to the washing of the vehicle will be proportionally charged."
]
},
{
"title": "Vehicle Group",
"text": [
"The vehicle in the image and the models on the list are the most commonly used by our car rental partners.",
"We cannot guarantee that brand and model of the vehicle will be the same of the vehicle viewed on our website."
]
},
{
"title": "Voucher",
"text": [
"At the arrival at the car rental office, you will be asked to show the voucher.",
"Attention: TinoRent takes no responsability for any surcharges in the case, at the moment of the pick up, the voucher is not shown to the car rental agent. In these cases no refund of the advance payment will be provided."
]
},
{
"title": "Extras",
"text": [
"Optional accessories and extras must be requested during the online booking process or directly at the desk of the car rental office. These are not included in the price of car rental.",
"The prices are directly handled by the car rental company, which reserves its right of modification without forewarning.",
"Optional accessories and special allocations are subject to availability, which can be confirmed only by the car rental station."
]
},
{
"title": "Night Surcharge",
"text": [
"If you pick up the vehicle between 23:00 and 07:00, the car rental company \"RentSmart24\" applies a surcharge of €75.00."
]
}
],
"pick_up_opening_hours": [
{
"opens": "00:00",
"closes": "23:59",
"dayOfWeek": "1"
},
{
"opens": "00:00",
"closes": "23:59",
"dayOfWeek": "2"
},
{
"opens": "00:00",
"closes": "23:59",
"dayOfWeek": "3"
},
{
"opens": "00:00",
"closes": "23:59",
"dayOfWeek": "4"
},
{
"opens": "00:00",
"closes": "23:59",
"dayOfWeek": "5"
},
{
"opens": "00:00",
"closes": "23:59",
"dayOfWeek": "6"
},
{
"opens": "00:00",
"closes": "23:59",
"dayOfWeek": "7"
}
]
},
"equipment": [
{
"equipment_type": "equipment",
"code": "10",
"name": "Child seat booster (18+kg)",
"description": "equipment.CSFT18KGP.description",
"amount": 0,
"total_price": {
"amount": 48,
"currency": "EUR"
},
"tax_included": true
},
{
"equipment_type": "equipment",
"code": "9",
"name": "Child seat (9-18kg)",
"description": "equipment.CSFT9KG18KG.description",
"amount": 0,
"total_price": {
"amount": 48,
"currency": "EUR"
},
"tax_included": true
}
],
"services": [
{
"equipment_type": "service",
"code": "4",
"name": "Young driver",
"description": "equipment.YOUNGDRIVER.description",
"amount": 0,
"total_price": {
"amount": 120,
"currency": "EUR"
},
"tax_included": true
},
{
"equipment_type": "service",
"code": "1",
"name": "Additional driver",
"description": "",
"amount": 0,
"total_price": {
"amount": 110,
"currency": "EUR"
},
"tax_included": true
}
],
"insurances": [],
"pickup_date": "2025-10-10",
"pickup_time": "10:00",
"dropoff_date": "2025-10-20",
"dropoff_time": "10:00"
}
}
Пример ответа (404, Поиск не найден):
{
"message": "Поиск с таким hash не найден."
}
Пример ответа (422, Ошибка валидации):
{
"message": "Параметры hash и quote_uuid обязательны."
}
Пример ответа (500, Внутренняя ошибка):
{
"message": "Ошибка получения деталей предложения."
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Ответ
Поля ответа
Перевод Terms & Conditions
Переводит Terms & Conditions поставщика на другой язык.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/search/terms?hash=5e630350-b62e-432e-bfba-cc2256db849b"e_uuid=dad38dc4-d340-473c-85f1-3bc7445ed827&target=ru&source=en" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/search/terms"
);
const params = {
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
"quote_uuid": "dad38dc4-d340-473c-85f1-3bc7445ed827",
"target": "ru",
"source": "en",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/search/terms';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'hash' => '5e630350-b62e-432e-bfba-cc2256db849b',
'quote_uuid' => 'dad38dc4-d340-473c-85f1-3bc7445ed827',
'target' => 'ru',
'source' => 'en',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/search/terms'
params = {
'hash': '5e630350-b62e-432e-bfba-cc2256db849b',
'quote_uuid': 'dad38dc4-d340-473c-85f1-3bc7445ed827',
'target': 'ru',
'source': 'en',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, Успешный ответ):
{
"data": {
"language": "ru",
"paragraph": [
{
"title": "Возраст водителя",
"text": [
"Минимальный возраст водителя - 21 год.",
"С водителей в возрасте от 21 до 22 лет взимается дополнительная плата за \"молодого водителя\" в размере 20,00 евро в день.",
"",
"Исключения для определенных групп транспортных средств:",
"• Группы B-MCMR, C-EDMR, M1-ECAR (например, Fiat Panda, Peugeot 208, Renault Clio или аналогичные): минимальный возраст - 19 лет.",
" С водителей в возрасте от 19 до 20 лет взимается дополнительная плата за \"Молодого водителя\" в размере 30,00 евро в день.",
"• Группы G-FVMR, GW-FVMD, H1-IFAR, HW-IFBR, N1-IDAR, NW-SDAR, U-FVAR, UW-FVAD (например, Ford Tourneo Custom, Jeep Renegade, MG HS, Peugeot 3008 или аналогичные): минимальный возраст - 25 лет.",
"",
"Максимальный возраст водителя составляет 80 лет."
]
},
{
"title": "Водительские права",
"text": [
"Все водители должны предъявить оригинал водительского удостоверения, выданного не менее чем за 12 месяцев до этого и срок действия которого истекает по истечении срока аренды.",
"",
"Исключения для определенных групп транспортных средств:",
"• Группы G-FVMR, GW-FVMD, H1-IFAR, HW-IFBR, J1-IFMR, JW-JGMD, N1-IDAR, NW-SDAR, U-FVAR, UW-FVAD (например, Ford Tourneo Custom, Jeep Renegade, Volkswagen Taigo, MG HS, Peugeot 3008 или аналогично): по крайней мере, 36 месяцами ранее.",
"",
"Если национальное водительское удостоверение написано не латиницей (например, арабским, китайским, японским шрифтом, кириллицей и т.д.) или было выдано в стране, не входящей в ЕС, которая не имеет международных соглашений со страной, в которой осуществляется аренда, наличие действительного международного водительского удостоверения (IDP) является обязательным. Водитель должен предъявить IDP вместе с оригиналом национального водительского удостоверения.",
"ВАЖНО: Арендатор несет ответственность за то, чтобы у него были необходимые документы для управления автомобилем в странах, отличных от страны его проживания.",
"Водительское удостоверение должно быть оригинальным, неповрежденным, разборчивым и действительным.",
"Цифровые водительские удостоверения приниматься не будут."
]
},
{
"title": "Удостоверение личности/паспорт",
"text": [
"Для всех граждан стран Европейского союза потребуется действительное удостоверение личности.",
"Для всех граждан стран, не входящих в Европейский союз, помимо удостоверения личности потребуется также действующий в настоящее время паспорт.",
"Документы должны быть оригинальными, не испорченными, разборчивыми и действительными.",
"Цифровые документы приниматься не будут."
]
},
{
"title": "Комплексное страхование",
"text": [
"Страхование гражданской ответственности перед третьими лицами",
"Эта страховка покрывает ущерб, причиненный третьим лицам в результате несчастного случая по вине водителя, за исключением самого арендованного автомобиля.",
"",
"[CDW] Отказ от возмещения ущерба при столкновении",
"Это уменьшение ответственности клиента, которое частично покрывает ущерб, причиненный арендованному транспортному средству. Вместо общей стоимости водитель будет нести ответственность только за первую часть, называемую франшизой.",
"Уменьшение ответственности клиента будет применяться в пределах максимальной суммы, подлежащей оплате, указанной в договоре аренды.",
"Эта скидка не включает повреждения стекол, крыши, днища кузова, колесных дисков, салона, а также повреждения, вызванные актами вандализма.",
"",
"[TLW] Защита от кражи/пожара",
"Это означает уменьшение ответственности клиента в случае полной/частичной кражи или пожара до максимальной суммы, подлежащей оплате, указанной в договоре аренды.",
"В случае кражи арендованного транспортного средства, если ключи от него не будут возвращены, клиент будет нести полную ответственность за возмещение общей стоимости транспортного средства.",
"Это сокращение не включает потерю личного имущества."
]
},
{
"title": "Дорожная помощь",
"text": [
"Дорожная помощь гарантирована в режиме 24/7.",
"В случае, если потребуется помощь на дороге, связанные с этим расходы будут оплачены самим клиентом."
]
},
{
"title": "Налоги включены в стоимость проживания",
"text": [
"Налог на добавленную стоимость (НДС).",
"Сборы в аэропорту/на железнодорожном вокзале."
]
},
{
"title": "Политика в отношении топлива и подзарядки",
"text": [
"[Полный-Полный]",
"Автомобиль будет предоставлен с полным баком топлива, и его необходимо вернуть с полным баком топлива.",
"В случае, если клиент не вернет транспортное средство с полным баком топлива, будет оплачена недостающая часть топлива, а также дополнительная плата, связанная с заправкой.",
"",
"[Электромобили]",
"На момент получения автомобиль будет доставлен с полностью заряженным аккумулятором (100%) и должен быть возвращен с тем же уровнем заряда (100%) или, в качестве альтернативы, с уровнем, зафиксированным на момент получения.",
"Если автомобиль будет возвращен с более низкой оплатой, чем при получении, в программе \"Сицилия на автомобиле\" будет применяться скидка в размере 15%. При превышении этого порога за каждый недостающий киловатт (кВт) будет взиматься дополнительная плата."
]
},
{
"title": "Пробег",
"text": [
"В стоимость проживания входит неограниченный пробег."
]
},
{
"title": "Территориальные границы",
"text": [
"Передвижение транспортных средств за пределами национальных границ разрешено исключительно в следующих странах:",
"• Андорра",
"• Австрия",
"• Бельгия",
"• Хорватия",
"• Дания",
"• Финляндия",
"• Франция",
"• Германия",
"• Ирландия",
"• Лихтенштейн",
"• Люксембург",
"• Нидерланды",
"• Норвегия",
"• Португалия",
"• Княжество Монако",
"• Республика Сан-Марино",
"• Словения",
"• Испания",
"• Швеция",
"• Швейцария",
"• Соединенное Королевство",
"• Город Ватикан",
"Если вы планируете выехать на автомобиле за пределы национальной территории, вы должны сообщить об этом сотрудникам \"Sicily by Car\" перед отправкой."
]
},
{
"title": "Способы оплаты",
"text": [
"При получении автомобиля необходимо будет предъявить кредитную карту на имя основного водителя для внесения залога и оплаты аренды.",
"[ВНИМАНИЕ] Основной водитель должен предъявить кредитную карту в физической форме; цифровая версия карты приниматься не будет.",
"",
"[КРЕДИТНЫЕ карты]",
" В пункте проката автомобилей принимаются кредитные карты Visa, Mastercard, American Express.",
" На кредитной карте должны быть указаны тисненые данные и цифры; также потребуется ввести PIN-код.",
"",
"К оплате НЕ принимаются следующие способы: Кредитные карты Diners Club; Возобновляемые карты; дебетовые карты (например, Mastercard Debit, Maestro, Visa Debit, V-Pay); Банковские карты (например, Bancomat). PagoBancomat); Предоплаченные/перезаряжаемые и \"электронные\" карты любого типа (например, Viabuy, PayPal, Green Dot, Postepay); карты, привязанные к цифровому банковскому счету (например, N26, Revolut); карты с пометкой \"Только для электронного использования\"; виртуальные кредитные/дебетовые карты; кредитные/дебетовые дебетовые карты карты в цифровом формате; карты, сохраненные на мобильных устройствах (смартфонах, планшетах, смарт-часах и т.д.); карты Visa Dankort, Discover, Cirrus, JCB, China UnionPay; НЕИМЕНОВАННЫЕ карты; карты НЕ на имя основного водителя; наличные и/или чеки.",
"",
"По соображениям безопасности вся информация на кредитной карте должна быть четкой и не поврежденной, чтобы прокатная компания могла проверить ее подлинность",
"Всегда следите за тем, чтобы на момент аренды на используемой кредитной карте было достаточно средств. Заблокированная сумма соответствует фиксированной сумме (указанной ниже), но может варьироваться в зависимости от размера транспортного средства, возраста водителя, продолжительности аренды и места получения транспортного средства.",
"Если не будет предъявлена действительная кредитная карта или если на карте недостаточно средств, продавец может отказать в передаче транспортного средства. В таких случаях возврат денежных средств не производится."
]
},
{
"title": "Сумма депозита",
"text": [
"При получении автомобиля потребуется внести залог в качестве гарантии.",
"Этой суммой можно распоряжаться только с помощью кредитной карты, оформленной на имя основного водителя.",
"[ВНИМАНИЕ] Основной водитель должен предъявить кредитную карту в физическом виде; цифровая версия карты приниматься не будет.",
"",
"Сумма в размере 200,00 евро плюс возможные дополнительные услуги, приобретенные онлайн без предоплаты, будут заблокированы с вашей карты.",
"Эта сумма будет разблокирована в конце срока аренды автомобиля, когда будут выполнены все условия.",
"",
"Применимая дополнительная плата в случае повреждения или угона транспортного средства составит до 1830,00 евро за ущерб и до 2440,00 евро за угон."
]
},
{
"title": "Местные налоги",
"text": [
"Ущерб, причиненный автомобилю, будет возмещен компанией по прокату автомобилей в момент сдачи, а также местным налогом, который должен быть добавлен к сумме удерживаемой франшизы.",
"В случае штрафов водителю придется заплатить местный налог, который должен быть добавлен к сумме штрафа."
]
},
{
"title": "Пикап",
"text": [
"Транспортное средство должно быть забрано в указанное при бронировании время; по истечении этого времени компания по прокату автомобилей не будет гарантировать наличие автомобиля на пункте проката, и бронирование будет считаться отмененным без предварительного уведомления.",
"Пожалуйста, всегда сообщайте об этом в пункт проката автомобилей в случае задержки."
]
},
{
"title": "Высадка",
"text": [
"Арендованное транспортное средство должно быть возвращено к дате и времени, указанным в договоре аренды. Допускается отсрочка возврата на 59 минут сверх оговоренного времени возврата. При превышении этого срока компания по прокату автомобилей взимает дополнительную плату.",
"Возврат денежных средств не производится, если автомобиль был возвращен до даты, оговоренной в договоре аренды автомобиля.",
"В случае, если пункт проката автомобилей отличается от пункта приема, взимается дополнительная плата \"В одну сторону\". Эта операция должна быть предварительно авторизована компанией \"Sicily by Car\".",
"[ВНИМАНИЕ] В случае аренды электромобиля транспортное средство должно быть возвращено, без каких-либо исключений или отступлений, в тот же офис \"Sicily by Car\", где оно было получено.",
"",
"Транспортные средства доставляются в чистоте снаружи и внутри и должны быть возвращены в том же состоянии. В противном случае расходы, связанные с мойкой транспортного средства, будут оплачены пропорционально.",
"",
"При аренде с возвратом автомобиля в нерабочее время данная услуга доступна исключительно в пунктах проката, оборудованных ящиками для ключей. При получении заказа клиент должен уточнить условия использования услуги. Договор аренды будет расторгнут представителем компании после повторного открытия филиала, и клиент будет нести ответственность за транспортное средство до тех пор, пока оно не будет официально передано представителю."
]
},
{
"title": "Группа транспортных средств",
"text": [
"Автомобиль на изображении и модели в списке наиболее часто используются нашими партнерами по прокату автомобилей.",
"Мы не можем гарантировать, что марка и модель транспортного средства будут совпадать с автомобилем, представленным на нашем веб-сайте."
]
},
{
"title": "Расписка",
"text": [
"По прибытии в пункт проката автомобилей вас попросят предъявить ваучер.",
"Внимание: TinoRent не несет ответственности за какие-либо дополнительные расходы в случае, если в момент получения автомобиля агенту по прокату не будет предъявлен ваучер. В этих случаях возврат предоплаты не производится."
]
},
{
"title": "Дополнительные аксессуары и надстройки",
"text": [
"Дополнительные аксессуары необходимо заказывать при бронировании или сообщать об этом в центр проката. Они не включены в стоимость аренды и должны быть оплачены при получении.",
"Цены на эти аксессуары устанавливаются непосредственно компанией по прокату, которая оставляет за собой право изменять их без предварительного уведомления.",
"Дополнительные аксессуары и любое специальное оборудование предоставляются в зависимости от наличия, которое может быть гарантировано только центром проката на момент получения."
]
},
{
"title": "Политика отмены бронирования",
"text": [
"Бесплатная отмена бронирования, если вы отмените его в течение 10:00 11.08.2025. Бесплатная отмена бронирования позволяет вернуть сумму, уплаченную в процессе онлайн-бронирования, на ту же карту, которая использовалась.",
"В случае отмены бронирования после 10:00 11.08.2025 и в любом случае в течение 10:00 10.11.2025 будет применен административный штраф в размере 232,23 евро. Любые излишки будут возвращены непосредственно на карту, использованную в процессе онлайн-бронирования.",
"В случае отмены бронирования после 10:00 11.10.2025 или, в любом случае, если транспортное средство не было получено в оговоренные дату и время или если транспортное средство не было доставлено, будет применен штраф под названием \"Неявка/ утерянный арендный платеж\", равный полной стоимости аренды (774,11 евро). потому что условия аренды, указанные в правилах и положениях, не соблюдаются."
]
},
{
"title": "Дополнительная плата за работу в нерабочее время",
"text": [
"Получение и/или возврат транспортного средства в нерабочее время возможно только по предварительному согласованию с арендной компанией.",
"Оплата билета в нерабочее время возможна только в пунктах проката в аэропорту и только в том случае, если информация о рейсе была указана правильно. В случае подтверждения бронирования взимается дополнительная плата:",
"• 50,00 евро при получении в течение 1 часа после закрытия офиса.;",
"• 100,00 евро при получении более чем через 1 час после закрытия.",
"",
"В случае задержки, пожалуйста, свяжитесь с пунктом проката автомобилей \"Сицилия на машине\" как можно скорее, чтобы сотрудники могли договориться о том, чтобы дождаться вашего прибытия, где это возможно."
]
}
]
}
}
Пример ответа (404, Поиск не найден):
{
"message": "Поиск с таким hash не найден."
}
Пример ответа (422, Ошибка валидации):
{
"message": "Параметры hash и quote_uuid обязательны."
}
Пример ответа (500, Внутренняя ошибка):
{
"message": "Ошибка получения деталей предложения."
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Заказы
Создание заказа
Создаёт новый заказ на основе ранее полученного предложения (quote), используя идентификатор quote_uuid. Заказ связывается с пользователем, партнёром и тарифным планом, который был указан при поиске ценового предложения. Отправляются уведомления в зависимости от настроек тарифного плана.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/orders" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"hash\": \"5e630350-b62e-432e-bfba-cc2256db849b\",
\"quote_uuid\": \"ab064054-21b0-4a8a-add1-026591bbc4c9\",
\"name\": \"Иван\",
\"name_en\": \"Ivan\",
\"surname\": \"Иванов\",
\"surname_en\": \"Ivanov\",
\"email\": \"ivanov@example.com\",
\"phone\": \"+79998887766\",
\"birth_date\": \"1990-01-01\",
\"residence_country\": \"RU\",
\"residence_city\": \"Москва\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/orders"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
"quote_uuid": "ab064054-21b0-4a8a-add1-026591bbc4c9",
"name": "Иван",
"name_en": "Ivan",
"surname": "Иванов",
"surname_en": "Ivanov",
"email": "ivanov@example.com",
"phone": "+79998887766",
"birth_date": "1990-01-01",
"residence_country": "RU",
"residence_city": "Москва"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/orders';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'hash' => '5e630350-b62e-432e-bfba-cc2256db849b',
'quote_uuid' => 'ab064054-21b0-4a8a-add1-026591bbc4c9',
'name' => 'Иван',
'name_en' => 'Ivan',
'surname' => 'Иванов',
'surname_en' => 'Ivanov',
'email' => 'ivanov@example.com',
'phone' => '+79998887766',
'birth_date' => '1990-01-01',
'residence_country' => 'RU',
'residence_city' => 'Москва',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/orders'
payload = {
"hash": "5e630350-b62e-432e-bfba-cc2256db849b",
"quote_uuid": "ab064054-21b0-4a8a-add1-026591bbc4c9",
"name": "Иван",
"name_en": "Ivan",
"surname": "Иванов",
"surname_en": "Ivanov",
"email": "ivanov@example.com",
"phone": "+79998887766",
"birth_date": "1990-01-01",
"residence_country": "RU",
"residence_city": "Москва"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (201, успешное):
создание заказа {
"data": {
"order_uuid": "82db72d5-7cdc-483d-b097-a14201db8645",
"order_number": "RENTLY-20250714-XK8Z",
"status": "draft"
}
}
Пример ответа (404, не):
найден quote {
"error": "Quote not found"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Ответ
Поля ответа
Список заказов
requires authentication
Возвращает список заказов, доступных пользователю в зависимости от его роли.
- Администратор системы видит все заказы.
- Администратор партнёра видит заказы только этого партнёра.
- Менеджер партнёра видит только свои заказы и те, где он назначен ответственным за этот заказ.
- Клиент видит только свои заказы (по user_id или email).
Поддерживаются фильтры по статусу, номеру и UUID заказа, датам создания, а также датам получения и возврата автомобиля.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/orders?status=paid&order_uuid=82db72d5-7cdc-483d-b097-a14201db8645&order_number=RENTLY-20250714&created_from=2025-07-01&created_to=2025-07-15&pickup_from=2025-07-10&pickup_to=2025-07-20&dropoff_from=2025-07-15&dropoff_to=2025-07-25&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/orders"
);
const params = {
"status": "paid",
"order_uuid": "82db72d5-7cdc-483d-b097-a14201db8645",
"order_number": "RENTLY-20250714",
"created_from": "2025-07-01",
"created_to": "2025-07-15",
"pickup_from": "2025-07-10",
"pickup_to": "2025-07-20",
"dropoff_from": "2025-07-15",
"dropoff_to": "2025-07-25",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/orders';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'status' => 'paid',
'order_uuid' => '82db72d5-7cdc-483d-b097-a14201db8645',
'order_number' => 'RENTLY-20250714',
'created_from' => '2025-07-01',
'created_to' => '2025-07-15',
'pickup_from' => '2025-07-10',
'pickup_to' => '2025-07-20',
'dropoff_from' => '2025-07-15',
'dropoff_to' => '2025-07-25',
'page' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/orders'
params = {
'status': 'paid',
'order_uuid': '82db72d5-7cdc-483d-b097-a14201db8645',
'order_number': 'RENTLY-20250714',
'created_from': '2025-07-01',
'created_to': '2025-07-15',
'pickup_from': '2025-07-10',
'pickup_to': '2025-07-20',
'dropoff_from': '2025-07-15',
'dropoff_to': '2025-07-25',
'page': '1',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200, успешный):
ответ {
"data": {
"current_page": 1,
"data": [
{
"order_uuid": "da0a500f-863a-44d4-b3c3-f64e327170ca",
"order_number": "RENTLY-20250716-YLNO",
"status": "draft",
"created_at": "2025-07-16 12:30:01",
"price_total": "45533.63",
"currency": "RUB",
"quote": {
"uuid": "900312ab-9234-4f87-9e6f-b4a41c8974d1",
"supplier_name": "Keddy",
"supplier_logo": "https://cdn.rently.travel/partners/keddy_by_europcar.png",
"vehicle_name": "PEUGEOT 208",
"vehicle_image": "https://cdn.rently.travel/vehicles/52/2c81a8aee7782f70a9459db8be6aa4b7.jpeg",
"pickup_address": "FCO, FIUMICINO, LEONARDO DA VINCI APT FIUMICINO INTERNATL. APT",
"pickup_date": "2025-10-10",
"pickup_time": "10:00",
"dropoff_address": "FCO, FIUMICINO, LEONARDO DA VINCI APT FIUMICINO INTERNATL. APT",
"dropoff_date": "2025-10-20",
"dropoff_time": "10:00"
}
}
],
"first_page_url": "https://admin.rently.travel/api/v2/orders?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://admin.rently.travel/api/v2/orders?page=1",
"links": [
{
"url": null,
"label": "« Назад",
"active": false
},
{
"url": "https://admin.rently.travel/api/v2/orders?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Вперёд »",
"active": false
}
],
"next_page_url": null,
"path": "https://admin.rently.travel/api/v2/orders",
"per_page": 15,
"prev_page_url": null,
"to": 1,
"total": 1
},
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 15,
"total": 1
}
}
Пример ответа (403, нет):
доступа {
"message": "Партнёр не указан для пользователя"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Подтверждение заказа
requires authentication
Переводит заказ из черновика (draft) в статус ожидания оплаты (awaiting_payment). Обычно вызывается после ввода всех данных и проверки предложения.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/confirm" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/confirm"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/confirm';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/confirm'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Пример ответа (200, успешно):
{
"message": "Заказ подтверждён",
"status": "awaiting_payment"
}
Пример ответа (400, недопустимый):
статус {
"message": "Заказ не может быть подтверждён в текущем статусе."
}
Пример ответа (422, ошибка):
бронирования {
"message": "Не удалось подтвердить бронирование у поставщика. Попробуйте позже.",
"supplier_response" => "Service maintenance.",
"status": "draft"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Оплата заказа
requires authentication
В зависимости от тарифного плана партнёра выполняет одно из следующих действий:
- Генерирует ссылку на оплату на сайте rently.travel и возвращает её
- Возвращает ссылку на оплату у партнёра
- Отмечает заказ как подтверждённый без онлайн-оплаты (постоплата)
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/pay" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/pay"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/pay';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/pay'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Пример ответа (200, оплата):
через сайт rently.travel {
"message": "Оплата инициализирована",
"payment_url": "https://securepay.tinkoff.ru/v2/...",
"status": "awaiting_payment"
}
Пример ответа (200, оплата):
на стороне партнёра {
"message": "Перейдите на сайт партнёра для оплаты",
"partner_payment_url": "https://partner.example.com/pay?order=...",
"status": "awaiting_payment"
}
Пример ответа (200, оплата):
партнёром по счёту {
"message": "Перейдите в личный кабинет партнёра",
"partner_account_url": "https://admin.rently.travel/admin/orders",
"status": "awaiting_payment"
}
Пример ответа (400, неизвестный):
способ оплаты {
"message": "Неизвестный способ оплаты"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Отмена заказа
requires authentication
Отменяет заказ от имени пользователя. Возможна только отмена заказов,
которые ещё не были отменены. Статус становится cancelled_by_user
.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/cancel" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/cancel"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/cancel';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/orders/82db72d5-7cdc-483d-b097-a14201db8645/cancel'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Пример ответа (200, успешная):
отмена {
"message": "Заказ отменён",
"status": "cancelled_by_user"
}
Пример ответа (400, уже):
отменён {
"message": "Заказ уже отменён."
}
Пример ответа (422, ошибка):
отмены {
"message": "Поставщик отклонил отмену бронирования. Попробуйте позже или обратитесь в поддержку.",
"supplier_response" => "Service maintenance.",
"status": "paid"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Сервис
Конвертация валюты
Конвертирует сумму из указанной валюты в рубли (RUB) по курсу ЦБ РФ.
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/v2/services/exchange?amount=100¤cy=EUR" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/v2/services/exchange"
);
const params = {
"amount": "100",
"currency": "EUR",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/services/exchange';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'amount' => '100',
'currency' => 'EUR',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/services/exchange'
params = {
'amount': '100',
'currency': 'EUR',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Пример ответа (200):
{
"data": {
"amount": 100,
"currency": "EUR",
"converted_amount": 9876.54,
"converted_currency": "RUB"
}
}
Пример ответа (400):
{
"error": "Данная валюта не поддерживается"
}
Пример ответа (404):
{
"error": "Курс валюты не найден"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Перевод текста
Переводит текст с одного языка на другой с помощью Yandex Cloud Translate API. Поддерживает автоматическое определение языка и работу с длинными текстами.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/services/translate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"text\": \"Hello, how are you?\",
\"target\": \"ru\",
\"source\": \"en\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/services/translate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"text": "Hello, how are you?",
"target": "ru",
"source": "en"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/services/translate';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'text' => 'Hello, how are you?',
'target' => 'ru',
'source' => 'en',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/services/translate'
payload = {
"text": "Hello, how are you?",
"target": "ru",
"source": "en"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200):
{
"data": {
"original": "Hello, how are you?",
"translated": "Привет, как дела?",
"source": "en",
"target": "ru"
}
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Вебхуки
Описание структур webhook-запросов между Rently.travel и системами партнёров.
Вебхук от партнёра об оплате
requires authentication
Этот эндпоинт вызывается платёжной системой партнёра или самим партнёром, чтобы подтвердить успешную или неудачную оплату. Если заказ принадлежит другому партнёру, будет возвращена ошибка 403.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/v2/payments/partner/webhook" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order_number\": \"RENTLY-20250717-XK8Z\",
\"external_id\": \"PARTNER-123456\",
\"status\": \"paid\",
\"paid_at\": \"2025-07-17T13:22:00+03:00\",
\"message\": \"Оплата прошла успешно\"
}"
const url = new URL(
"https://admin.rently.travel/api/v2/payments/partner/webhook"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order_number": "RENTLY-20250717-XK8Z",
"external_id": "PARTNER-123456",
"status": "paid",
"paid_at": "2025-07-17T13:22:00+03:00",
"message": "Оплата прошла успешно"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/v2/payments/partner/webhook';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'order_number' => 'RENTLY-20250717-XK8Z',
'external_id' => 'PARTNER-123456',
'status' => 'paid',
'paid_at' => '2025-07-17T13:22:00+03:00',
'message' => 'Оплата прошла успешно',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/v2/payments/partner/webhook'
payload = {
"order_number": "RENTLY-20250717-XK8Z",
"external_id": "PARTNER-123456",
"status": "paid",
"paid_at": "2025-07-17T13:22:00+03:00",
"message": "Оплата прошла успешно"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200, успех):
{
"message": "Webhook processed"
}
Пример ответа (403, пользователь):
не имеет доступа {
"message": "Access denied"
}
Пример ответа (404, не):
найден заказ {
"message": "Order not found"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
Пример webhook-запроса на создание заказа
Мы отправим POST-запрос на указанный вами URL, указанный в поле webhook_url
в тарифном плане. Параметры передаются в теле запроса в формате JSON.
Пример запроса:
curl --request POST \
"https://admin.rently.travel/api/_docs/webhook-fake" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"uuid\": \"82db72d5-7cdc-483d-b097-a14201db8645\",
\"order_number\": \"RENTLY-20250714-XK8Z\",
\"status\": \"draft\",
\"price_total\": 14356.75,
\"currency\": \"RUB\",
\"customer_name\": \"Иван Иванов\",
\"email\": \"ivanov@example.com\",
\"phone\": \"+79998887766\"
}"
const url = new URL(
"https://admin.rently.travel/api/_docs/webhook-fake"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"uuid": "82db72d5-7cdc-483d-b097-a14201db8645",
"order_number": "RENTLY-20250714-XK8Z",
"status": "draft",
"price_total": 14356.75,
"currency": "RUB",
"customer_name": "Иван Иванов",
"email": "ivanov@example.com",
"phone": "+79998887766"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/_docs/webhook-fake';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'uuid' => '82db72d5-7cdc-483d-b097-a14201db8645',
'order_number' => 'RENTLY-20250714-XK8Z',
'status' => 'draft',
'price_total' => 14356.75,
'currency' => 'RUB',
'customer_name' => 'Иван Иванов',
'email' => 'ivanov@example.com',
'phone' => '+79998887766',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/_docs/webhook-fake'
payload = {
"uuid": "82db72d5-7cdc-483d-b097-a14201db8645",
"order_number": "RENTLY-20250714-XK8Z",
"status": "draft",
"price_total": 14356.75,
"currency": "RUB",
"customer_name": "Иван Иванов",
"email": "ivanov@example.com",
"phone": "+79998887766"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Пример ответа (200, Партнёр):
получит вот такой POST-запрос {
"order_number": "RENTLY-20250714-XK8Z",
"status": "draft",
"price_total": 14356.75,
"currency": "RUB",
"customer_name": "Иван Иванов",
"email": "ivanov@example.com",
"phone": "+79998887766"
}
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.
API v2: Enums
Справочник enum-ов
В этой секции приведено описание всех enum-ов, которые используются в API.
Card
Возможные значения:
credit_card
- Кредитная картаdebit_card
- Дебетовая картаbank_debit_card
- Банковская дебетовая картаcash
- Наличныеcheck
- Чекloyalty_redemption
- Списание бонусов лояльностиprepaid
- Предоплаченный способ
CardCode
Возможные значения:
american_express
- American Expressmastercard
- Mastercardbancomat
- Bancomatbc_card
- BC Cardbca_card
- BCA Cardcarte_bleue
- Carte Bleuechina_unionpay
- China UnionPaydankort
- Dankortdiners_club
- Diners Clubdiscover
- Discovereftpos
- EFTPOSeps
- EPSgirocard
- Girocardinteract
- Interacjcb
- JCBmeps
- MEPSnets
- NETSrupay
- RuPayv_pay
- V PAYvisa
- Visauatp
- UATP (Universal Air Travel Plan)maestro
- Maestrounknown
- Неизвестный тип карты
Currency
Возможные значения:
AED
- Дирхам ОАЭAMD
- Армянский драмAUD
- Австралийский долларAZN
- Азербайджанский манатBDT
- ТакаBGN
- Болгарский левBHD
- Бахрейнский динарBOB
- БоливианоBRL
- Бразильский реалBYN
- Белорусский рубльCAD
- Канадский долларCHF
- Швейцарский франкCNY
- Китайский юаньCUP
- Кубинское песоCZK
- Чешская кронаDKK
- Датская кронаDZD
- Алжирский динарEGP
- Египетский фунтETB
- Эфиопский бырEUR
- ЕвроGBP
- Британский фунтGEL
- Грузинский лариHKD
- Гонконгский долларHUF
- Венгерский форинтIDR
- Индонезийская рупияINR
- Индийская рупияIRR
- Иранский риалJPY
- Японская иенаKGS
- Киргизский сомKRW
- Южнокорейская вонаKZT
- Казахстанский тенгеMDL
- Молдавский лейMMK
- КьятMNT
- ТугрикNGN
- НайраMXN
- Мексиканское песоNOK
- Норвежская кронаNZD
- Новозеландский долларOMR
- Оманский риалPLN
- Польский злотыйQAR
- Катарский риалRON
- Румынский лейRSD
- Сербский динарRUB
- Российский рубльSAR
- Саудовский риялSEK
- Шведская кронаSGD
- Сингапурский долларTHB
- Тайский батTJS
- Таджикский сомониTMT
- Туркменский манатTRY
- Турецкая лираUAH
- Украинская гривнаUSD
- Доллар СШАUZS
- Узбекский сумVND
- Вьетнамский донгXDR
- СДР (спецправа заимствования МВФ)ZAR
- Южноафриканский ранд
DistancePeriod
Возможные значения:
day
- За деньmonth
- За месяцrental_period
- За весь срок арендыservice
- За услугу (фиксированно)
Fuel
Возможные значения:
gasoline
- Бензинdiesel
- Дизельelectric
- Электричество
FuelPolicy
Возможные значения:
full_full
- Полный бак при получении — полный бак при возвратеempty_empty
- Пустой бак при получении — пустой бак при возвратеfull_empty
- Полный бак при получении — возврат с пустым бакомfull_empty_refund
- Полный бак — возврат с пустым баком с частичным возмещениемfull_empty_free
- Полный бак — возврат с пустым баком бесплатноhalf_empty
- Полбака при получении — возврат с пустым бакомquarter_empty
- Четверть бака при получении — возврат с пустым бакомhalf_half
- Полбака при получении — полбака при возвратеquarter_quarter
- Четверть бака при получении — четверть при возвратеsame_level
- Возврат с тем же уровнем топлива, что и при полученииunknown
- Политика топлива неизвестна
LocationType
Возможные значения:
terminal
- В терминалеfree_shuttle_bus
- Бесплатный трансферrental_center_area
- Офис в секции прокатных компанийmeet_and_greet
- Встреча в зоне прилетаoff_airport
- За пределами аэропорта
OrderStatus
Возможные значения:
draft
- Черновикpending_partner_confirmation
- Подтверждается поставщикомawaiting_payment
- Ожидает оплатуpaid
- Оплаченcancelled_by_user
- Отменен клиентомcancelled_by_partner
- Отменен поставщикомrefunded
- Возвратexpired
- Просроченerror
- Ошибка
PaymentMethod
Возможные значения:
prepaid_our_site
- Предоплата на сайтеprepaid_partner_site
- Предоплата на сайте партнёраpostpaid_pickup
- Оплата при получении автомобиляpostpaid_invoice
- Оплата партнёром по счёту
PaymentStatus
Возможные значения:
prepared
- Подготовленpaid
- Оплаченfailed
- Ошибка оплатыcancelled
- Отменён
UserType
Возможные значения:
superadmin
- Администраторpartner_admin
- Администратор партнёраpartner_supervisor
- Супервайзерpartner_manager
- Менеджерcustomer
- Клиент
Пример запроса:
curl --request GET \
--get "https://admin.rently.travel/api/_docs/enums" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://admin.rently.travel/api/_docs/enums"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://admin.rently.travel/api/_docs/enums';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://admin.rently.travel/api/_docs/enums'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Пример ответа (200):
"OK"
Полученный ответ:
Запрос завершился с ошибкой:
Совет: Убедитесь, что вы правильно подключены к сети.
Если вы являетесь администратором этого API, проверьте, что ваш API запущен и CORS включён.
Вы можете просмотреть консоль инструментов разработчика для получения отладочной информации.