{{indexmenu_n>0003}} ====== Импорт покупателей на сайт ====== На данной странице описан протокол (алгоритм) процесса импорта покупателей на сайт на платформе komiz.io из системы бухгалтерского учета, например "1C". ===== Основные тезисы ===== * Предполагается, что при каждом последующем обращении системой бухгалтерского учета к сайту, будут выгружаться только те покупатели, информация которых была изменена после последнего обращения, а также те, что были созданы. Преследуются цели экономии ресурсов. * Для того чтобы повысить безопасность процесса обмена данными используется секретный ключ. Он используется для формирования параметра ''signature'' (см. далее). Значение данного ключа можно узнать зайдя в раздел **Настройки / Другие настройки / Интеграция с системой бухгалтерского учета** в панели управления сайтом. Данный ключ не должен передаваться третьим лицам. * Помните, что в данном механизме действуют [[dev:as:ogranicheniia|ограничения]]. Процесс обмена данными происходит посредством одного обращения системы бухгалтерского учета к сайту, в процессе которого передается XML файл с данными покупателей. Обращения происходят по адресу: ''http://site.domain/accounting-system/user-import/'', где вместо ''site.domain'' используется домен панели управления синхронизируемого сайта. ===== Отправка XML файла с данными покупателей ===== В процессе данного обращения необходимо передать следующие параметры: * ''signature'' - "подпись", формируемая как хэш секретного ключа, вычисляемый по алгоритму [[https://tools.ietf.org/html/rfc3174|US Secure Hash Algorithm 1 (SHA1)]]. * ''file_name'' - имя, которое будет иметь передаваемый XML файл. ВНИМАНИЕ! Рекомендуем в имени файла использовать только буквы латинского алфавита (например, "file"). * Также передается сам XML файл, имя которого указывается как значение параметра ''file_name''. * [не обязательно] ''time_zone'' - временная зона, в которой будут интерпретироваться даты и время (например, ''Europe/Paris''). [[http://php.net/manual/ru/timezones.php|Список поддерживаемых временных зон]]. Если данный параметр не передается, то используется временная зона из настроек сайта. * [не обязательно] ''test'' - если передать данный параметр, а его значение будет равно ''1'' (единица), то система перейдет в режим тестирования. При этом будут производиться все операции кроме внесения изменений в базу данных сайта (в том числе не будет производиться проверок существования покупателей и тому подобное). Если не возникло никаких ошибок на стороне сайта и передаваемые параметры корректны, то сайт выводит в поток текст, в первой строке которого содержится ''success'', а во второй - текст дополнительного описания ответа. Для разделения строк используется спецсимвол ''\n''. Если возникла ошибка на стороне сайта либо передаваемые параметры некорректны, то сайт выводит в поток текст, в первой строке которого содержится ''failure'', а во второй - текст описания ошибки. Для разделения строк используется спецсимвол ''\n''. ===== Схема процесса импорта покупателей ===== На рис. 1 приведено схематическое изображение протокола обмена данными описанного выше. {{ :dev:as:user-import-scheme.png?nolink |Схема процесса импорта покупателей}}