Протокол используется штатной процедурой обмена коммерческими данными между системой "1С:Підприємство ", с одной стороны, и системой управления сайтом, с другой стороны.
Функционально обмен делится на два блока:
Первый блок обеспечивает публикацию на сайте каталога номенклатурных позиций и данных. Второй блок необходим для передачи с сайта в систему "1С:Підприємство " информации о заказах интернет-магазина, и дальнейшую синхронизацию статусов и параметров заказов.
В обоих случаях инициатором обмена выступает система "1С:Підприємство ". Обмен электронными документами осуществляется в соответствии с правилами и форматами, описанными в стандарте CommerceML 2.
При инициализации взаимодействия устанавливается HTTP соединение. Система "1С:Підприємство " запрашивает у сайта необходимые параметры, такие, как максимальный объем пакета, поддержка сжатия и др.. На основании этих данных система 1С:Підприємство формирует XML сообщения и передает их на сайт.
Данные для публикации на сайте выгружаются одним пакетом.
A. Начало сеанса
Выгрузка данных начинается с того, что система "1С:Підприємство " отправляет http-запрос следующего вида: // <сайт>/<путь> /1c_exchange.php?type=catalog&mode=checkauth.
В ответ система управления сайтом передает системе «1С:Підприємство » три строки (используется разделитель строк "\n"):
Примечание. Все последующие запросы к системе управления сайтом со стороны "1С:Підприємство" содержат в заголовке запроса имя и значение Cookie.
B. Запрос параметров от сайта
Далее следует запрос следующего вида: // <сайт>/<путь> /1c_exchange.php?type=catalog&mode=init
В ответ система управления сайтом передает две строки:
zip=yes, если сервер поддерживает обмен в zip-формате - в этом случае на следующем шаге файлы должны быть упакованы в zip-формате
или
zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.
file_limit=<число>, где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Підприємство " понадобится передать файл большего размера, его следует разделить на фрагменты.
C. Выгрузка на сайт файлов обмена
Затем "1С:Підприємство " запросами с параметрами вида
// <сайт>/<путь> /1c_exchange.php?type=catalog&mode=file&filename=<имя файла>
выгружает на сайт файлы обмена в формате CommerceML 2, посылая содержимое файла или его части в виде POST.
В случае успешной записи файла система управления сайтом выдает строку "success".
D. Пошаговая загрузка данных
На последнем шаге по запросу из "1С:Підприємство " производится пошаговая загрузка данных по запросу с параметрами вида // <сайт>/<путь> /1c_exchange.php?type=catalog&mode=import&filename=<имя файла>
Во время загрузки система управления сайтом может отвечать в одном из следующих вариантов.
Если в первой строке содержится слово "progress" - это означает необходимость послать тот же запрос еще раз. В этом случае во второй строке будет возвращен текущий статус обработки, объем загруженных данных, статус импорта и т.д.
Если в ответ передается строка со словом "success", то это будет означать сообщение об успешном окончании обработки файла.
Примечание. Если в ходе какого-либо запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово "failure", а в следующих строках - описание ошибки, произошедшей в процессе обработки запроса.
Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.
Примеры файлов выгрузки
Заказы, оформленные на сайте, загружаются в систему "1С:Підприємство ".
Последовательность действий при работе с заказом
Заказ оформляется на сайте
При передаче в систему "1С:Підприємство " в заказе устанавливается категория "Заказ с сайта".
При формировании заказа в системе "1С:Підприємство " записываются номер и дата заказа, с которыми он оформлен на сайте. Поиск контрагента осуществляется по ИНН или наименованию, в зависимости от указанных настроек.
При загрузке заказа производится поиск договора с контрагентом. Договор ищется среди существующих договоров с клиентом, с признаком ведения взаиморасчетов по заказам (по указанной в настройках загрузки Организации). Если не находится ни один договор, то создается новый.
При загрузке заказа загружаются все его свойства, переданные с сайта. Свойства ищутся в системе "1С:Підприємство " по наименованию. Если с таким наименованием свойства нет, то заводится новое свойство со значениями типа строка или число.
Заказ может модифицироваться в системе "1С:Підприємство ", при этом его изменения будут выгружаться на сайт
Если заказ оплачивается или отгружается в системе "1С:Підприємство ", то состояния заказа по оплате и по отгрузке выгружаются на сайт только при полном выполнении операции (полной оплате и полной отгрузке). До этого момента заказ считается не оплаченным и не отгруженным.
При попытке в системе "1С:Підприємство " изменить заказ, по которому произведена оплата или отгрузка, заказ на сайт не загрузится как измененный. При этом пользователь получит об этом сообщение.
После каждой выгрузка заказа на сайт, на стороне сайта определяются значения его категорий (ссылка на категории). Эти значения устанавливаются в системе "1С:Підприємство " так, как они присвоены заказу на сайте
A. Начало сеанса
Выгрузка данных начинается с того, что система "1С:Підприємство " отправляет http-запрос следующего вида: // <сайт>/<путь> /1c_exchange.php?type=sale&mode=checkauth.
В ответ система управления сайтом передает системе «1С:Підприємство » три строки (используется разделитель строк "\n"):
Примечание. Все последующие запросы к системе управления сайтом со стороны "1С:Підприємство " содержат в заголовке запроса имя и значение Cookie.
B. Уточнение параметров сеанса
Далее следует запрос следующего вида: // <сайт>/<путь> /1c_exchange.php?type=sale&mode=init
В ответ система управления сайтом передает две строки:
zip=yes, если сервер поддерживает обмен в zip-формате - в этом случае на следующем шаге файлы должны быть упакованы в zip-формате
или
zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.
file_limit=<число>, где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Підприємство " понадобится передать файл большего размера, его следует разделить на фрагменты.
C. Получение файла обмена с сайта
Затем на сайт отправляется запрос вида // <сайт>/<путь> /1c_exchange.php?type=sale&mode=query.
Сайт передает сведения о заказах в формате CommerceML 2. В случае успешного получения и записи заказов "1С:Підприємство " передает на сайт запрос вида // <сайт>/<путь> /1c_exchange.php?type=sale&mode=success
D. Отправка файла обмена на сайт
Затем система "1С:Підприємство " отправляет на сайт запрос вида
//<сайт>/<путь> /1c_exchange.php?type=sale&mode=file&filename=<имя файла>,
который загружает на сервер файл обмена, посылая содержимое файла в виде POST.
В случае успешной записи файла система управления сайтом передает строку со словом "success". Дополнительно на следующих строчках могут содержаться замечания по загрузке.
Примечание. Если в ходе какого-либо запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово "failure", а в следующих строках - описание ошибки, произошедшей в процессе обработки запроса. Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.
Примеры файлов обмена информацией
Представленный протокол используется для интеграции системы "1С:Підприємство " с системами
Источник: Стандарты и форматы 1С:Підприємство
По вопросам интеграции приложений на различных платформах
А так же по вопросам использования Интеграционной платформы
*Копирование материала возможно только с ссылкой на источник и указанием автора материала. Благодарим за уважение интеллектуальных прав собственности.TQM systems
SaaS сервисы
Программы 1С:Підприємство
CRM
ERP
Node.JS, .NET
1С:Підприємство
API, IPasS
Разработка Web Apps
1С:Підприємство Автоматизация
Аудит IT проектов
Интеграция 1С:Підприємство
Получайте наши информационные материалы:
Работаем на IT-рынке с 2008 года.
Наша миссия - упростить управление данными.
Copyright © 2008-2024 TQMsystems. Все права защищены. Privacy Policy | Terms of Service