SelSup Developers

Обмен данными · Руководства

Обмен заказами

Создание заказа интернет-магазина, защита от дубликатов, постраничная выгрузка и получение изменившихся заказов.

Разделы: 4Руководство для разработчика
→

Через API можно передавать заказы из интернет-магазина в SelSup и получать изменения заказов. Номер заказа во внешней системе передаётся в externalOrderId.

Интернет-магазины, OMS и службы доставки

1

Создание заказа с сайта

Передайте данные заказа и список товаров методом POST /api/order/. В externalOrderId укажите номер заказа на сайте. По нему можно проверить, загружен ли заказ, прежде чем отправлять его повторно.

Если в аккаунте несколько организаций, обязательно передайте organizationId.

Предварительно сопоставьте товары сайта с товарами SelSup. Для этого загрузите их через /api/product/find и сохраните идентификаторы. В каждой позиции заказа передайте productId, количество quantity и цену price.

!
Если ответ на создание заказа не пришёл

Перед повторным запросом найдите заказ по externalOrderId. Первый запрос мог сохраниться, даже если соединение оборвалось до получения ответа.

Розничный заказ · JSON
{
  "type": "RETAIL",
  "organizationId": 1,
  "externalOrderId": "SHOP-12345",
  "products": [
    {
      "productId": 1422585,
      "quantity": 2,
      "price": 1000
    }
  ]
}

2

Получение списка заказов

Используйте /api/order/find. Параметр limit задаёт размер страницы, page — её номер. Для загрузки всего списка последовательно увеличивайте page.

Параметр count отвечает за подсчёт общего количества заказов по запросу. Не включайте его, если общее количество не нужно: подсчёт большого списка может занять время.

  1. 1

    Сохраните время начала загрузки

    Оно понадобится, чтобы после загрузки списка получить заказы, которые изменились за это время.

  2. 2

    Загрузите все страницы

    Сохраняйте id заказа SelSup и externalOrderId вместе с данными заказа.

  3. 3

    Получите изменения

    После загрузки списка запросите заказы с modifiedDate начиная с сохранённого времени.

3

Получение изменений заказов

В ответе заказа есть поле modifiedDate — время последнего изменения. Передайте дату в одноимённом фильтре /api/order/find, чтобы получить заказы, изменившиеся начиная с этой даты.

У заказа могут измениться статус, состав товаров и другие параметры. Обновляйте сохранённые данные по id заказа SelSup.

Сохраняйте время следующей проверки только после обработки всех полученных страниц. Можно запрашивать небольшой период повторно и обновлять уже загруженные заказы по id, чтобы учесть изменения, которые произошли во время загрузки.

i
Время

Передавайте дату с часовым поясом, например 2026-08-09T10:00:00Z. Буква Z означает UTC.

Выборка изменений · HTTP
GET /api/order/find?modifiedDate=2026-08-09T10:00:00Z&page=1&limit=100
Authorization: YOUR_API_TOKEN

4

Обработка ошибок

  1. 1

    Проверьте обязательные поля

    Проверьте organizationId и тип заказа. В каждой позиции должны быть productId, quantity и price. Для заказов маркетплейса также проверьте service и warehouseId, если он требуется для выбранного типа.

  2. 2

    Разделяйте временные и постоянные ошибки

    Исправьте ошибочные параметры перед повторной отправкой. После сетевого сбоя сначала проверьте, сохранился ли заказ.

  3. 3

    Выполняйте сверку

    Периодически сравнивайте статусы и состав заказов в вашей системе и SelSup, чтобы найти пропущенные изменения.

i
Код и сообщение об ошибке

Для обработки в программе используйте error. Сообщение localMessage предназначено для пользователя и зависит от его языка.