На данной странице описан протокол (алгоритм) процесса экспорта товаров с сайта на платформе komiz.io в систему бухгалтерского учета, например «1C».
signature (см. далее). Значение данного ключа можно узнать зайдя в раздел Настройки / Другие настройки / Интеграция с системой бухгалтерского учета в панели управления сайтом. Данный ключ не должен передаваться третьим лицам.Процесс обмена данными происходит посредством двух обращений системы бухгалтерского учета к сайту:
Обращения происходят по адресу: http://site.domain/accounting-system/offer-export/, где вместо site.domain используется домен панели управления синхронизируемого сайта.
В процессе первого обращения необходимо передать следующие параметры:
signature - «подпись», формируемая как хэш секретного ключа, вычисляемый по алгоритму US Secure Hash Algorithm 1 (SHA1).type - тип обращения. Для первого равно export_as_xml либо export_as_zip (описание см. ниже).lang_dev_name - «имя для разработчика» языка текстовых данных сайта (берется из одноименного поля в настройках на сайте). Этот язык будет использован для всех языково-зависимых данных. Если не передается, то будет использован язык по умолчанию.time_zone - временная зона, в которой будут интерпретироваться даты и время (например, Europe/Paris). Список поддерживаемых временных зон. Если данный параметр не передается, то используется временная зона из настроек сайта.additionalFieldArray - массив дополнительных полей, которые необходимо экспортировать. Значением каждого элемента массива является значение поля «Имя в интерфейсе» для определенного дополнительного поля. Если данный параметр не передать, то дополнительные поля не будут экспортированы.
Если не возникло никаких ошибок на стороне сайта и передаваемые параметры корректны, то сайт выводит в поток содержимое, зависящее от значения параметра type.
type передать равным export_as_xml, то в поток будет выведен XML файл.export_as_zip, то в поток будет выведен ZIP архив, в корне которого будет размещен XML файл с именем offers.xml. В таком случае, в данном архиве будут размещены файлы изображений товаров, относительные пути которых будут указаны в тегах
XML файла.
Если возникла ошибка на стороне сайта либо передаваемые параметры некорректны, то сайт выводит в поток текст, в первой строке которого содержится failure, а во второй - текст описания ошибки. Для разделения строк используется спецсимвол \n.
Отправка подтверждения об обработке полученных данных товаров
После того, как системой бухгалтерского учета был получен файл с данными товаров, а также после того как они были обработаны, необходимо выполнить второй запрос к сайту.
В процессе данного обращения необходимо передать следующие параметры:
signature - «подпись», формируемая как хэш секретного ключа, вычисляемый по алгоритму US Secure Hash Algorithm 1 (SHA1).type - тип обращения. Для второго равно export_confirm.session_id - идентификатор сессии обмена данными с системой бухгалтерского учета. Значение данного параметра передается на первом этапе в XML файле в атрибуте sessionId тега offers. Это же значение необходимо передать на втором этапе.status - статус операции. Если товары успешно обработаны, то необходимо передать значение success. В противном случае значением данного параметра может быть текст описания произошедшей ошибки.
Если не возникло никаких ошибок на стороне сайта и передаваемые параметры корректны, то, в зависимости от значения параметра status происходит следующее.
status равен success, то сайт помечает переданные на первом этапе товары, как успешно синхронизированные и, при следующем обращении, не будет их передавать.status не равен success, то сайт оповещает разработчиков платформы о данной ошибке.
В любом случае (т.е. не зависимо от значения параметра status) сайт выводит в поток текст, в первой строке которого содержится success, а во второй - текст дополнительного описания ответа. Для разделения строк используется спецсимвол \n.
Если возникла ошибка на стороне сайта либо передаваемые параметры некорректны, то сайт выводит в поток текст, в первой строке которого содержится failure, а во второй - текст описания ошибки. Для разделения строк используется спецсимвол \n.
На рис. 1 приведено схематическое изображение протокола обмена данными описанного выше.