Тема
Интервалы
Получение доступных временных окон для забора и доставки заказов.
Получение доступных интервалов
Возвращает доступные окна забора и окна доставки в зависимости от типа операции.
Запрос
http
POST /intervalsЗаголовки:
http
X-API-Key: ваш_api_ключ
Content-Type: application/jsonТипы запросов
В зависимости от типа доставки структура запроса отличается:
json
{
"type": "delivery",
"depot_number": "14",
"date": "16.09.2025",
"delivery_point": {
"lat": 55.7558,
"lon": 37.6173
}
}json
{
"type": "pickup",
"depot_number": "14",
"date": "16.09.2025",
"pickup_point": {
"lat": 55.7558,
"lon": 37.6173
}
}json
{
"type": "pickup_delivery",
"depot_number": "14",
"date": "16.09.2025",
"pickup_point": {
"lat": 55.7558,
"lon": 37.6173
},
"delivery_point": {
"lat": 55.7558,
"lon": 37.6173
}
}Параметры запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
type | string | Да | Тип доставки: delivery, pickup, pickup_delivery |
depot_number | string | Да | Номер склада |
date | string | Да | Дата доставки в формате d.m.Y |
pickup_point | object | Зависит от типа | Координаты забора (lat, lon) |
delivery_point | object | Зависит от типа | Координаты доставки (lat, lon) |
Ответ
Структура ответа зависит от типа запроса:
Для delivery
json
{
"ok": true,
"result": [
{
"time_window": [
{
"type": "delivery",
"time": "09:00-15:00",
"price": 0
},
{
"type": "delivery",
"time": "15:00-18:00",
"price": 150.50
}
],
"pickup_windows": [
"08:00-11:00",
"11:00-14:00"
]
}
]
}Для pickup
json
{
"ok": true,
"result": [
{
"time_window": [
{
"type": "pickup",
"time": "07:40-11:00",
"price": 234.13
}
]
}
]
}Для pickup_delivery
json
{
"ok": true,
"result": [
{
"time_window": [
{
"type": "pickup",
"time": "07:40-11:00",
"price": 234.13
},
{
"type": "delivery",
"time": "09:00-15:00",
"price": 0
}
]
}
]
}Описание полей ответа
| Поле | Тип | Описание |
|---|---|---|
time_window | array | Массив доступных временных окон |
time_window[].type | string | Тип окна: pickup или delivery |
time_window[].time | string | Интервал в формате H:i-H:i |
time_window[].price | float | Стоимость доставки в этом окне |
pickup_windows | array | Окна забора со склада (только для delivery) |
Примеры использования
bash
curl -X POST "https://api.razvezu.pro/integration/v2/intervals" \
-H "X-API-Key: ваш_api_ключ" \
-H "Content-Type: application/json" \
-d '{
"type": "delivery",
"depot_number": "14",
"date": "16.09.2025",
"delivery_point": {
"lat": 55.7558,
"lon": 37.6173
}
}'javascript
const intervalData = {
type: "delivery",
depot_number: "14",
date: "16.09.2025",
delivery_point: {
lat: 55.7558,
lon: 37.6173
}
};
const response = await fetch(
'https://api.razvezu.pro/integration/v2/intervals',
{
method: 'POST',
headers: {
'X-API-Key': 'ваш_api_ключ',
'Content-Type': 'application/json'
},
body: JSON.stringify(intervalData)
}
);
const data = await response.json();
const availableWindows = data.result[0].time_window;
console.log('Доступные окна:', availableWindows);python
import requests
interval_data = {
"type": "delivery",
"depot_number": "14",
"date": "16.09.2025",
"delivery_point": {
"lat": 55.7558,
"lon": 37.6173
}
}
headers = {
'X-API-Key': 'ваш_api_ключ',
'Content-Type': 'application/json'
}
response = requests.post(
'https://api.razvezu.pro/integration/v2/intervals',
json=interval_data,
headers=headers
)
data = response.json()
available_windows = data['result'][0]['time_window']
print('Доступные окна:', available_windows)Ошибки
401 Unauthorized
Ошибка аутентификации:
json
{
"ok": false,
"errors": {
"message": "Неверные данные аутентификации"
}
}422 Validation Error
Ошибка валидации данных:
json
{
"ok": false,
"errors": {
"type": [
"Поле 'type' должно быть одним из: delivery, pickup, pickup_delivery"
],
"delivery_point": [
"Поле 'delivery_point' обязательно для type = delivery"
]
}
}500 Internal Server Error
Внутренняя ошибка сервера:
json
{
"ok": false,
"errors": {
"message": "Ошибка на стороне сервера, попробуйте позже"
}
}Важные замечания
Внимание
- Используйте только интервалы, полученные из этого эндпоинта, при создании заказа
- Интервалы могут различаться в зависимости от даты и координат
- Рекомендуется запрашивать интервалы непосредственно перед созданием заказа
- Формат времени:
HH:mm-HH:mm(например,09:00-15:00)
Совет
Сохраняйте полученные интервалы и используйте их при создании заказа через /orders/upload.