Импорт товаров на сайт
На данной странице описан протокол (алгоритм) процесса импорта товаров на сайт на платформе komiz.io из системы бухгалтерского учета, например «1C».
Основные тезисы
- Предполагается, что при каждом последующем обращении системой бухгалтерского учета к сайту, будут выгружаться только те товары, информация которых была изменена после последнего обращения, а также те, что были созданы. Преследуются цели экономии ресурсов.
- Для того чтобы повысить безопасность процесса обмена данными используется секретный ключ. Он используется для формирования параметра
signature
(см. далее). Значение данного ключа можно узнать зайдя в раздел Настройки / Другие настройки / Интеграция с системой бухгалтерского учета в панели управления сайтом. Данный ключ не должен передаваться третьим лицам. - НУЖНО ПОМНИТЬ! В настройках панели управления сайта необходимо указать требуемый тип работы с системой бух. учета. Это можно сделать в разделе Настройки / Другие настройки / Интеграция с системой бухгалтерского учета.
- НУЖНО ПОМНИТЬ! Если передается товар без модификаций, то он игнорируется
- В текущей версии нет возможности удалять товары и модификации. Это требует обсуждения
- Если передать только часть необязательной информации, то только она будет отредактирована. В том числе, если передать не все модификации, то только те, что переданы, будут отредактированы, а информация остальных останется неизменной (и они не будут удалены).
- Помните, что в данном механизме действуют ограничения.
Процесс обмена данными происходит посредством одного обращения системы бухгалтерского учета к сайту, в процессе которого передается файл с данными товаров.
Обращения происходят по адресу: http://site.domain/accounting-system/offer-import/
, где вместо site.domain
используется домен панели управления синхронизируемого сайта.
Отправка файла с данными товаров
В процессе данного обращения необходимо передать следующие параметры:
signature
- «подпись», формируемая как хэш секретного ключа, вычисляемый по алгоритму US Secure Hash Algorithm 1 (SHA1).type
- тип импорта:import_as_xml
либоimport_as_zip
(описание см. ниже).file_name
- имя, которое будет иметь передаваемый XML файл. ВНИМАНИЕ! Рекомендуем в имени файла использовать только буквы латинского алфавита (например, «file»).- Также передается сам файл, имя которого указывается как значение параметра
file_name
. Если тип импортаimport_as_xml
, то передается XML файл, иначе, если тип импортаimport_as_zip
, то передается файл ZIP архива, в корне которого, как минимум, лежит XML файл с именем offers.xml. Также могут быть размещены файлы изображений товаров, относительные адреса которых указываются в тегах<image></image>
XML файла. - [не обязательно]
lang_dev_name
- «имя для разработчика» языка сайта (берется из одноименного поля в настройках языка на сайте). Этот язык будет использован для всех языково-зависимых данных. Если не передается, то будет использован язык по умолчанию. - [не обязательно]
time_zone
- временная зона, в которой будут интерпретироваться даты и время (например,Europe/Paris
). Список поддерживаемых временных зон. Если данный параметр не передается, то используется временная зона из настроек сайта. - [не обязательно]
test
- если передать данный параметр, а его значение будет равно1
(единица), то система перейдет в режим тестирования. При этом будут производиться все операции кроме внесения изменений в базу данных сайта (в том числе не будет производиться проверок существования товаров и тому подобное). - [не обязательно]
addOfferAndModKey
- если передать данный параметр, а его значение будет равно0
(ноль), то система будет игнорировать ситуации, когда возникает необходимость создавать товары или модификации товаров. - [не обязательно]
editOfferAndModKey
- если передать данный параметр, а его значение будет равно0
(ноль), то система будет игнорировать ситуации, когда возникает необходимость редактировать товары или модификации товаров. - [не обязательно]
addSizeAndColorKey
- если передать данный параметр, а его значение будет равно0
(ноль), то система будет блокировать процесс импорта, если передан не существующий размер или цвет. В противном случае, система будет создавать их.
Если не возникло никаких ошибок на стороне сайта и передаваемые параметры корректны, то сайт выводит в поток текст, в первой строке которого содержится success
, а во второй - текст дополнительного описания ответа. Для разделения строк используется спецсимвол \n
.
Если возникла ошибка на стороне сайта либо передаваемые параметры некорректны, то сайт выводит в поток текст, в первой строке которого содержится failure
, а во второй - текст описания ошибки. Для разделения строк используется спецсимвол \n
.
Схема процесса импорта товаров
На рис. 1 приведено схематическое изображение протокола обмена данными описанного выше.