Импорт из файла в формате CSV(Excel)

Материал из CartEnergy
Перейти к: навигация, поиск

Импорт из файла в формате CSV позволяет загрузить в интернет-магазин прайс-лист товаров в формате CSV файла (т.е. Excel).
Очень часто прайс-листы поставщиков предоставляются именно в этом формате.

Что такое csv файл?
.csv файлы - это текстовые файлы, которые обычно используются для переноса данных между разновидными системами.
Вся информация представлена в текстовом виде, а поля разделяются специальными разделителями - это может быть ; или , или другой символ.

Фрагмент .csv файла

Название товара;Кол-во, шт.;Цена, рубл.
Товар 1;150;93
Товар 2;150;14
Товар 3;150;76
Товар 4;150;66

С помощью этого файла Вы можете перенести информацию с Интернет-магазина в любую программу, которая поддерживает этот тип файла.
Как правило, таковой программой в большинстве случаев является Excel.

Excel.jpg
Рис. 1. Фрагмент прайса с товарами в Excel


Для добавления нового источника импорта CartEnergy CSV (Excel)
необходимо в выпадающем списке выбрать 'Импорт товаров из CartEnergy CSV (Excel)' и нажать на кнопку 'Добавить источник импорта'.


Tovary import.png
Рис. 2. Товары. Импорт CartEnergy CSV


Вы можете загрузить прайслист двумя способами:

  1. либо из файла на вашем компьютере,
  2. либо если уже раньше делали загрузку, то есть из файла в административной панели Вашего магазина.

Import file.png
Рис. 3. Товары. Импорт из файла в административной панели


