# Импорт товаров через REST API Lalaza — версия 1 1. В кабинете откройте «Интеграции и API», создайте подключение REST API и отправьте на проверку. 2. После одобрения создайте ключ в карточке подключения. Сохраните его: значение показывается один раз. Ключ ограничен профилем и связан с подключением. 3. Сервер вашей системы отправляет товары по HTTPS. ID подключения берётся из кабинета, а не из ID профиля. ```http POST https://lalaza.ru/api/v1/integrations/123/products X-API-Key: ВАШ_КЛЮЧ Content-Type: application/json {"products":[{"external_id":"sku:123","title":"Смартфон Samsung Galaxy A55","description":"Состояние и комплект товара. Добавьте подробное описание и особенности предложения.","category":"phones","category_name":"Смартфоны","price":"25000","currency":"RUB","stock":2,"images":["https://shop.example.ru/images/123.jpg"],"params":{"Состояние":"new"},"url":"https://shop.example.ru/product/123"}]} ``` До 25 товаров за запрос, тело до 1 МБ, до 120 запросов в минуту на подключение. Ответ 202 означает приём в очередь, а не публикацию. Ключ не передавайте в адресе страницы, JavaScript посетителя или логах. `external_id` — постоянная строка 1–200 символов, уникальная внутри подключения. Для каждого варианта/SKU задавайте свой ID. Название, SKU и URL могут меняться, но external_id должен сохраняться. Передавайте полное состояние товара; повтор одного и того же пакета не создаст дублей. Поля: | Поле | Формат | | --- | --- | | title | 5–180 символов | | description | До 50 000 символов после удаления HTML. Для модерации минимум 30 | | category | ID категории источника (строка) | | category_name | Человекочитаемое имя категории | | price | Цена в целых рублях, либо null (договорная); дробные цены не округляются молча | | currency | RUB | | stock | Целое число 0–1 000 000 | | images | До 20 публичных HTTPS-ссылок, JPEG/PNG/WebP, до 12 МБ / 24 Мп каждое | | params | Объект до 100 пар название/значение; сопоставление задаётся в Lalaza | | url | URL товара источника, до 2048 символов | 4. После первого пакета в карточке подключения сопоставьте категории и характеристики, выберите поля обновления. Новые объявления по умолчанию создаются черновиками. Включите импорт. 5. Проверяйте `GET /api/v1/integrations/123` с тем же ключом: counts, last_run, issues и первые 50 products. Успешный импорт не означает прохождение модерации объявления. HTTP 401 — неверный, отозванный или истёкший ключ. 403 — подключение не одобрено, чужой профиль или ключ другого подключения. 413 — слишком большой пакет. 422 — ошибки структуры товара: исправьте и передайте заново. 429/5xx — повторите с увеличивающейся задержкой, сохранив external_id. При сетевом сбое повторите тот же пакет. Исчезновение товара не удаляет объявление. Для отсутствия в наличии передайте stock:0. Это обновляет остаток; объявление само не архивируется. Смена профиля в привязанном объявлении останавливает синхронизацию. Ручные изменения не затираются: конфликт разрешается в кабинете. Запись товаров обычным пользовательским API-ключом также требует одобренного подключения. Для CMS используйте ключ именно из карточки интеграции. Встроенный бот Lalaza управляется отдельно.