Алгоритм загрузки документов с сайта
Схема
Алгоритм загрузки документов с сайта в учетную систему можно представить в виде следующей схемы:
Авторизация на сайте
На этапе Авторизация на сайте учетная система получает ресурс из указанного адреса. Адрес генерируется по следующему формату: <Адрес_скрипта> + "?type=sale&mode=checkauth"
, где: <Адрес_скрипта> - адрес, указанный в настройке обмена.
При успешной авторизации сайт возвращает временный файл с данными:
- во 2-ой строке содержится имя куки файла;
- в 3-ей строке содержится значение куки файла;
- в 4-ой строке содержится ключ сессии обмена (CSRF).
Инициализация на сайте
На этапе Инициализация на сайте учетная система получает ресурс из указанного адреса, а также сообщает о версии CommerceML. Адрес генерируется по следующему формату: Адрес_скрипта> + "?type=sale&mode=init" + "&" + <Ключ_сессии> + "&version=" + <Версия_CommerceML>
, где:
- <Адрес_скрипта> - адрес, указанный в настройке обмена;
- <Ключ_сессии> - ключ сессии, полученный на этапе Авторизация на сайте;
- <Версия_CommerceML> - версия структуры XML-файлов обмена.
Заголовок запроса формируется по следующему алгоритму: "Cookie: " + КукиИмя + "=" + КукиЗначение
, где вся информация о куки берется с этапа Авторизация на сайте.
При успешной инициализации сайт возвращает временный файл с данными:
- в 1-ой строке содержится признак, разрешен ли Zip (zip=yes);
- во 2-ой строке содержится информация об ограничении файлов по размеру (file_limit=);
- в 3-ейй строке содержится ключ сессии обмена(CSRF)(sessid=);
- в 4-ой строке содержится версия CommerceML(version=, актуальная на последний момент версия 3.1).
Получение файла с сайта
На этапе Получение файла с сайта учетная система получает файл XML из указанного адреса. Адрес генерируется по следующему формату: <Адрес_скрипта> + "?type=sale &mode=query"+ "&" + <Ключ_сессии>
, где:
- <Адрес_скрипта> - адрес, указанный в настройке обмена;
- <Ключ_сессии> - ключ сессии, полученный на этапе Авторизация на сайте.
Сайт возвращает XML-файл, причем, если на 2-ой строке первые два символа - PK, то файл запакован.