Протокол використовується штатною процедурою обміну комерційними даними між системою "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=initit
У відповідь система управління сайтом передає два рядки:
zip=yes, якщо сервер підтримує обмін в zip-форматі - в цьому випадку на наступному кроці файли повинні бути упаковані в zip-форматі
або
zip=no - в цьому випадку на наступному кроці файли не упаковуються і передаються кожен окремо.
file_limit=<число>, де & lt; число & gt; - максимально допустимий розмір файлу в байтах для передачі за один запит. Якщо системі "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=initt
У відповідь система управління сайтом передає два рядки:
zip=yes, якщо сервер підтримує обмін в zip-форматі - в цьому випадку на наступному кроці файли повинні бути упаковані в zip-форматі
або
zip=no - в цьому випадку на наступному кроці файли не упаковуються і передаються кожен окремо.
file_limit=<число>, где <число> ;, де & lt; число & gt; - максимально допустимий розмір файлу в байтах для передачі за один запит. Якщо системі "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