1С: «Обмен с сайтом»

Подходит для 1С:Управление торговлей, 1С:УНФ, 1С:Розница и других конфигураций со стандартным обменом CommerceML.

  1. В кабинете магазина: «Загрузка товаров» → «Обмен с 1С» → «Получить логин и пароль». Пароль показывается один раз.
  2. В 1С: «Администрирование» → «Обмен с сайтами» (или «Интеграция с сайтом») → создать узел обмена.
  3. Адрес сайта: https://tutprosto.site/api/v1/1c/exchange, логин и пароль — из кабинета.
  4. Выгружать: товары, цены (розничный вид цен), остатки. Картинки можно не выгружать — фото добавляются ссылками или в кабинете.
  5. Расписание — раз в час или раз в день. Каждая выгрузка подтверждает актуальность цен.

Полная выгрузка снимает с витрины товары, которых в ней нет; выгрузка «только изменения» — только обновляет. Если цены вдруг выросли в 3 раза или пропадает больше 20 % каталога, загрузка ждёт подтверждения в кабинете.

API

Ключ создаётся в кабинете магазина: «Загрузка товаров» → «Ключи API». Боевой ключ начинается с tpk_live_, песочный — с tpk_test_ (отвечает так же, но ничего не записывает). Храните ключ как пароль; отозвать его можно в кабинете.

Загрузить товары (до 1000 за раз)

curl -X POST https://tutprosto.site/api/v1/shop-api/products/batch \
  -H "Authorization: Bearer tpk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "upsert",
    "dry_run": false,
    "products": [
      {"external_id": "A-001", "title": "Саморез 3,5×35, 100 шт", "price": 149,
       "quantity": 25, "unit": "упак", "category": "Крепёж",
       "barcode": "4601234567890", "images": ["https://example.ru/a001.jpg"]}
    ],
    "hide": ["A-777"]
  }'
  • external_id — ваш код товара. Повтор того же пакета ничего не дублирует.
  • mode: upsert — добавить и обновить; sync — ещё и снять с витрины всё, чего нет в пакете (для каталогов до 1000 товаров). Для больших каталогов — upsert частями и список hide.
  • dry_run: true — проверить без записи: в ответе будет, сколько добавится, обновится и какие ошибки.
  • price — в рублях (149 или 149.90). quantity: 0 — «нет в наличии», 1–2 — «осталось мало».
  • Ответ: номер загрузки, статистика, ошибки по каждой строке с подсказкой. Статус held — сработал предохранитель: проверьте и повторите с "confirm": true.

Другие запросы

GET  https://tutprosto.site/api/v1/shop-api/shop                    — магазин, лимит, когда подтверждены цены
GET  https://tutprosto.site/api/v1/shop-api/products?page=1&per_page=200
POST https://tutprosto.site/api/v1/shop-api/prices/confirm          — «цены актуальны»
GET  https://tutprosto.site/api/v1/shop-api/imports/{id}            — результат загрузки
POST https://tutprosto.site/api/v1/shop-api/imports/{id}/rollback   — откатить последнюю загрузку

Лимиты: 300 чтений и 30 пакетов в минуту на магазин. Алкоголь, табак и никотин не публикуются; товары с подозрительными словами сначала смотрит модератор. Данные «Тут Просто» нельзя выкачивать и публиковать в других местах без разрешения.

Нужна помощь с настройкой? Закажите подключение «под ключ» или напишите в поддержку.