Skip to content

Быстрый старт

Краткое руководство по интеграции с API Развезу V2. Пройдите эти шаги, чтобы начать работу с API.

Совет

Рекомендуется начать с тестового окружения для проверки интеграции перед переходом на продакшн.

Шаг 1: Аутентификация

Для работы с API необходим API ключ. Передавайте его в заголовке каждого запроса:

http
X-API-Key: ваш_api_ключ

Базовые URL:

bash
https://api.razvezu.pro/integration/v2
bash
https://test.api.razvezu.pro/integration/v2

Подробнее об аутентификации читайте в разделе Аутентификация.

Шаг 2: Получение списка складов

Получите список доступных складов:

bash
curl -X GET "https://api.razvezu.pro/integration/v2/depots" \
  -H "X-API-Key: ваш_api_ключ"
javascript
const response = await fetch('https://api.razvezu.pro/integration/v2/depots', {
  headers: {
    'X-API-Key': 'ваш_api_ключ'
  }
});

const data = await response.json();
console.log(data.result);
python
import requests

headers = {'X-API-Key': 'ваш_api_ключ'}
response = requests.get(
    'https://api.razvezu.pro/integration/v2/depots',
    headers=headers
)
data = response.json()
print(data['result'])

Ответ:

json
{
  "ok": true,
  "result": [
    {
      "number": "14",
      "address": "г. Тюмень, ул. Ленина, 10",
      "lat": 57.153033,
      "lon": 65.534328,
      "time_interval_start": "08:00",
      "time_interval_finish": "18:00"
    }
  ]
}

Важно

Сохраните number склада — он понадобится для создания заказов.

Подробнее: Склады

Шаг 3: Получение доступных интервалов

Перед созданием заказа узнайте доступные временные окна доставки:

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 response = await fetch('https://api.razvezu.pro/integration/v2/intervals', {
  method: 'POST',
  headers: {
    'X-API-Key': 'ваш_api_ключ',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    type: 'delivery',
    depot_number: '14',
    date: '16.09.2025',
    delivery_point: {
      lat: 55.7558,
      lon: 37.6173
    }
  })
});

const data = await response.json();
console.log(data.result[0].time_window);

Ответ:

json
{
  "ok": true,
  "result": [
    {
      "time_window": [
        {
          "type": "delivery",
          "time": "09:00-15:00",
          "price": 0
        }
      ],
      "pickup_windows": ["08:00-11:00"]
    }
  ]
}

Совет

Выберите подходящий интервал из time_window и используйте его при создании заказа.

Подробнее: Интервалы

Шаг 4: Создание заказа

Создайте заказ на доставку:

bash
curl -X POST "https://api.razvezu.pro/integration/v2/orders/upload" \
  -H "X-API-Key: ваш_api_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "locations": [{
      "depot_number": "14",
      "number_order": "ORDER-123",
      "type": "delivery",
      "title": "Заказ #123",
      "date": "16.09.2025",
      "time_window": "09:00-15:00",
      "pickup_windows": "08:00-11:00",
      "name_client": "Иванов Иван Иванович",
      "phone": "79998882000",
      "address_info": {
        "address": "г. Новосибирск ул. Примерная 12 корп 1",
        "apartment": 5,
        "floor": 2,
        "rise": true
      },
      "shipment_size": {
        "weight_kg": 10.5,
        "volume": {
          "width_m": 1.2,
          "height_m": 0.8,
          "depth_m": 1.5
        }
      },
      "package": 1,
      "delivery_location_category": 0
    }]
  }'
javascript
const orderData = {
  locations: [{
    depot_number: "14",
    number_order: "ORDER-123",
    type: "delivery",
    title: "Заказ #123",
    date: "16.09.2025",
    time_window: "09:00-15:00",
    pickup_windows: "08:00-11:00",
    name_client: "Иванов Иван Иванович",
    phone: "79998882000",
    address_info: {
      address: "г. Новосибирск ул. Примерная 12 корп 1",
      apartment: 5,
      floor: 2,
      rise: true
    },
    shipment_size: {
      weight_kg: 10.5,
      volume: {
        width_m: 1.2,
        height_m: 0.8,
        depth_m: 1.5
      }
    },
    package: 1,
    delivery_location_category: 0
  }]
};

const response = await fetch(
  'https://api.razvezu.pro/integration/v2/orders/upload',
  {
    method: 'POST',
    headers: {
      'X-API-Key': 'ваш_api_ключ',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(orderData)
  }
);

const data = await response.json();

Обязательные поля:

Список обязательных полей
  • depot_number — номер склада
  • number_order — уникальный номер заказа (в рамках склада)
  • type — тип доставки (delivery или pickup)
  • date — дата доставки в формате d.m.Y
  • time_window — интервал доставки из /intervals
  • address_info.address — адрес доставки
  • shipment_size.weight_kg — вес в кг
  • name_client — ФИО клиента
  • package — количество упаковок

Подробнее: Заказы

Шаг 5: Проверка статуса заказа

Получите актуальный статус заказа:

bash
curl -X POST "https://api.razvezu.pro/integration/v2/orders/status" \
  -H "X-API-Key: ваш_api_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "orders_number": ["ORDER-123"]
  }'
javascript
const response = await fetch(
  'https://api.razvezu.pro/integration/v2/orders/status',
  {
    method: 'POST',
    headers: {
      'X-API-Key': 'ваш_api_ключ',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      orders_number: ['ORDER-123']
    })
  }
);

const data = await response.json();
console.log(data.result);

Ответ:

json
{
  "ok": true,
  "result": [
    {
      "number": "ORDER-123",
      "status": "in_progress",
      "date": "2025-09-16",
      "route_id": "J8nJ",
      "queue": 3,
      "courier_info": {
        "phone": "79991234567",
        "full_name": "Иванов Иван Иванович"
      }
    }
  ]
}

Статусы заказа:

СтатусОписание
newНовый заказ
in_progressВ работе
finishedЗавершён
cancelledОтменён

Подробнее: Заказы - Получение статуса

Шаг 6: Настройка колбеков (опционально)

Для автоматического получения уведомлений о статусе заказа настройте URL колбека в настройках склада.

Колбек будет отправлен на ваш URL после завершения или отмены заказа:

json
{
  "order_id": "ORDER-123",
  "status": "finished",
  "number": "ORDER-123",
  "route_id": "J8nJ",
  "date": "10.08.2023",
  "delivery_time": "11:23",
  "confirmation_methods": "client_system"
}

Подробнее: Колбеки


Полезные эндпоинты

Дополнительные эндпоинты для работы с API

Типы доставки

ТипОписание
deliveryСклад → Адрес
pickupАдрес → Склад
pickup_deliveryАдрес → Адрес

Важные замечания

Внимание

Обратите внимание на следующие важные моменты:

  1. Уникальность номеров: number_order должен быть уникальным в рамках одного склада
  2. Формат адреса: Указывайте адрес в формате: город, населённый пункт, улица, дом (без квартиры)
  3. Координаты: Рекомендуется указывать координаты (lat, lon) для точного определения адреса
  4. Временные окна: Используйте только интервалы, полученные из /intervals
  5. Телефон: Формат 7[0-9]{10} (например, 79998882000)

Следующие шаги

Готовы продолжить?