Протокол обмена информацией между учетной программой и сайтом.
Инициатором обмена во всех случаях выступает учетная программа. Обмен производится путем передачи файлов в формате XML, формат для обмена отдельными типами информации описан в соответствующих разделах.
Все запросы учетной программы на сайт должны отправляться на адрес выданный администратору организации в разделе Интеграция с 1С на сайте организации, далее адрес для интеграции.
В общем случае последовательность загрузки и выгрузки данных из учетной программы на сайт выглядит следующим образом:
- Обмен начинается с того, что учетная программа посылает http-запрос вместе с http-авторизацией следующего вида:
http:///bitrix/admin/tszh_exchange.php?mode=checkauth
В качестве логина и пароля для http-авторизации указываются данные пользователя на сайте, имеющего достаточные права на импорт и экспорт данных (например, администратора).
На этот запрос сайт отвечает тремя строками (используется разделитель строк "\n"):- слово "success";
- имя Cookie;
- значение Cookie.
Примечание:
все последующие запросы к сайту сопровождаются выставлением со стороны учетной программы имени и значения Cookie, полученными по команде "checkauth".
- Далее следует запрос вида:
http:///bitrix/admin/tszh_exchange.php?mode=init
В ответ сайт выдает строку:
file_limit=, где - максимально допустимый размер файла в байтах для передачи за один запрос. Если размер файла больше, то он должен быть порезан на части и передаваться в несколько запросов. - Для загрузки данных из учетной программы на сайт отправляется запрос вида:
http:///bitrix/admin/tszh_exchange.php?mode=file&type=&filename=
который загружает на сервер файл обмена, посылая содержимое файла (полностью или очередную его часть) в виде данных POST. В случае успешной записи файла сайт выдает "success".
Далее по запросу из учетной программы проводится пошаговая загрузка данных:
http:///bitrix/admin/tszh_exchange.php?mode=import&type=&filename=&inn=
Во время загрузки сайт может отвечать в одном из следующих форматов:
- Если в первой строке содержится слово "progress" - это означает необходимость послать тот же запрос повторно. В этом случае во второй строке будет возвращен текущий статус обработки, объем загруженных данных, статус импорта и т.д.
Если в строке содержится слово "success", то это сообщает об успешном окончании обработки файла .