Главная · Блог · Как загрузить товары в бота из CSV: колонки, кодировка, варианты и ошибки
Как загрузить товары в бота из CSV: колонки, кодировка, варианты и ошибки
Чтобы бот мог подобрать покупателю товар, назвать цену и сказать, есть ли он в наличии, ему нужен каталог. Если у магазина нет фида и товары не на Wildberries, самый короткий путь — файл: выгрузка из 1С, МоегоСклада или обычная таблица Excel, сохранённая как CSV. Разбираем, как подготовить такой файл, чтобы он загрузился с первого раза: какие колонки обязательны, как записать размеры и цвета, что делать с ценами и наличием и как читать предпросмотр перед загрузкой.
Что такое CSV и почему не Excel
CSV — это таблица в виде текста: одна строка файла — одна строка таблицы, ячейки разделены запятой, точкой с запятой или табуляцией. Такой файл умеет сохранять любая учётная программа и любой табличный редактор.
Файл Excel (.xlsx) каталог напрямую не принимает. Откройте его и сохраните как CSV: «Файл» → «Сохранить как» → «CSV». Подойдут и TSV, и JSON-массив товаров, но для большинства магазинов CSV — самый простой вариант.
Кодировку менять не нужно: каталог понимает и UTF-8, и Windows-1251, в которой русский Excel обычно сохраняет CSV. Разделитель определяется по первой строке сам — запятая, точка с запятой или табуляция.
Обязательные колонки
Первая строка файла — заголовки. Порядок колонок любой, лишние колонки не мешают.
- Артикул — обязателен. Это ключ товара: по нему повторная загрузка обновляет товар, а не создаёт двойника. Строка без артикула пропускается целиком.
- Название — обязательно для нового товара. Строка с артикулом, но без названия, тоже пропустится.
Всё остальное — по желанию, но без цены и наличия боту будет нечего сказать покупателю. Заголовки можно оставить такими, как их выгружает ваша программа: каталог узнаёт русские и английские названия. «Артикул», «код товара», «sku», «offer_id» — одна и та же колонка, «название», «наименование» и «товар» — тоже.
Какие колонки каталог понимает
| Что | Как может называться колонка |
|---|---|
| Цена | цена, стоимость, розничная цена, price |
| Валюта | валюта, currency — RUB, KZT, UZS |
| Наличие | наличие, в наличии, статус наличия |
| Остаток | количество, остаток, кол-во |
| Описание | описание, текст |
| Бренд | бренд, производитель, марка |
| Категория | категория, раздел, группа |
| Ссылка | ссылка, адрес страницы товара |
| Город | город, регион, склад |
| Варианты | размер, цвет, модель |
| Штрихкод | штрихкод, EAN, GTIN |
Колонку, которую каталог не узнал, он не выбрасывает: она станет характеристикой товара под своим заголовком. «Материал», «Сезон» или «Объём» попадут в карточку как есть.
Размеры и цвета: один товар — несколько строк
Если у товара есть размеры или цвета, не нужно придумывать отдельные артикулы и колонки «размер 1», «размер 2». Запишите каждый вариант отдельной строкой с тем же артикулом:
| артикул | название | размер | цена | остаток |
|---|---|---|---|---|
| RUN-01 | Кроссовки Novo Run | 40 | 5490 | 3 |
| RUN-01 | 41 | 5490 | 0 | |
| RUN-01 | 42 | 5490 | 5 |
Каталог соберёт из них один товар с тремя вариантами. Название, описание и бренд берутся из первой строки товара — в остальных их можно не повторять. Вариант различается по колонкам «размер», «цвет» и «модель»: если ни одной нет, у товара будет единственный вариант.
Цены и валюта
Цену можно записать так, как она выглядит в прайсе: 5490, 5 490, 1 234,50 ₽. Каталог сам уберёт пробелы и знак валюты.
Неоднозначные записи он не угадывает. 1,299 может быть и «тысяча двести девяносто девять», и «один рубль тридцать копеек» — такую цену каталог не примет и покажет ошибку в строке. Ошибиться в цене в тысячу раз хуже, чем попросить исправить ячейку.
Валюты — рубли, тенге и сумы. Если валюты в файле нет ни колонкой, ни знаком в цене, каталог возьмёт валюту магазина и скажет об этом в предпросмотре: «В файле не было валюты — взяли валюту магазина». Цена в долларах или евро — ошибка строки, а не пересчёт по курсу.
Наличие и остаток
Главное правило каталога: пустая клетка — это «не знаю», а не ноль. Пустая цена или остаток не превратятся в 0 и не сделают товар «нет в наличии».
- В колонке «наличие» понятны слова «да», «нет», «в наличии», «нет в наличии», «есть», «отсутствует», а также
1и0,+и-. - «Под заказ», «предзаказ» и «ожидается» каталог запишет как «наличие неизвестно» — он не станет обещать покупателю, что товар есть, и не скажет, что его нет.
- Если «наличие» пустое, а остаток указан, наличие выводится из остатка.
- Если в «наличии» написано «да», а остаток 0, файл противоречит сам себе — каталог наличие не пообещает.
Город, ссылка и характеристики
Три колонки, которые делают ответы бота точнее:
- Город или склад. Если цена или наличие отличаются по городам, запишите товар отдельной строкой на каждый город с колонкой «город». Тогда у товара будет несколько предложений, и бот сможет ответить про наличие в нужном месте.
- Ссылка. Адрес страницы товара на сайте или маркетплейсе. Под карточкой бота появится кнопка «Открыть товар», которая ведёт по этой ссылке. Адрес должен начинаться с http:// или https://, иначе каталог покажет ошибку в строке.
- Характеристики. «Материал», «Состав», «Для какого типа кожи» — всё, о чём спрашивают покупатели. Отдельных колонок под них заводить не нужно: любая незнакомая колонка станет характеристикой, и ИИ-продавец сможет на неё опереться в ответе.
Колонку «совместим с» каталог сохраняет как характеристику, а не как подтверждённую связь товаров: связи между товарами подтверждаете вы.
Как загрузить файл
- «Продажи» → «Каталог» → «Импорт из файла».
- Выберите файл в поле «Файл каталога». «Формат файла» обычно определяется сам, вручную его меняют, только если файл разобрался не так.
- Нажмите «Загрузить и проверить». Файл ещё ничего не меняет — сначала предпросмотр.
- Посмотрите итог и строки с ошибками.
- Нажмите «Применить» — или «Отмена», если что-то не так: отмена просто удалит предпросмотр.
Ограничения: файл до 5 МБ и до 50 000 строк. Если больше — разбейте его на части и загрузите по очереди. Загружать каталог могут владелец и администратор проекта.
Как читать предпросмотр
Предпросмотр показывает, что произойдёт с каждой строкой: «создастся» — новый товар, «обновится» — товар с таким артикулом уже есть, «пропустится» — строка без изменений или без артикула. Ниже — первые строки файла, чтобы вы убедились, что колонки распознаны правильно, и таблица «Ошибки в строках» с номером строки, колонкой и причиной.
Строки с ошибками в каталог не попадут, остальные применятся: из-за одной кривой строки ничего не откатывается. Исправьте ошибки в исходной таблице и загрузите файл заново — повторное применение не создаст дублей, товары сопоставятся по артикулу.
Если вы загрузили тот же файл второй раз, предпросмотр предупредит: «Такой же файл уже загружали». История загрузок — в «Прошлые импорты».
После загрузки: черновики и публикация
Новые товары из файла приходят черновиками. Бот предлагает покупателю только опубликованное, поэтому после импорта откройте каталог, проверьте карточки и нажмите «Опубликовать» у нужных товаров. Публикация — по одному товару, массовой кнопки нет. Товар с ошибками в данных — без цены или без вариантов — опубликовать не получится, пока данные не исправлены.
Повторный импорт обновляет цены, остатки и то, что пришло из файла, но не меняет статус: опубликованное остаётся опубликованным, черновик — черновиком. Описания и характеристики, которые вы подтвердили вручную, не затираются. Товар, которого нет в новом файле, тоже не исчезает — он просто не обновится.
Покупателю каталог показывает ИИ-продавец: подбирает товар по вопросу и присылает карточку. Он работает с тарифа Базовый, а сам каталог можно загрузить на любом тарифе.
Как часто обновлять файл
Файл не обновляется сам: каталог узнаёт новые цены, только когда вы загружаете новый файл. Через 7 дней после загрузки товары помечаются «устарели данные» — это напоминание, что бот называет цены недельной давности.
Если цены и остатки меняются часто, удобнее положить CSV по постоянной ссылке и подключить его как фид в «Маркетплейсы» → «Интернет-магазин»: тогда каталог перечитывает его сам. Так можно подключить, например, Google Таблицу, опубликованную как CSV, — подробнее в статье про бота и Google Таблицы. А если ваш сайт отдаёт YML, лучше подключить его — там приходят и фото. Что это за формат, разобрано в статье о YML-фиде.
Частые ошибки
- Объединённые ячейки и подзаголовки. Строка «Обувь» над группой товаров — это не товар. Удалите такие строки, а раздел запишите в колонку «категория».
- Две строки заголовков. Заголовок — только первая строка, вторая будет прочитана как товар без артикула.
- Цена с запятой без копеек.
1,299не примется — пишите1299или1 299. - Ждут фото. Колонки для картинок нет, ссылка на фото станет характеристикой. Фото приходят из фида YML или Google Merchant и из карточек Wildberries.
- Не опубликовали. Импорт создаёт черновики — без «Опубликовать» бот их не предложит.
Каталог товаровИИ-продавецЧто такое YML-фидЧат-бот и Google Таблицы