Главная · Блог · Как загрузить товары в бота из 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 Run4054903
RUN-014154900
RUN-014254905

Каталог соберёт из них один товар с тремя вариантами. Название, описание и бренд берутся из первой строки товара — в остальных их можно не повторять. Вариант различается по колонкам «размер», «цвет» и «модель»: если ни одной нет, у товара будет единственный вариант.

Цены и валюта

Цену можно записать так, как она выглядит в прайсе: 5490, 5 490, 1 234,50 ₽. Каталог сам уберёт пробелы и знак валюты.

Неоднозначные записи он не угадывает. 1,299 может быть и «тысяча двести девяносто девять», и «один рубль тридцать копеек» — такую цену каталог не примет и покажет ошибку в строке. Ошибиться в цене в тысячу раз хуже, чем попросить исправить ячейку.

Валюты — рубли, тенге и сумы. Если валюты в файле нет ни колонкой, ни знаком в цене, каталог возьмёт валюту магазина и скажет об этом в предпросмотре: «В файле не было валюты — взяли валюту магазина». Цена в долларах или евро — ошибка строки, а не пересчёт по курсу.

Наличие и остаток

Главное правило каталога: пустая клетка — это «не знаю», а не ноль. Пустая цена или остаток не превратятся в 0 и не сделают товар «нет в наличии».

  • В колонке «наличие» понятны слова «да», «нет», «в наличии», «нет в наличии», «есть», «отсутствует», а также 1 и 0, + и -.
  • «Под заказ», «предзаказ» и «ожидается» каталог запишет как «наличие неизвестно» — он не станет обещать покупателю, что товар есть, и не скажет, что его нет.
  • Если «наличие» пустое, а остаток указан, наличие выводится из остатка.
  • Если в «наличии» написано «да», а остаток 0, файл противоречит сам себе — каталог наличие не пообещает.

Город, ссылка и характеристики

Три колонки, которые делают ответы бота точнее:

  • Город или склад. Если цена или наличие отличаются по городам, запишите товар отдельной строкой на каждый город с колонкой «город». Тогда у товара будет несколько предложений, и бот сможет ответить про наличие в нужном месте.
  • Ссылка. Адрес страницы товара на сайте или маркетплейсе. Под карточкой бота появится кнопка «Открыть товар», которая ведёт по этой ссылке. Адрес должен начинаться с http:// или https://, иначе каталог покажет ошибку в строке.
  • Характеристики. «Материал», «Состав», «Для какого типа кожи» — всё, о чём спрашивают покупатели. Отдельных колонок под них заводить не нужно: любая незнакомая колонка станет характеристикой, и ИИ-продавец сможет на неё опереться в ответе.

Колонку «совместим с» каталог сохраняет как характеристику, а не как подтверждённую связь товаров: связи между товарами подтверждаете вы.

Как загрузить файл

  1. «Продажи» → «Каталог» → «Импорт из файла».
  2. Выберите файл в поле «Файл каталога». «Формат файла» обычно определяется сам, вручную его меняют, только если файл разобрался не так.
  3. Нажмите «Загрузить и проверить». Файл ещё ничего не меняет — сначала предпросмотр.
  4. Посмотрите итог и строки с ошибками.
  5. Нажмите «Применить» — или «Отмена», если что-то не так: отмена просто удалит предпросмотр.

Ограничения: файл до 5 МБ и до 50 000 строк. Если больше — разбейте его на части и загрузите по очереди. Загружать каталог могут владелец и администратор проекта.

Как читать предпросмотр

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

Строки с ошибками в каталог не попадут, остальные применятся: из-за одной кривой строки ничего не откатывается. Исправьте ошибки в исходной таблице и загрузите файл заново — повторное применение не создаст дублей, товары сопоставятся по артикулу.

Если вы загрузили тот же файл второй раз, предпросмотр предупредит: «Такой же файл уже загружали». История загрузок — в «Прошлые импорты».

После загрузки: черновики и публикация

Новые товары из файла приходят черновиками. Бот предлагает покупателю только опубликованное, поэтому после импорта откройте каталог, проверьте карточки и нажмите «Опубликовать» у нужных товаров. Публикация — по одному товару, массовой кнопки нет. Товар с ошибками в данных — без цены или без вариантов — опубликовать не получится, пока данные не исправлены.

Повторный импорт обновляет цены, остатки и то, что пришло из файла, но не меняет статус: опубликованное остаётся опубликованным, черновик — черновиком. Описания и характеристики, которые вы подтвердили вручную, не затираются. Товар, которого нет в новом файле, тоже не исчезает — он просто не обновится.

Покупателю каталог показывает ИИ-продавец: подбирает товар по вопросу и присылает карточку. Он работает с тарифа Базовый, а сам каталог можно загрузить на любом тарифе.

Как часто обновлять файл

Файл не обновляется сам: каталог узнаёт новые цены, только когда вы загружаете новый файл. Через 7 дней после загрузки товары помечаются «устарели данные» — это напоминание, что бот называет цены недельной давности.

Если цены и остатки меняются часто, удобнее положить CSV по постоянной ссылке и подключить его как фид в «Маркетплейсы» → «Интернет-магазин»: тогда каталог перечитывает его сам. Так можно подключить, например, Google Таблицу, опубликованную как CSV, — подробнее в статье про бота и Google Таблицы. А если ваш сайт отдаёт YML, лучше подключить его — там приходят и фото. Что это за формат, разобрано в статье о YML-фиде.

Частые ошибки

  • Объединённые ячейки и подзаголовки. Строка «Обувь» над группой товаров — это не товар. Удалите такие строки, а раздел запишите в колонку «категория».
  • Две строки заголовков. Заголовок — только первая строка, вторая будет прочитана как товар без артикула.
  • Цена с запятой без копеек. 1,299 не примется — пишите 1299 или 1 299.
  • Ждут фото. Колонки для картинок нет, ссылка на фото станет характеристикой. Фото приходят из фида YML или Google Merchant и из карточек Wildberries.
  • Не опубликовали. Импорт создаёт черновики — без «Опубликовать» бот их не предложит.

Ещё в блоге