REST API · остатки и цены

API для ваших остатков

Один POST по токену — и остатки с ценами уже в Veloseller. Для сайтов, учётных систем и самописных скриптов. Потери, заморозку и точку дозаказа считаем сами — как по маркетплейсам.

base urlhttps://veloseller.ru
bash
$ curl -X POST https://veloseller.ru/api/v1/ingest \
  -H "Authorization: Bearer vs_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "items": [
        { "sku": "ART-001", "stock_quantity": 42, "price": 590 }
      ] }'

← 200 OK
{ "ok": true, "parsed": 1, "inserted": 1 }
POST
/api/v1/ingestотправить остатки
GET
/api/v1/stockпрочитать остатки
GET
/api/v1/metricsаналитика по каждому SKU
GET
/api/v1/summaryсводка по складу
Быстрый старт · 3 шага
1

Создайте склад «API-источник»

В кабинете → Склады → Добавить склад → «API-источник». Отдельный склад под вашу систему.

2

Получите токен

На странице склада нажмите «Сгенерировать токен». Он показывается один раз — сохраните его.

3

Шлите остатки

POST на /api/v1/ingest с токеном в заголовке. Каждый вызов — новый срез; движение остатков считаем сами.

Эндпоинты

Приём, чтение и вся аналитика

POST/api/v1/ingest

Отправить остатки

Токен — в заголовке Authorization: Bearer …. В теле массив items — до 50 000 позиций за раз.

Ответ: { "ok": true, "parsed": N, "inserted": M }

curl -X POST https://veloseller.ru/api/v1/ingest \
  -H "Authorization: Bearer vs_live_ТОКЕН" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "sku": "ART-001", "stock_quantity": 42, "price": 590 }
    ]
  }'
GET/api/v1/stock

Прочитать остатки

Забрать то, что Veloseller сейчас видит по вашему складу — последний остаток и цену по каждому SKU. Тот же токен, удобно свериться со своей системой.

запрос
curl https://veloseller.ru/api/v1/stock \
  -H "Authorization: Bearer vs_live_ВАШ_ТОКЕН"
ответ · json
{
  "warehouse": "8f3c1a2b-…",
  "count": 128,
  "items": [
    {
      "sku": "ART-001",
      "product_name": "Кружка",
      "stock_quantity": 42,
      "price": 590,
      "updated_at": "2026-07-16T12:00:00Z"
    }
  ]
}
GET/api/v1/metrics

Аналитика по каждому SKU

Вся «начинка» продукта наружу: по каждому товару — реальная скорость продаж (TVelo), на сколько дней хватит остатка, дни out-of-stock, потерянная выручка, сегмент, здоровье, достоверность и флаг «пора заказывать». ?needs_reorder=1 — только то, что пора дозаказать.

запрос
curl "https://veloseller.ru/api/v1/metrics?needs_reorder=1" \
  -H "Authorization: Bearer vs_live_ВАШ_ТОКЕН"
ответ · json
{
  "warehouse": "8f3c1a2b-…",
  "period_days": 30,
  "count": 128,
  "items": [
    {
      "sku": "ART-001",
      "product_name": "Кружка",
      "stock_quantity": 42,
      "price": 590,
      "velocity_per_day": 3.2,
      "days_of_cover": 13.1,
      "stockout_days_30d": 2,
      "lost_revenue": 1180,
      "segment": "fast",
      "health_score": 82,
      "confidence": 0.9,
      "needs_reorder": true,
      "updated_at": "2026-07-16"
    }
  ]
}
GET/api/v1/summary

Сводка по складу

KPI дашборда одним запросом: здоровье склада, стоимость остатков, заморожено в неликвиде, потерянная и потенциальная выручка, счётчики SKU (заканчиваются / нет в наличии / неликвид).

ответ · json
{
  "warehouse": "8f3c1a2b-…",
  "period_days": 30,
  "health_score": 76,
  "inventory_value": 3450000,
  "frozen_value": 820000,
  "lost_revenue": 142000,
  "potential_revenue": 320000,
  "sku_counts": {
    "total": 1883, "low_stock": 7, "out_of_stock": 3,
    "dead_inventory": 12, "inactive": 24, "frequently_oos": 5
  },
  "updated_at": "2026-07-16T02:40:00Z"
}
Поля позиции
ПолеОбяз.Описание
skuдаАртикул товара — ключ, по которому мы узнаём позицию.
stock_quantityдаТекущий остаток, целое число ≥ 0.
priceнетЦена в рублях. Если не передать — возьмём последнюю известную.
product_nameнетНаименование. Обновляется, если передано.
Коды ответов
200Успех — { ok, parsed, inserted } или { items }
400Проблема в данных — в ответе указан проблемный sku
401Токен отсутствует, недействителен или отозван
429Слишком часто (лимит 10 запросов/мин) — повторите позже
5xxВременная ошибка — повторите с задержкой (backoff)

Каждый вызов — новый срез

Шлите актуальные остатки хоть раз в день, хоть каждый час. Движение считается между срезами.

Токен — как пароль

Показывается один раз при создании, храним только хэш. Утёк — перевыпустите, старый отзовётся.

Тарифы и лимиты

API входит во все тарифы

Отдельной платы за API нет. «API-источник» — обычный склад: считается в лимите складов тарифа, число SKU — тоже по тарифу. Нужно больше — выше тариф.

Триал
30 дней бесплатно
  • · 3 склада
  • · 10 000 SKU на склад
  • · Весь функционал бесплатно
Старт
2 500 ₽/мес
  • · 2 склада
  • · 1 000 SKU на склад
Рост
6 900 ₽/мес
  • · 5 складов
  • · 2 000 SKU на склад

Ещё больше — тариф «Конструктор» (1–20 складов, 1 000–20 000 SKU). Все тарифы →

10 / мин
запросов к API — при превышении 429
50 000
позиций в одном POST /api/v1/ingest
2 000
SKU за один GET /api/v1/stock
Кому подходит

Свой интернет-магазин

Отдавайте остатки с сайта — без файлов и выгрузок, в реальном времени.

Учётная система / 1С

Скрипт выгрузки шлёт остатки по расписанию из вашей учётки.

Касса / POS

Интеграция с кассой пушит продажи и остатки офлайн-точек.

Любая своя система

Есть код — есть интеграция. Один POST, и данные в Veloseller.

Готовы подключить?

Создайте API-склад, получите токен — и первый POST можно отправить прямо сейчас.

Начать бесплатно
API Veloseller — приём остатков по токену — Veloseller