Экспорт покупателей с сайта

На данной странице описан протокол (алгоритм) процесса экспорта покупателей с сайта на платформе komiz.io в систему бухгалтерского учета, например «1C».

  • При каждом последующем обращении системой бухгалтерского учета к сайту, будут выгружаться только те покупатели, информация которых была изменена после последнего обращения, а также те, что были созданы.
  • Для того чтобы повысить безопасность процесса обмена данными используется секретный ключ. Он используется для формирования параметра signature (см. далее). Значение данного ключа можно узнать зайдя в раздел Настройки / Другие настройки / Интеграция с системой бухгалтерского учета в панели управления сайтом. Данный ключ не должен передаваться третьим лицам.
  • Помните, что в данном механизме действуют ограничения.

Процесс обмена данными происходит посредством двух обращений системы бухгалтерского учета к сайту:

  1. Получение XML файла с данными покупателей;
  2. Отправка подтверждения об обработке полученных покупателей.

Обращения происходят по адресу: http://site.domain/accounting-system/user-export/, где вместо site.domain используется домен панели управления синхронизируемого сайта.

Получение XML файла с данными покупателей

В процессе первого обращения необходимо передать следующие параметры:

  • signature - «подпись», формируемая как хэш секретного ключа, вычисляемый по алгоритму US Secure Hash Algorithm 1 (SHA1).
  • type - тип обращения. Для первого равно export.
  • [не обязательно] lang_dev_name - «имя для разработчика» языка текстовых данных сайта (берется из одноименного поля в настройках на сайте). Этот язык будет использован для всех языково-зависимых данных. Если не передается, то будет использован язык по умолчанию.
  • [не обязательно] time_zone - временная зона, в которой будут интерпретироваться даты и время (например, Europe/Paris). Список поддерживаемых временных зон. Если данный параметр не передается, то используется временная зона из настроек сайта.
  • [не обязательно] additionalFieldArray - массив дополнительных полей, которые необходимо экспортировать. Значением каждого элемента массива является значение поля «Имя в интерфейсе» для определенного дополнительного поля. Если данный параметр не передать, то дополнительные поля не будут экспортированы.

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

Если возникла ошибка на стороне сайта либо передаваемые параметры некорректны, то сайт выводит в поток текст, в первой строке которого содержится failure, а во второй - текст описания ошибки. Для разделения строк используется спецсимвол \n. Отправка подтверждения об обработке полученных покупателей

После того, как системой бухгалтерского учета был получен XML файл со списком покупателей, а также после того как они были обработаны, необходимо выполнить второй запрос к сайту.

В процессе данного обращения необходимо передать следующие параметры:

signature (см. далее). Значение данного ключа можно узнать зайдя на вкладку Система бух. учета на странице Настройки / Интеграция с системой бухгалтерского учета. Данный ключ не должен передаваться третьим лицам.

  • type - тип обращения. Для второго равно export_confirm.
  • session_id - идентификатор сессии обмена данными с системой бухгалтерского учета. Значение данного параметра передается на первом этапе в XML файле в атрибуте sessionId тега users. Это же значение необходимо передать на втором этапе.
  • status - статус операции. Если покупатели успешно обработаны, то необходимо передать значение success. В противном случае значением данного параметра может быть текст описания произошедшей ошибки.

Если не возникло никаких ошибок на стороне сайта и передаваемые параметры корректны, то, в зависимости от значения параметра status происходит следующее.

  • Если status равен success, то сайт помечает переданные на первом этапе покупатели, как успешно синхронизированные и при следующем обращении не будет их передавать.
  • Если status не равен success, то сайт оповещает разработчиков платформы о данной ошибке.

В любом случае (т.е. не зависимо от значения параметра status) сайт выводит в поток текст, в первой строке которого содержится success, а во второй - текст дополнительного описания ответа. Для разделения строк используется спецсимвол \n.

Если возникла ошибка на стороне сайта либо передаваемые параметры некорректны, то сайт выводит в поток текст, в первой строке которого содержится failure, а во второй - текст описания ошибки. Для разделения строк используется спецсимвол \n.

На рис. 1 приведено схематическое изображение протокола обмена данными описанного выше. Схема процесса экспорта покупателей