ПОДГОТОВКА ФАЙЛА ДЛЯ ИМПОРТА:

  • Необходимо создать учетную запись в Google Docs (она уже есть, если есть почта gmail.
  • Необходимо создать документ электронной таблицы.

Newtabl.png

  • В первой строке нового документа перечисляются поля заголовка.
  • В последующих строках перечисляются данные.

Import file kontent.png

  • Необходимо сделать документ доступным (Файл → Общий доступ → Включить доступ по ссылке).

Общийдоступ.png

  • Необходимо скопировать ссылку с предыдущего шага.
  • Необходимо добавить источник импорта в админ. панели и указать полученную ссылку в поле «Ссылка на файл с данными» и сохранить источник.

Import ssylkagoogle.png

  • Запустить импорт можно нажав на кнопку «Обработать как можно скорее (две стрелочки)» рядом с источником импорта в списке.

Import nachat.png

  • После выполнения импорта, будет создан файл протокола импорта (в разделе Контент → Файлы, в подкаталоге product-import-logs) с именем <год>-<мес>-<день>-<время>-import-<имя источника импорта>.log*.

Price catalog.png

Для того, что бы получить пример корректного файла импорта, советуем вам в ручном режиме заполнить все поля для одного из товаров, а затем экспортировать этот товар в csv-формат.
Проанализировав полученный файл вам будет легче доработать файл прайс-листа вашего поставщика для последующего добавления и обновления товаров.

Как выгрузить прайс из интернет-магазина смотрите в нашем разделе "Экспорт в файл в формате CSV(Excel)" здесь [1]


Формат CartEnergy CSV имеет свои особенности:

1. Состоит из нескольких строк текста. Первая строка (заголовок) содержит названия полей, разделенные запятой. Остальные строки содержат данные, в порядке определяемом заголовком, разделенные запятой.

Например: row.cmd,row.obid,title:ru,price_value,price_basis_name UPD,product:123,Товар 1,100,usd INS,product:&1,Товар 2,325,usd


2. Если у товара есть варианты, то они перечисляются в строках, следующих за строкой товара (так определяется принадлежность вариантов товару).

Например: row.cmd,row.obid,title:ru,price_value,price_basis_name,qty_value UPD,product:123,Товар 1,100,usd, UPD,variant:555,,,,3 UPD,variant:777,,,,0


3. Если необходимо добавить множественные данные (например несколько категорий к товару или несколько значений свойства товара или варианта), то они перечисляются в строках с следующих за строкой этого товара или варианта с указанием команды MER.

Например: row.cmd,row.obid,title:ru,price_value,price_basis_name,category_id,prop:color:ru UPD,product:123,Товар 1,100,usd,12345,Синий MER,product:123,,,,67890,Голубой MER,product:123,,,,99231,


Описание полей:

Название поля Тип поля

Формат

Описание
row.cmd Строка

INS|UPD|MER|DEL

Обязательное поле, содержащее команду для строки. Это поле всегда должно быть первым по порядку. Команда определяет действие со строкой:

INS — команда создания новой записи (INSert). Создает новую запись товара или варианта. Идентификатор товара или варианта в поле row.obid должен быть ссылкой (начинаться с символа &). В этом случае система не ищет товар или вариант по его идентификатору, а использует его только как ссылку в файле импорта. Если идентфикатор не ссылка, будет ошибка.

UPD — команда обновления записи (UPDate). Обновляет данные в записи товара или варианта по его идентификатору в поле row.obid. Идентификатор товара или варианта можно посмотреть на странице товара (поле ID). Если товар или вариант с таким идентифкатором не найден, будет ошибка. Обновляются все перечисленные в заголовке поля, относящиеся к товару или варианту, даже если они пустые. Если поле допускает несколько значений (например категории или свойства), то все значения будут заменены на указанное в соответствующем поле (или удалены, если оно пустое).

MER — команда обновления записи (MERge). Обновляет данные в записи товара или варианта по его идентификатору в поле row.obid. Однако в отличие от UPD, обновляются только непустые поля (пустые игнорируются). С помощью этой команды удобно добавлять значения полей, допускающих несколько значений (например, категорий или свойств).

DEL — команда удаления (DELete). Если в строке заполнены только поля row.cmd и row.obid то будет удалена запись о товаре или варианте с идентификатором в поле row.obid. Также команда удаления работает с данными полей, допускающих несколько значений, для удаления этих значений.

Строки с любыми другими значениями этого поля игнорируются.

row.obid Строка

(product|variant):(id|&ref)

Обязательное поле, содержащее тип и идентификатор записи. Это поле всегда должно быть вторым по порядку (т. е. идти сразу после row.cmd).

Тип записи и ее идентификатор разделяются двоеточием.

Тип записи может содержать одно из двух значений product (если запись содержит данные товара) или variant (если запись содержит данные варианта).

Идентификатор записи может быть числовым идентификатором товара или варианта в системе (можно посмотреть на странице товара, поле ID). Также идентификатор может быть ссылкой (любая буквенно числовая последовательность начинающаяся с символа &). Ссылки нужны для идентификации новых товаров и вариантов в пределах текущего файла импорта (т. к. для товаров и вариантов числовые идентификаторы назначаются только после их успешного добавления в систему).

Если идентификатор содержит ссылку и команда не INS, или это числовой идентификатор который не найден в системе, будет ошибка.

title:lang Строка

(если в тексте есть запятые или двойные ковычки, весь текст берется в двойные ковычки, двойные ковычки экранируются с помощью дублирования »» значит »)

Поле, содержащее название товара или варианта на определенном языке. Язык задается рядом с названием поля через двоеточие, в качестве обозначения языка используется его код. Коды доступных языков можно посмотреть на странице: Настройки → Языки (код это две буквы отображаемые рядом с иконкой флажка в списке языков, например ru или en).

Если язык не указан явно, то будет выполнена попытка определить основной язык (если в системе настроен только один язык, иначе основной язык - ru).

url_key[:lang] Строка URL-key товара на определенном языке. Правила задания языка аналогичны описанным в поле title.
description[:lang] Строка Короткое описание товара на определенном языке. Правила задания языка аналогичны описанным в поле title.
text[:lang] Строка Полное описание товара на определенном языке. Правила задания языка аналогичны описанным в поле title.
meta_title[:lang] Строка Мета-заголовок товара на определенном языке. Правила задания языка аналогичны описанным в поле title.
meta_description[:lang] Строка Мета-описание товара на определенном языке. Правила задания языка аналогичны описанным в поле title
meta_keywords[:lang] Строка Мета-ключевые слова товара на определенном языке. Правила задания языка аналогичны описанным в поле title.
price_value Целое или дробное число

Разделитель целой и дробной части точка.

Цена товара или варианта. Поле должно обязательно сопровождаться указанием базиса в поле price_basis_name.

Цена может задаваться как для товара так и для вариантов, однако действует правило, если цена для вариантов не задана, то она применяется для всего товара, если цена задана хотя-бы для одного варианта, то для всех остальных вариантов товара она должна быть тоже указана.

price_basis_name Строка Внутреннее имя ценового базиса.
category_id Целое число Идентификатор категории в которую помещается товар (идентификатор можно взять из поля ID на странице редактирования категории).

Это поле допускает указание нескольких значений.

category_priority Целое число Приоритет товара в категории заданной в поле category_id, это поле игнорируется если не задано значение category_id.
category_main Признак

(true|yes|1) — установлен, иначе сброшен

Признак главной категории товара (признак считается установленным если в поле указано одно из значений true, yes, 1. В противном случае признак сброшен). Это поле игнорируется если не задано значение category_id.
property_set_name Строка Внутреннее имя набора свойств товара
qty_unit_id Целое число Идентификатор единицы измерения количества товара (идентификатор можно посмотреть на странице редактирования единиц измерения).
enabled Признак

(true|yes|1) — установлен, иначе сброшен

Признак видимости товара в каталоге (признак считается установленным если в поле указано одно из значений true, yes, 1. В противном случае признак сброшен)
priority Целое число Позиция товара в списках по умолчанию (может быть переопределена для конкретной категории в поле category_priority).
qty_value Целое или дробное число. Разделитель целой и дробной части точка. Количество единиц варианта товара, оставшееся на складе.
sku Строка Артикул варианта.
stock_status OUT|QTY) Режим управления складом для варианта:

IN — вариант всегда доступен на складе OUT — вариант всегда отсутствует на складе QTY — зависит от количества единиц в поле qty_value

allow_booking Признак

(true|yes|1) — установлен, иначе сброшен

Признак доступности варианта под заказ (в случае отсутствия его на складе. Признак считается установленным если в поле указано одно из значений true, yes, 1. В противном случае признак сброшен).
weight Целое или дробное число. Разделитель целой и дробной части точка. Вес варианта в килограммах.
barcode Строка Штрихкод варианта.
prop:name[:lang] Строка Значение свойства с заданным именем на заданном языке. Имя свойства и язык задаются в заголовке. Имя свойства это внутреннее имя свойства, что можно посмотреть на странице редактирования свойства. Правила для языка аналогичные описанным для поля title.