Челябинск, Енисейская ул., 75Дс2

Partner API

Работа с External API

Через API можно получать товары из раздела Наличие в Китае: список с фильтрами, постраничную выдачу, карточку товара по ID и создавать бронь товара.

Base URL: https://madoauto.online/api/external/v1Формат: JSONЛимит: 120 запросов в минуту

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

1

Получите API-ключ у madoauto.

2

Передавайте ключ в заголовке каждого запроса.

3

Загружайте товары страницами через limit и offset. Для брони используйте id товара.

Авторизация

API-ключ можно передать одним из двух способов. Используйте тот вариант, который удобнее для вашей системы.

Authorization: Bearer <API_KEY>x-api-key: <API_KEY>

Endpoints

МетодPathНазначение
GET/china-stock/productsПолучить список товаров.
GET/china-stock/products/{id}Получить один товар по ID.
POST/products/reservationsСоздать бронь товара.

Параметры списка товаров

Все параметры необязательные. Если параметры не переданы, API вернет первую страницу товаров с настройками по умолчанию.

ПараметрТипКак использовать
limitintegerКоличество товаров на странице. По умолчанию 100, максимум 500.
offsetintegerСмещение для следующей страницы. По умолчанию 0.
createdSinceISO dateВернуть товары, созданные начиная с указанной даты.
updatedSinceISO dateВернуть товары, обновленные начиная с указанной даты.
searchstringПоиск по основным данным товара: название, артикул, код, деталь, бренд, модель.
brandstringФильтр по бренду.
modelstringФильтр по модели.
categoryIdstringФильтр по категории.
availabilityenumin-stock, in-transit или out-of-stock.

Пример запроса списка

curl "https://madoauto.online/api/external/v1/china-stock/products?limit=100&offset=0&updatedSince=2026-05-01T00:00:00.000Z" \
  -H "Authorization: Bearer mado_xxxxxxxxxxxxxxxx_secret"

Ответ API

В списке товаров ответ содержит массив data, блок pagination и служебный блок meta. В карточке товара data содержит один объект товара.

Поля brand, model, year, engineVolume, horsepower, fuelType и transmission заполняются из доп. полей МойСклад, выбранных администратором.

Поле товараТипЗначение
idstringID товара.
numericIdnumber | nullДополнительный числовой ID, если есть.
urlstringСсылка на карточку товара на сайте.
articlestringАртикул.
codestringКод товара.
namestringНазвание товара.
brandstringБренд.
modelstringМодель.
yearnumber | nullГод автомобиля.
engineVolumenumber | nullОбъем двигателя.
horsepowernumber | nullМощность в лошадиных силах.
fuelTypestringТип топлива.
transmissionstringТрансмиссия.
bodyCodestringКод кузова.
partNamestringНазвание детали.
partLocationstringРасположение детали.
partSidestringСторона детали.
categoryobjectКатегория: id, numericId, name.
priceobjectЦена: amount и currency. Валюта всегда CNY.
stockobjectОстатки: quantity, stock, available, status.
imagesstring[]Ссылки на изображения.
videoUrlstring | nullСсылка на видео, если есть.
arrivalDateYYYY-MM-DD | nullДата поступления, если известна.
createdAtISO date | nullДата создания.
updatedAtISO date | nullДата обновления.

Пример ответа списка

{
  "data": [
    {
      "id": "product-1",
      "numericId": 123,
      "url": "https://madoauto.online/china-stock/product-1",
      "article": "A-1",
      "code": "C-1",
      "name": "Фара Toyota Camry",
      "brand": "Toyota",
      "model": "Camry",
      "year": 2020,
      "engineVolume": 2.5,
      "horsepower": 181,
      "fuelType": "Бензин",
      "transmission": "AT",
      "bodyCode": "XV70",
      "partName": "Фара",
      "partLocation": "Перед",
      "partSide": "Левая",
      "category": {
        "id": "category-1",
        "numericId": 12,
        "name": "Оптика"
      },
      "price": {
        "amount": 1500,
        "currency": "CNY"
      },
      "stock": {
        "quantity": 2,
        "stock": 1,
        "available": true,
        "status": "in_stock"
      },
      "images": [
        "https://cdn.example.com/products/1.jpg"
      ],
      "videoUrl": "https://disk.yandex.ru/i/example",
      "arrivalDate": null,
      "createdAt": "2026-05-01T10:00:00.000Z",
      "updatedAt": "2026-05-02T10:00:00.000Z"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 320,
    "hasMore": true
  },
  "meta": {
    "source": "china",
    "section": "china-stock",
    "currency": "CNY",
    "generatedAt": "2026-05-03T12:00:00.000Z"
  }
}

Пример запроса карточки

curl "https://madoauto.online/api/external/v1/china-stock/products/product-1" \
  -H "x-api-key: mado_xxxxxxxxxxxxxxxx_secret"

Бронь товара

Endpoint создает бронь на указанное количество товара. Используйте ID товара из поля data.id.

ПолеТипКак использовать
productIdstringОбязательный ID товара из поля data.id.
quantityintegerНеобязательно. Количество для брони. По умолчанию 1.
commentstringНеобязательно. Комментарий к брони, максимум 1000 символов.

Пример запроса брони

curl -X POST "https://madoauto.online/api/external/v1/products/reservations" \
  -H "Authorization: Bearer mado_xxxxxxxxxxxxxxxx_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "productId": "product-1",
    "quantity": 2,
    "comment": "Комментарий к брони"
  }'

Успешный ответ

{
  "reserved": true,
  "productId": "product-1",
  "quantity": 2,
  "reservationId": "reservation-1"
}

Если бронь не создана

При статусе 409 поле reason может быть out_of_stock, not_reservable или reservation_unavailable.

{
  "reserved": false,
  "reason": "out_of_stock"
}

Ошибки

HTTPЧто значит
400Некорректный параметр запроса.
401API-ключ не передан или недействителен.
404Товар не найден.
409Бронь не создана: товара нет в наличии, товар не подходит для брони или бронь временно недоступна.
429Превышен лимит запросов. Повторите запрос после времени из заголовка Retry-After.
500Временная ошибка API.

Пример ошибки

{
  "error": "Invalid API key"
}

Рекомендованный сценарий синхронизации

  1. Первую загрузку выполните страницами через limit и offset.
  2. Продолжайте запрашивать следующие страницы, пока pagination.hasMore равен true.
  3. Для регулярных обновлений передавайте updatedSince с датой последней успешной синхронизации.
  4. При ответе 429 сделайте паузу на количество секунд из Retry-After и повторите запрос.

Вопросы по интеграции

Если нужен ключ или помощь с подключением, свяжитесь с madoauto.

Контакты