Синхронизация с 1С — различия между версиями
(→Товары (прайс)) |
|||
(не показано 50 промежуточных версии 5 участников) | |||
Строка 5: | Строка 5: | ||
Модуль разрабатывается индивидуально для каждого заказчика и при тесном сотрудничестве с вашим программистом 1С. | Модуль разрабатывается индивидуально для каждого заказчика и при тесном сотрудничестве с вашим программистом 1С. | ||
− | При обмене данными инициатором обмена выступает 1С. | + | '''Синхронизацию сайта с 1С можно проводить посредством двух форматов либо через [http://manual.mstarproject.com/index.php/%D0%A1%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%81_1%D0%A1#.D0.A1.D0.B8.D0.BD.D1.85.D1.80.D0.BE.D0.BD.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F_.D0.B2_.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.82.D0.B5_XML XML] либо через [http://manual.mstarproject.com/index.php/%D0%A1%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%81_1%D0%A1#.D0.A1.D0.B8.D0.BD.D1.85.D1.80.D0.BE.D0.BD.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F_.D0.B2_.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.82.D0.B5_JSON_.D1.87.D0.B5.D1.80.D0.B5.D0.B7_HTTP-.D1.81.D0.B5.D1.80.D0.B2.D0.B8.D1.81.D1.8B_.D0.B2_1.D0.A1 JSON]''' |
+ | |||
+ | При обмене данными инициатором обмена выступает 1С. Рассмотрим основные моменты при синхронизации посредством обоих форматов: | ||
+ | |||
+ | |||
+ | = Синхронизация в формате XML = | ||
== Инициализация == | == Инициализация == | ||
− | 1С отправляет запрос на адрес http:// | + | В начале сеанса 1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=checkauth и передает |
+ | |||
+ | значение логина и пароля менеджера 1С. Этот менеджер создается в Мпанели и используется только для авторизации 1С. | ||
+ | |||
+ | Уточнение параметров сеанса http://example.mstarproject.com/?action=exchange&type=sale&mode=init | ||
+ | |||
+ | example.mstarproject.com -заменить на адрес проекта. | ||
Весь обмен происходит в кодировке UTF8. (Но по просьбе заказчика можно рассмотреть изменение кодировки на другую). | Весь обмен происходит в кодировке UTF8. (Но по просьбе заказчика можно рассмотреть изменение кодировки на другую). | ||
Строка 16: | Строка 27: | ||
В конце любой операции выдается или '''success''' - успешное выболнение, или '''failure''' - ошибка. | В конце любой операции выдается или '''success''' - успешное выболнение, или '''failure''' - ошибка. | ||
− | |||
+ | == Передача из сайта в 1С (экспорт)== | ||
+ | |||
+ | |||
+ | === Бренды === | ||
+ | |||
+ | 1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=brands | ||
+ | |||
+ | В ответ передается файл с данными о брендах (производителях), следующей структуры: | ||
+ | |||
+ | <pre> | ||
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
+ | <Бренды> | ||
+ | <Бренд | ||
+ | Номер="1" // Ид производителя на сайте | ||
+ | Название="1afirstautomotive" // Название производителя | ||
+ | Префикс="AAB" // Внутренний код производителя | ||
+ | /> | ||
+ | <Бренд | ||
+ | Номер="..." | ||
+ | Название="...." | ||
+ | Префикс="...." | ||
+ | /> | ||
+ | </Бренды> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
+ | |||
+ | === Товары (прайс) === | ||
+ | |||
+ | 1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=price | ||
+ | |||
+ | В ответ передается файл с данными о товарах (прайсах), следующей структуры: | ||
+ | <pre> | ||
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
+ | <Товары> | ||
+ | <Товар | ||
+ | Код="1" // Ид товара на сайте | ||
+ | Название="Важіль підвіски" // Название товара | ||
+ | КодПоставщика="1312" // Ид поставщика на сайте | ||
+ | Артикул="SA4791L" // Артикул товара | ||
+ | Описание="" // Описание товара | ||
+ | ПрефиксКод="CMW_SA4791L" // Внутренний код производителя + артикул товара | ||
+ | Производитель="555" // Название производителя | ||
+ | Количество="2" // Количество товара | ||
+ | Цена="936.78" // Цена товара | ||
+ | /> | ||
+ | </Товары> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
+ | |||
+ | <pre>* стоит ограничение в 5 записей, так как данный метод нужно корректировать ввиду большого количества записей.</pre> | ||
+ | |||
+ | === Поставщики === | ||
+ | |||
+ | 1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=providers | ||
+ | |||
+ | В ответ передается файл с данными о поставщиках , следующей структуры: | ||
+ | |||
+ | <pre> | ||
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
+ | <Поставщики> | ||
+ | <Поставщик | ||
+ | Номер="1312" // Ид поставщика на сайте | ||
+ | Название="elit" // Название поставщика | ||
+ | Описание="elit" // Описание | ||
+ | КодовоеНазвание="elit" // Кодовое название поставщика | ||
+ | Страна="" // Страна | ||
+ | Город="" // Город | ||
+ | Адрес="" // Адрес | ||
+ | Телефон="" // Телефон поставщика | ||
+ | Логин="elit" // Логин поставщика | ||
+ | Почта="elit@mail.ua" // Почта поставщика | ||
+ | СрокПоставки="0" // Срок поставки товара поставщиком | ||
+ | Наценка="Наценка 0" // Наценка поставщика | ||
+ | Примечания="" // Примечания | ||
+ | Идентификатор1С="" // Ид поставщика в 1С | ||
+ | /> | ||
+ | <Поставщики> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
=== Контрагенты === | === Контрагенты === | ||
− | 1С отправляет запрос на адрес http:// | + | 1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=customers |
− | В ответ передается | + | В ответ передается файл с данными о контрагентах , следующей структуры: |
<pre> | <pre> | ||
− | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования=" | + | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> |
<Контрагенты> | <Контрагенты> | ||
− | <Контрагент | + | <Контрагент |
− | + | Номер="6" // Ид контрагента на сайте | |
+ | Идентификатор1С="" // Ид контрагента в 1С | ||
+ | ФИО="RosarioFep" // ФИО | ||
+ | Логин="RosarioFep" // Логин контрагента | ||
+ | Почта="era@market.ru" // Почта контрагента | ||
+ | Телефон="87191848937" // Телефон контрагента | ||
+ | Город="Sembawang" // Город | ||
+ | Адрес="Sembawang" // Адрес | ||
+ | ДатаРегистрации="2018-01-21 01:41:36" // Дата регистрации | ||
+ | ДатаПоследнегоВизита="2018-01-21 01:41:37"// Дата последнего визита | ||
+ | Примечания="" // Примечания | ||
+ | ТипПользователя="частное лицо" // Тип контрагента (юр./ физ.) | ||
+ | /> | ||
<Контрагенты> | <Контрагенты> | ||
</КоммерческаяИнформация> | </КоммерческаяИнформация> | ||
</pre> | </pre> | ||
− | + | === Заказы === | |
− | + | 1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=orders | |
− | + | В ответ передается файл с данными о заказах , следующей структуры: | |
− | + | <pre> | |
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
+ | <Заказы> | ||
+ | <Заказ | ||
+ | НомерЗаказа="174" // Ид заказа на сайте | ||
+ | НомерЗаказа1C="" // Ид заказа в 1С | ||
+ | ДатаЗаказа="2020-07-22" // Дата заказа | ||
+ | ВремяЗаказа="08:42:21" // Время заказа | ||
+ | СуммаЗаказа="41.00" // Сумма заказа | ||
+ | СпособОплаты="Наличными" // Способ оплаты | ||
+ | Доставка="Самовывоз" // Способ доставки | ||
+ | ИдМенеджера="1" // Ид менеджера на сайте | ||
+ | СтатусЗаказа="new" // Статус заказа | ||
+ | > | ||
+ | <Контрагент // Данные о заказчике | ||
+ | Номер="1322" // Ид контрагентa на сайте | ||
+ | ФИО="" // ФИО | ||
+ | Идентификатор1С="" // Ид контрагентa в 1С | ||
+ | Логин="0326552353" // Логин контрагентa | ||
+ | Почта="" // Почта контрагентa | ||
+ | Телефон="(032)6552353" // Телефон контрагентa | ||
+ | Город="" // Город | ||
+ | Адрес="" // Адрес | ||
+ | /> | ||
+ | <Товары> // Данные о товарах в заказе | ||
+ | <Товар | ||
+ | Ид="755" // Ид позиции в заказе на сайте | ||
+ | Код="WL7129" // Артикул товара | ||
+ | Цена="40.82" // Цена продажи товара | ||
+ | ЗакупочнаяЦена="1.42" // Закупочная цена | ||
+ | Количество="1" // Количество товара | ||
+ | Сумма="40.82" // Сумма продажи товара | ||
+ | КомментарийМереджера="" // Комментарий менеджера | ||
+ | СрокПоставки="0" // Срок поставки товара | ||
+ | СтатусТовара="pending" // Статус позиции в заказе на сайте | ||
+ | КодПоставщика="1315" // Ид поставщика товара | ||
+ | Постaвщик="vladislav" // Название поставщика | ||
+ | ПрефиксКод="AWP_WL7129" // Внутренний код производителя + артикул товара | ||
+ | Префикс="AWP" // Внутренний код производителя | ||
+ | Производитель="wixfilters" // Название производителя | ||
+ | Название="WIX WL7129 = FN OP570"// Название товара | ||
+ | /> | ||
+ | </Товары> | ||
+ | </Заказ> | ||
+ | </Заказы> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
− | В | + | В данный момент передаются все заказы со статусом «Новый». |
+ | |||
+ | '''Cтатусы заказа:'''<br> | ||
+ | "Новый"="new"<br> | ||
+ | "Приостановлен"="pending"<br> | ||
+ | "В работе"="work"<br> | ||
+ | "Выдано"="end"<br> | ||
+ | "Отказано"="refused"<br> | ||
+ | |||
+ | '''Статусы товаров в заказе:'''<br> | ||
+ | "В работе"="work"<br> | ||
+ | "Подтвержден"="confirmed"<br> | ||
+ | "В пути"="road"<br> | ||
+ | "На складе"="store"<br> | ||
+ | "Выдано"="end"<br> | ||
+ | "Отказано"="refused"<br> | ||
+ | |||
+ | == Передача на сайт с 1С (импорт)== | ||
+ | |||
+ | 1) Начало сеанса http://example.mstarproject.com/?action=exchange&type=catalog&mode=checkauth | ||
+ | |||
+ | 2) Уточнение параметров сеанса http://example.mstarproject.com/?action=exchange&type=catalog&mode=init | ||
+ | |||
+ | 3) Выполнить запрос http://example.mstarproject.com/?action=exchange&type=catalog&mode=file&filename=имя_файла | ||
+ | |||
+ | 4) Передать файл | ||
+ | |||
+ | 5) Выполнить запрос с указанием имени файла, который необходимо обработать http://example.mstarproject.com/?action=exchange&type=catalog&mode=import&filename=имя_файла. | ||
+ | |||
+ | В случае успеха в ответ будет получено success. Для имен фалов рекомендовано использовать значение mode из параметров экспорта. Примеры файлов выгрузки на сайт: | ||
+ | |||
+ | === Бренды (brand.xml)=== | ||
<pre> | <pre> | ||
− | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования=" | + | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> |
+ | <Бренды> | ||
+ | <Бренд Название="test"/> | ||
+ | </Бренды> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | <pre>* После выгрузки брендов на сайте в разделе прайсы воспользоваться пунктом "проверьте префиксы" в котором | ||
+ | |||
+ | нужно сгенирировать новые префиксы для брендов, либо привязать к существующим. | ||
+ | </pre> | ||
+ | |||
+ | === Товары (прайс)(price.xml) === | ||
+ | |||
+ | <pre> | ||
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
+ | <Товары> | ||
+ | <ОчиститьПоставщиков Ид="123, 111"/> // Строка в которой через запятую указаны идентификаторы поставщиков на сайте, товары которых нужно очистить перед выгрузкой | ||
+ | <Товар | ||
+ | Название="Важіль підвіски" // Название товара | ||
+ | КодПоставщика="1312" // Ид поставщика на сайте | ||
+ | Артикул="SA4791L" // Артикул товара | ||
+ | Описание="" // Описание товара | ||
+ | Производитель="555" // Название производителя | ||
+ | Количество=">9" // Количество товара | ||
+ | Цена="9.78" // Цена товара | ||
+ | /> | ||
+ | </Товары> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
+ | |||
+ | === Контрагенты(customers.xml) === | ||
+ | |||
+ | <pre> | ||
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
+ | <Контрагенты> | ||
+ | <Контрагент | ||
+ | Идентификатор1С="111111111" // Ид контрагента в 1С | ||
+ | ФИО="Иванов Иван" // ФИО | ||
+ | Логин="0671234567" // Логин контрагента | ||
+ | Почта="begrex@pmarket.ru" // Почта контрагента | ||
+ | Телефон="0671234567" // Телефон контрагента | ||
+ | Город="Киев" // Город | ||
+ | Адрес="пр. Мира 20" // Адрес | ||
+ | Примечания="" // Примечания | ||
+ | ТипПользователя="частное лицо" // Тип контрагента (юр./ физ.) | ||
+ | /> | ||
+ | </Контрагенты> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
+ | |||
+ | Поле логин рекомендовано заполнять номером телефона либо адресом электронной почты. По умолчанию задается пароль 123456. | ||
+ | |||
+ | === Заказы(orders.xml) === | ||
+ | |||
+ | <pre> | ||
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
<Заказы> | <Заказы> | ||
− | <Заказ | + | <Заказ |
− | < | + | НомерЗаказа="" // Ид заказа на сайте (указывается для обновления данных по заказу) |
− | <Товар | + | НомерЗаказа1C="1234567" // Ид заказа в 1c |
+ | ДатаЗаказа="2020-07-22" // Дата заказа | ||
+ | ВремяЗаказа="08:42:21" // Время заказа | ||
+ | СуммаЗаказа="41.00" // Сумма заказа | ||
+ | СпособОплаты="Наличными при получении товара" // Способ оплаты на сайте | ||
+ | Доставка="Самовывоз" // Способ доставки на сайте | ||
+ | СтатусЗаказа="work" // Статус заказа | ||
+ | > | ||
+ | <Контрагент | ||
+ | Номер="1322" // Ид контрагента на сайте | ||
+ | ФИО="" // ФИО | ||
+ | Идентификатор1С="" // Ид контрагента в 1С | ||
+ | Логин="" // Логин контрагента | ||
+ | Почта="" // Почта контрагента | ||
+ | Телефон="" // Телефон контрагента | ||
+ | Город="" // Город | ||
+ | Адрес="" // Адрес | ||
+ | /> | ||
+ | <Товары> | ||
+ | <Товар | ||
+ | Код="WL7129" // Артикул товара | ||
+ | Цена="40.82" // Цена продажи товара | ||
+ | ЗакупочнаяЦена="1.42" // Закупочная цена | ||
+ | Количество="1" // Количество товара | ||
+ | Сумма="40.82" // Сумма продажи товара | ||
+ | СтатусТовара="end" // Статус позиции в заказе на сайте | ||
+ | КодПоставщика="1315" // Ид поставщика товара | ||
+ | Постaвщик="vladislav" // Название поставщика | ||
+ | ПрефиксКод="AWP_WL7129" // Внутренний код производителя + артикул товара | ||
+ | Префикс="AWP" // Внутренний код производителя | ||
+ | Производитель="wixfilters" // Название производителя | ||
+ | Название="WIX WL7129 = FN OP570" // Название товара | ||
+ | /> | ||
+ | </Товары> | ||
</Заказ> | </Заказ> | ||
</Заказы> | </Заказы> | ||
+ | </КоммерческаяИнформация> | ||
+ | </pre> | ||
+ | |||
+ | '''Cтатусы заказа:'''<br> | ||
+ | "Приостановлен"="pending"<br> | ||
+ | "В работе"="work"<br> | ||
+ | "Выдано"="end"<br> | ||
+ | "Отказано"="refused"<br> | ||
+ | |||
+ | '''Статусы товаров в заказе:'''<br> | ||
+ | "В работе"="work"<br> | ||
+ | "Подтвержден"="confirmed"<br> | ||
+ | "В пути"="road"<br> | ||
+ | "На складе"="store"<br> | ||
+ | "Выдано"="end"<br> | ||
+ | "Отказано"="refused"<br> | ||
+ | |||
+ | === Кроссы(cross.xml) === | ||
+ | |||
+ | <pre> | ||
+ | <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> | ||
+ | <Кроссы> | ||
+ | <Кросс | ||
+ | Производитель="wix filters" // Название производителя | ||
+ | Артикул="WL7129" // Артикул товара | ||
+ | КроссПроизводитель="CHAMPION" // Название кросс производителя | ||
+ | КроссАртикул="COF101102S" // Артикул кросс товара | ||
+ | /> | ||
+ | </Кроссы> | ||
</КоммерческаяИнформация> | </КоммерческаяИнформация> | ||
</pre> | </pre> | ||
− | + | = Синхронизация в формате JSON через HTTP-сервисы в 1С = | |
− | + | == Передача из сайта в 1С (экспорт) == | |
− | + | === Бренды === | |
− | + | 1С отправляет запрос на адрес /pages/exchangejs_export_brands | |
− | + | В ответ передается массив Brands с данными о брендах (производителях), пример: | |
− | + | <pre> | |
+ | { | ||
+ | "Brands":[ | ||
+ | { | ||
+ | "ID":"1", // Ид производителя на сайте | ||
+ | "Name":"TWR", // Название производителя | ||
+ | "Pref":"AAB" // Внутренний код производителя | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
− | + | === Товары (прайс) === | |
− | + | 1С отправляет запрос на адрес /pages/exchangejs_export_price | |
+ | |||
+ | В ответ передается массив Price с данными о товарах (прайсах), пример: | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Price":[ | ||
+ | { | ||
+ | "ID":"1", // Ид товара на сайте | ||
+ | "Name":"Parts", // Название товара | ||
+ | "NameUa":"Запчастина", // Название товара на укр. языке | ||
+ | "ProviderID":"2", // Ид поставщика на сайте | ||
+ | "Code":"1107024", // Артикул товара | ||
+ | "Description":"", // Описание товара | ||
+ | "DescriptionUa":"", // Описание товара на укр. языке | ||
+ | "ItemCode":"ADN_1107024", // Внутренний код производителя + артикул товара | ||
+ | "ProducerName":"BOSCH", // Название производителя | ||
+ | "Quantity":"2", // Количество товара | ||
+ | "Price":"10.00" // Цена товара | ||
+ | |||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | <pre> | ||
+ | * стоит ограничение в 5 записей, так как данный метод нужно корректировать ввиду большого количества записей. | ||
+ | </pre> | ||
+ | |||
+ | === Поставщики === | ||
+ | |||
+ | 1С отправляет запрос на адрес /pages/exchangejs_export_providers | ||
+ | |||
+ | В ответ передается массив Providers с данными о поставщиках , пример: | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Providers":[ | ||
+ | { | ||
+ | "ID":"2", // Ид поставщика на сайте | ||
+ | "Name":"elit", // Название поставщика | ||
+ | "Description":"elit", // Описание | ||
+ | "CodeName":"elit", // Кодовое название поставщика | ||
+ | "Country":"Страна", // Страна | ||
+ | "City":"Город", // Город | ||
+ | "Address":"ул. Улица д.1", // Адрес | ||
+ | "Phone":"(000)0000000", // Телефон поставщика | ||
+ | "Login":"elit", // Логин поставщика | ||
+ | "Email":"elit@mail.ua", // Почта поставщика | ||
+ | "ProviderDelivery":"0", // Срок поставки товара поставщиком | ||
+ | "Margin":"Наценка 15%", // Наценка поставщика | ||
+ | "Remark":"", // Примечания | ||
+ | "ID1c":null // Ид поставщика в 1С | ||
+ | |||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | === Контрагенты === | ||
+ | |||
+ | 1С отправляет запрос на адрес /pages/exchangejs_export_customers | ||
+ | |||
+ | В ответ передается массив Customers с данными о контрагентах , пример: | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Customers":[ | ||
+ | { | ||
+ | "ID":"6", // Ид контрагента на сайте | ||
+ | "FIO":"RosarioFep", // ФИО | ||
+ | "Country":null, // Страна | ||
+ | "City":"Sembawang", // Город | ||
+ | "Address":"Sembawang", // Адрес | ||
+ | "Phone":"87191848937", // Телефон контрагента | ||
+ | "Login":"RosarioFep", // Логин контрагента | ||
+ | "Email":"begrex@prog.ua", // Почта контрагента | ||
+ | "RegistrationDate":"2018-01-21 00:41:36", // Дата регистрации | ||
+ | "DateLastVisit":"2018-01-21 00:41:37", // Дата последнего визита | ||
+ | "Remark":"", // Примечания | ||
+ | "CustomerType":"частное лицо", // Тип контрагента (юр./ физ.) | ||
+ | "ID1c":null // Ид контрагента в 1С | ||
+ | |||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | === Заказы === | ||
+ | |||
+ | 1С отправляет запрос на адрес /pages/exchangejs_export_orders | ||
+ | |||
+ | В ответ передается массив Orders с данными о заказах , пример: | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Orders":[ | ||
+ | { | ||
+ | "ID":"43", // Ид заказа на сайте | ||
+ | "ID1c":null, // Ид заказа в 1С | ||
+ | "OrderDate":"2018-03-26", // Дата заказа | ||
+ | "OrderTime":"12:35:07", // Время заказа | ||
+ | "PriceTotal":"123.52", // Сумма заказа | ||
+ | "PaymentType":"Наличными", // Способ оплаты | ||
+ | "DeliveryType":"Самовывоз", // Способ доставка | ||
+ | "IDManager":"0", // Ид менеджера на сайте | ||
+ | "OrderStatus":"new", // Статус заказа | ||
+ | "Customer": // Массив данных заказчика | ||
+ | { | ||
+ | "ID":"43", // Ид контрагентa на сайте | ||
+ | "FIO":null, // ФИО | ||
+ | "City":null, // Город | ||
+ | "Address":null, // Адрес | ||
+ | "Phone":"(011)111-11-11", // Телефон контрагентa | ||
+ | "Login":"(011)111-11-11", // Логин контрагентa | ||
+ | "Email":"", // Почта контрагентa | ||
+ | "ID1c":null // Ид контрагентa в 1С | ||
+ | }, | ||
+ | "Goods":[ // Массив c товарами | ||
+ | { | ||
+ | "ID":"69", // Ид позиции в заказе на сайте | ||
+ | "Code":"4248", // Артикул товара | ||
+ | "Name":"Фильтр", // Название товара | ||
+ | "ItemCode":"ANG_4248", // Внутренний код производителя + артикул товара | ||
+ | "Price":"123.52", // Цена продажи товара | ||
+ | "PriceOriginal":"100.98", //Закупочная цена | ||
+ | "Quantity":"1", // Количество товара | ||
+ | "Amount":123.52, // Сумма продажи товара | ||
+ | "ManagerComment":"", //Комментарий менеджера | ||
+ | "GoodsStatus":"pending", // Статус позиции в заказе на сайте | ||
+ | "ProviderDelivery":"0", // Срок поставки товара | ||
+ | "ProviderID":"39", // Ид поставщика товара | ||
+ | "ProviderName":"Caruk", // Название поставщика | ||
+ | "Pref":"ANG", // Внутренний код производителя | ||
+ | "ProducerName":"lpr" // Название производителя | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | == Передача на сайт из 1С (импорт) == | ||
+ | |||
+ | === Бренды === | ||
+ | |||
+ | 1С отправляет POST запрос на адрес /pages/exchangejs_import_brands | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Brands":[ | ||
+ | { | ||
+ | "Name":"Test1" // Название производителя | ||
+ | }, | ||
+ | { | ||
+ | "Name":"Test2" // Название производителя | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | В случае успешного выполнения будет возвращено значение: «True» | ||
+ | |||
+ | В случае ошибки в данных будет возвращено значение: «Error: check the data» | ||
+ | |||
+ | В случае отсутствия данных будет возвращено значение: «Error: There is no data» | ||
+ | <pre> | ||
+ | *После выгрузки брендов на сайте в разделе прайсы воспользоваться пунктом "проверьте префиксы" | ||
+ | |||
+ | в котором нужно сгенерировать новые префиксы для брендов, либо привязать к существующим. | ||
+ | </pre> | ||
+ | |||
+ | === Товары (прайс) === | ||
+ | |||
+ | 1С отправляет POST запрос на адрес /pages/exchangejs_import_price | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "ClearProvider":"1232,1212", // Строка в которой через запятую указаны идентификаторы поставщиков на сайте, товары которых нужно очистить перед выгрузкой | ||
+ | "Price":[ | ||
+ | { | ||
+ | "ProducerName":"REMSA", // Название производителя | ||
+ | "Pref":"AEL", // Идентификатор производителя(необязательное поле) | ||
+ | "Code":"503361", // Артикул товара | ||
+ | "Name":"Тормозной механизм",// Название товара | ||
+ | "NameUa":"Гальмівний механізм",// Название товара на укр. языке | ||
+ | "ProviderID":"1232", // Ид поставщика на сайте | ||
+ | "Description":"Ограничения производителя 00000",//Описание товара | ||
+ | "DescriptionUa":"товар", //Описание товара на укр. языке | ||
+ | "Quantity":"2", // Количество товара | ||
+ | "Price":"6000.00", // Цена товара | ||
+ | }, | ||
+ | { | ||
+ | ... | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | При отсутствии значения в поле "ProviderID" значение берется из константы exchangejs:default_id_provider_on_load_price куда вносится идентификатор поставщика с сайта под которым будет проходить заливка прайса. | ||
+ | |||
+ | В случае успешного выполнения будет возвращено значение: «True» | ||
+ | |||
+ | В случае ошибки в данных будет возвращен массив ошибок : «{"Error":{"BrandNotPresent":["BRAND1","BRAND"]}}» | ||
+ | |||
+ | В случае отсутствия данных будет возвращено значение: «Error: There is no data» | ||
+ | |||
+ | === Контрагенты === | ||
+ | |||
+ | 1С отправляет POST запрос на адрес /pages/exchangejs_import_customers | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Customers":[ | ||
+ | { | ||
+ | "FIO":"Rosario Fep", // ФИО | ||
+ | "City":"Sembawang", // Город | ||
+ | "Address":"Sembawang", // Адрес | ||
+ | "Phone":"87191848937", // Телефон контрагента | ||
+ | "Login":"RosarioFep", // Логин контрагента | ||
+ | "Email":"begrex@prog.ua", // Почта контрагента | ||
+ | "Remark":"", // Примечания | ||
+ | "CustomerType":"частное лицо", // Тип контрагента (юр./ физ.) | ||
+ | "ID1c":"123123123" // Ид контрагента в 1С | ||
+ | }, | ||
+ | { | ||
+ | ... | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | При указанном Email, на почту клиенту отправляется уведомление с регистрацией. | ||
+ | |||
+ | В случае успешного выполнения будет возвращено значение: «True» | ||
+ | |||
+ | В случае ошибки в данных будет возвращено значение: «Error: check the data» | ||
+ | |||
+ | В случае отсутствия данных будет возвращено значение: «Error: There is no data» | ||
+ | |||
+ | === Заказы === | ||
+ | |||
+ | 1С отправляет POST запрос на адрес /pages/exchangejs_import_orders | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Orders":[ | ||
+ | { | ||
+ | "ID":"", // Ид заказа на сайте (указывается для обновления данных по заказу) | ||
+ | "ID1c":"000001", // Ид заказа на сайте | ||
+ | "OrderDate":"2020-07-04", // Дата заказа | ||
+ | "OrderTime":"12:10:38", // Время заказа | ||
+ | "PriceTotal":"35580.00", // Сумма заказа | ||
+ | "IDPaymentType":"2", // Ид cпособа оплаты на сайте | ||
+ | "IDDeliveryType":"1", // Ид способа доставка на сайте | ||
+ | "OrderStatus":"work", // Статус заказа | ||
+ | "IDCustomer":"1237", // Ид контрагента на сайте | ||
+ | "Goods":[ // Массив с товарами заказа | ||
+ | { | ||
+ | "Code":"YSKMA1381", // Артикул товара | ||
+ | "Name":"масляный насос MA AJ 3.0 TRIBUTE YSK",// Название товара | ||
+ | "ItemCode":"YSK_YSKMA1381",// Внутренний код производителя + артикул товара | ||
+ | "Price":"25440.00", // Цена продажи товара | ||
+ | "PriceOriginal":"16960.00", // Закупочная цена | ||
+ | "Quantity":"1", // Количество товара | ||
+ | "Amount":"25440", // Сумма продажи товара | ||
+ | "ManagerComment":"Test", // Комментарий менеджера | ||
+ | "GoodsStatus":"pending", // Статус позиции в заказе на сайте | ||
+ | "ProviderID":"1227", // Ид поставщика товара | ||
+ | "Pref":"YSK", // Внутренний код производителя | ||
+ | "ProducerName":"YSK" // Название производителя | ||
+ | }, | ||
+ | { | ||
+ | "Code":"YSKNS1464", // Артикул товара | ||
+ | "Name":"масляный насос NI FRONTIER VQ40DE 04- YSK",// Название товара | ||
+ | "ItemCode":"YSK_YSKMA1381",// Внутренний код производителя + артикул товара | ||
+ | "Price":"27930.00", // Цена продажи товара | ||
+ | "PriceOriginal":"18620.00", // Закупочная цена | ||
+ | "Quantity":"1", // Количество товара | ||
+ | "Amount":"27930", // Сумма продажи товара | ||
+ | "ManagerComment":"Test2", // Комментарий менеджера | ||
+ | "GoodsStatus":"pending", // Статус позиции в заказе на сайте | ||
+ | "ProviderID":"1227", // Ид поставщика товара | ||
+ | "Pref":"YSK", // Внутренний код производителя | ||
+ | "ProducerName":"YSK" // Название производителя | ||
+ | |||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | {...} | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | '''Cтатусы заказа:'''<br> | ||
+ | "Новый" = "new"<br> | ||
+ | "Приостановлен"="pending"<br> | ||
+ | "В работе"="work"<br> | ||
+ | "Выдано"="end"<br> | ||
+ | "Отказано"="refused"<br> | ||
+ | |||
+ | '''Статусы товаров в заказе:'''<br> | ||
+ | "В работе"="work"<br> | ||
+ | "Подтвержден"="confirmed"<br> | ||
+ | "В пути"="road"<br> | ||
+ | "На складе"="store"<br> | ||
+ | "Выдано"="end"<br> | ||
+ | "Отказано"="refused"<br> | ||
+ | |||
+ | В случае успешного выполнения будет возвращено значение: «True» | ||
+ | |||
+ | В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["...."]}» | ||
+ | |||
+ | В случае отсутствия данных будет возвращено значение: «Error: There is no data» | ||
+ | |||
+ | === Кроссы === | ||
+ | |||
+ | 1С отправляет POST запрос на адрес /pages/exchangejs_import_crosses | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "Crosses":[ | ||
+ | { | ||
+ | "ProducerName":"YSK", // Название производителя | ||
+ | "Code":"YSKNS1464", // Артикул товара | ||
+ | "ProducerNameCross":"YSK", // Название кросс производителя | ||
+ | "CodeCross":"87191848937", // Артикул кросс товара | ||
+ | }, | ||
+ | { | ||
+ | ... | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | В случае успешного выполнения будет возвращено значение: «True» | ||
+ | |||
+ | В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["Check brans on cross YSKEE - YSKNS1464 on YSK - YSKMA1381"]}» | ||
+ | |||
+ | В случае отсутствия данных будет возвращено значение: «Error: There is no data» | ||
+ | |||
+ | === Группы товаров === | ||
+ | |||
+ | 1С отправляет POST запрос на адрес /pages/exchangejs_import_price_group | ||
+ | |||
+ | <pre> | ||
+ | {"PriceGroup":[ | ||
+ | { | ||
+ | "ID1c":"00087", // Ид группы в 1С | ||
+ | "GroupName":"Запчасти Иномарки" // Название группы | ||
+ | "GroupNameUa":"Запчастини Іномарки" // Название группы на укр. языке | ||
+ | }, | ||
+ | { | ||
+ | "ID1c":"00121", | ||
+ | "GroupName":"ГБО" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | В случае успешного выполнения будет возвращено значение: «True» | ||
+ | |||
+ | В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["Check input data price group on code"]}» | ||
+ | |||
+ | В случае отсутствия данных будет возвращено значение: «Error: There is no data» | ||
+ | |||
+ | === Поставщики === | ||
+ | |||
+ | 1С отправляет POST запрос на адрес /pages/exchangejs_import_providers | ||
+ | |||
+ | <pre> | ||
+ | {"Providers":[ | ||
+ | { | ||
+ | "ID1c":"000000001", \\Ид поставщика в 1С | ||
+ | "Name":"№1-Иномарка" \\Название | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
− | + | В случае успешного выполнения будет возвращено значение: «True» | |
− | + | В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["Dublicate login/email | |
+ | "]}» | ||
− | + | В случае отсутствия данных будет возвращено значение: «Error: There is no data» | |
+ | = Доработки = | ||
+ | Из-за того что есть разные конфигурации 1С, создать шаблон модуля довольно сложно, описанные обмены данными это основные моменты работы модуля, которые можно расширять и дополнять, в зависимости от требований заказчика, например: передача из 1С статусов заказов (при условии что менеджеры обрабатывают заказы в 1С), передача в 1С платежей через онлайн-системы (liqpay) и так далее. | ||
− | <pre>Естимейт базовой версии задания - | + | <pre>Естимейт базовой версии задания - 20ч</pre> |
'''Вернуться к списку модулей:''' [[Модули_пакет_Експерт_-_Документация]] | '''Вернуться к списку модулей:''' [[Модули_пакет_Експерт_-_Документация]] |
Текущая версия на 12:57, 30 июня 2023
Модуль предназначен для синхронизации данных между сайтом и вашей конфигурацией 1С версии 8.
Протокол синхронизации описан по ссылке
Модуль разрабатывается индивидуально для каждого заказчика и при тесном сотрудничестве с вашим программистом 1С.
Синхронизацию сайта с 1С можно проводить посредством двух форматов либо через XML либо через JSON
При обмене данными инициатором обмена выступает 1С. Рассмотрим основные моменты при синхронизации посредством обоих форматов:
Содержание
Синхронизация в формате XML
Инициализация
В начале сеанса 1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=checkauth и передает
значение логина и пароля менеджера 1С. Этот менеджер создается в Мпанели и используется только для авторизации 1С.
Уточнение параметров сеанса http://example.mstarproject.com/?action=exchange&type=sale&mode=init
example.mstarproject.com -заменить на адрес проекта.
Весь обмен происходит в кодировке UTF8. (Но по просьбе заказчика можно рассмотреть изменение кодировки на другую).
В конце любой операции выдается или success - успешное выболнение, или failure - ошибка.
Передача из сайта в 1С (экспорт)
Бренды
1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=brands
В ответ передается файл с данными о брендах (производителях), следующей структуры:
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Бренды> <Бренд Номер="1" // Ид производителя на сайте Название="1afirstautomotive" // Название производителя Префикс="AAB" // Внутренний код производителя /> <Бренд Номер="..." Название="...." Префикс="...." /> </Бренды> </КоммерческаяИнформация>
Товары (прайс)
1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=price
В ответ передается файл с данными о товарах (прайсах), следующей структуры:
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Товары> <Товар Код="1" // Ид товара на сайте Название="Важіль підвіски" // Название товара КодПоставщика="1312" // Ид поставщика на сайте Артикул="SA4791L" // Артикул товара Описание="" // Описание товара ПрефиксКод="CMW_SA4791L" // Внутренний код производителя + артикул товара Производитель="555" // Название производителя Количество="2" // Количество товара Цена="936.78" // Цена товара /> </Товары> </КоммерческаяИнформация>
* стоит ограничение в 5 записей, так как данный метод нужно корректировать ввиду большого количества записей.
Поставщики
1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=providers
В ответ передается файл с данными о поставщиках , следующей структуры:
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Поставщики> <Поставщик Номер="1312" // Ид поставщика на сайте Название="elit" // Название поставщика Описание="elit" // Описание КодовоеНазвание="elit" // Кодовое название поставщика Страна="" // Страна Город="" // Город Адрес="" // Адрес Телефон="" // Телефон поставщика Логин="elit" // Логин поставщика Почта="elit@mail.ua" // Почта поставщика СрокПоставки="0" // Срок поставки товара поставщиком Наценка="Наценка 0" // Наценка поставщика Примечания="" // Примечания Идентификатор1С="" // Ид поставщика в 1С /> <Поставщики> </КоммерческаяИнформация>
Контрагенты
1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=customers
В ответ передается файл с данными о контрагентах , следующей структуры:
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Контрагенты> <Контрагент Номер="6" // Ид контрагента на сайте Идентификатор1С="" // Ид контрагента в 1С ФИО="RosarioFep" // ФИО Логин="RosarioFep" // Логин контрагента Почта="era@market.ru" // Почта контрагента Телефон="87191848937" // Телефон контрагента Город="Sembawang" // Город Адрес="Sembawang" // Адрес ДатаРегистрации="2018-01-21 01:41:36" // Дата регистрации ДатаПоследнегоВизита="2018-01-21 01:41:37"// Дата последнего визита Примечания="" // Примечания ТипПользователя="частное лицо" // Тип контрагента (юр./ физ.) /> <Контрагенты> </КоммерческаяИнформация>
Заказы
1С отправляет запрос на адрес http://example.mstarproject.com/?action=exchange&type=sale&mode=orders
В ответ передается файл с данными о заказах , следующей структуры:
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Заказы> <Заказ НомерЗаказа="174" // Ид заказа на сайте НомерЗаказа1C="" // Ид заказа в 1С ДатаЗаказа="2020-07-22" // Дата заказа ВремяЗаказа="08:42:21" // Время заказа СуммаЗаказа="41.00" // Сумма заказа СпособОплаты="Наличными" // Способ оплаты Доставка="Самовывоз" // Способ доставки ИдМенеджера="1" // Ид менеджера на сайте СтатусЗаказа="new" // Статус заказа > <Контрагент // Данные о заказчике Номер="1322" // Ид контрагентa на сайте ФИО="" // ФИО Идентификатор1С="" // Ид контрагентa в 1С Логин="0326552353" // Логин контрагентa Почта="" // Почта контрагентa Телефон="(032)6552353" // Телефон контрагентa Город="" // Город Адрес="" // Адрес /> <Товары> // Данные о товарах в заказе <Товар Ид="755" // Ид позиции в заказе на сайте Код="WL7129" // Артикул товара Цена="40.82" // Цена продажи товара ЗакупочнаяЦена="1.42" // Закупочная цена Количество="1" // Количество товара Сумма="40.82" // Сумма продажи товара КомментарийМереджера="" // Комментарий менеджера СрокПоставки="0" // Срок поставки товара СтатусТовара="pending" // Статус позиции в заказе на сайте КодПоставщика="1315" // Ид поставщика товара Постaвщик="vladislav" // Название поставщика ПрефиксКод="AWP_WL7129" // Внутренний код производителя + артикул товара Префикс="AWP" // Внутренний код производителя Производитель="wixfilters" // Название производителя Название="WIX WL7129 = FN OP570"// Название товара /> </Товары> </Заказ> </Заказы> </КоммерческаяИнформация>
В данный момент передаются все заказы со статусом «Новый».
Cтатусы заказа:
"Новый"="new"
"Приостановлен"="pending"
"В работе"="work"
"Выдано"="end"
"Отказано"="refused"
Статусы товаров в заказе:
"В работе"="work"
"Подтвержден"="confirmed"
"В пути"="road"
"На складе"="store"
"Выдано"="end"
"Отказано"="refused"
Передача на сайт с 1С (импорт)
1) Начало сеанса http://example.mstarproject.com/?action=exchange&type=catalog&mode=checkauth
2) Уточнение параметров сеанса http://example.mstarproject.com/?action=exchange&type=catalog&mode=init
3) Выполнить запрос http://example.mstarproject.com/?action=exchange&type=catalog&mode=file&filename=имя_файла
4) Передать файл
5) Выполнить запрос с указанием имени файла, который необходимо обработать http://example.mstarproject.com/?action=exchange&type=catalog&mode=import&filename=имя_файла.
В случае успеха в ответ будет получено success. Для имен фалов рекомендовано использовать значение mode из параметров экспорта. Примеры файлов выгрузки на сайт:
Бренды (brand.xml)
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Бренды> <Бренд Название="test"/> </Бренды> </КоммерческаяИнформация>
* После выгрузки брендов на сайте в разделе прайсы воспользоваться пунктом "проверьте префиксы" в котором нужно сгенирировать новые префиксы для брендов, либо привязать к существующим.
Товары (прайс)(price.xml)
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Товары> <ОчиститьПоставщиков Ид="123, 111"/> // Строка в которой через запятую указаны идентификаторы поставщиков на сайте, товары которых нужно очистить перед выгрузкой <Товар Название="Важіль підвіски" // Название товара КодПоставщика="1312" // Ид поставщика на сайте Артикул="SA4791L" // Артикул товара Описание="" // Описание товара Производитель="555" // Название производителя Количество=">9" // Количество товара Цена="9.78" // Цена товара /> </Товары> </КоммерческаяИнформация>
Контрагенты(customers.xml)
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Контрагенты> <Контрагент Идентификатор1С="111111111" // Ид контрагента в 1С ФИО="Иванов Иван" // ФИО Логин="0671234567" // Логин контрагента Почта="begrex@pmarket.ru" // Почта контрагента Телефон="0671234567" // Телефон контрагента Город="Киев" // Город Адрес="пр. Мира 20" // Адрес Примечания="" // Примечания ТипПользователя="частное лицо" // Тип контрагента (юр./ физ.) /> </Контрагенты> </КоммерческаяИнформация>
Поле логин рекомендовано заполнять номером телефона либо адресом электронной почты. По умолчанию задается пароль 123456.
Заказы(orders.xml)
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Заказы> <Заказ НомерЗаказа="" // Ид заказа на сайте (указывается для обновления данных по заказу) НомерЗаказа1C="1234567" // Ид заказа в 1c ДатаЗаказа="2020-07-22" // Дата заказа ВремяЗаказа="08:42:21" // Время заказа СуммаЗаказа="41.00" // Сумма заказа СпособОплаты="Наличными при получении товара" // Способ оплаты на сайте Доставка="Самовывоз" // Способ доставки на сайте СтатусЗаказа="work" // Статус заказа > <Контрагент Номер="1322" // Ид контрагента на сайте ФИО="" // ФИО Идентификатор1С="" // Ид контрагента в 1С Логин="" // Логин контрагента Почта="" // Почта контрагента Телефон="" // Телефон контрагента Город="" // Город Адрес="" // Адрес /> <Товары> <Товар Код="WL7129" // Артикул товара Цена="40.82" // Цена продажи товара ЗакупочнаяЦена="1.42" // Закупочная цена Количество="1" // Количество товара Сумма="40.82" // Сумма продажи товара СтатусТовара="end" // Статус позиции в заказе на сайте КодПоставщика="1315" // Ид поставщика товара Постaвщик="vladislav" // Название поставщика ПрефиксКод="AWP_WL7129" // Внутренний код производителя + артикул товара Префикс="AWP" // Внутренний код производителя Производитель="wixfilters" // Название производителя Название="WIX WL7129 = FN OP570" // Название товара /> </Товары> </Заказ> </Заказы> </КоммерческаяИнформация>
Cтатусы заказа:
"Приостановлен"="pending"
"В работе"="work"
"Выдано"="end"
"Отказано"="refused"
Статусы товаров в заказе:
"В работе"="work"
"Подтвержден"="confirmed"
"В пути"="road"
"На складе"="store"
"Выдано"="end"
"Отказано"="refused"
Кроссы(cross.xml)
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="0000-00-00"> <Кроссы> <Кросс Производитель="wix filters" // Название производителя Артикул="WL7129" // Артикул товара КроссПроизводитель="CHAMPION" // Название кросс производителя КроссАртикул="COF101102S" // Артикул кросс товара /> </Кроссы> </КоммерческаяИнформация>
Синхронизация в формате JSON через HTTP-сервисы в 1С
Передача из сайта в 1С (экспорт)
Бренды
1С отправляет запрос на адрес /pages/exchangejs_export_brands
В ответ передается массив Brands с данными о брендах (производителях), пример:
{ "Brands":[ { "ID":"1", // Ид производителя на сайте "Name":"TWR", // Название производителя "Pref":"AAB" // Внутренний код производителя } ] }
Товары (прайс)
1С отправляет запрос на адрес /pages/exchangejs_export_price
В ответ передается массив Price с данными о товарах (прайсах), пример:
{ "Price":[ { "ID":"1", // Ид товара на сайте "Name":"Parts", // Название товара "NameUa":"Запчастина", // Название товара на укр. языке "ProviderID":"2", // Ид поставщика на сайте "Code":"1107024", // Артикул товара "Description":"", // Описание товара "DescriptionUa":"", // Описание товара на укр. языке "ItemCode":"ADN_1107024", // Внутренний код производителя + артикул товара "ProducerName":"BOSCH", // Название производителя "Quantity":"2", // Количество товара "Price":"10.00" // Цена товара } ] }
* стоит ограничение в 5 записей, так как данный метод нужно корректировать ввиду большого количества записей.
Поставщики
1С отправляет запрос на адрес /pages/exchangejs_export_providers
В ответ передается массив Providers с данными о поставщиках , пример:
{ "Providers":[ { "ID":"2", // Ид поставщика на сайте "Name":"elit", // Название поставщика "Description":"elit", // Описание "CodeName":"elit", // Кодовое название поставщика "Country":"Страна", // Страна "City":"Город", // Город "Address":"ул. Улица д.1", // Адрес "Phone":"(000)0000000", // Телефон поставщика "Login":"elit", // Логин поставщика "Email":"elit@mail.ua", // Почта поставщика "ProviderDelivery":"0", // Срок поставки товара поставщиком "Margin":"Наценка 15%", // Наценка поставщика "Remark":"", // Примечания "ID1c":null // Ид поставщика в 1С } ] }
Контрагенты
1С отправляет запрос на адрес /pages/exchangejs_export_customers
В ответ передается массив Customers с данными о контрагентах , пример:
{ "Customers":[ { "ID":"6", // Ид контрагента на сайте "FIO":"RosarioFep", // ФИО "Country":null, // Страна "City":"Sembawang", // Город "Address":"Sembawang", // Адрес "Phone":"87191848937", // Телефон контрагента "Login":"RosarioFep", // Логин контрагента "Email":"begrex@prog.ua", // Почта контрагента "RegistrationDate":"2018-01-21 00:41:36", // Дата регистрации "DateLastVisit":"2018-01-21 00:41:37", // Дата последнего визита "Remark":"", // Примечания "CustomerType":"частное лицо", // Тип контрагента (юр./ физ.) "ID1c":null // Ид контрагента в 1С } ] }
Заказы
1С отправляет запрос на адрес /pages/exchangejs_export_orders
В ответ передается массив Orders с данными о заказах , пример:
{ "Orders":[ { "ID":"43", // Ид заказа на сайте "ID1c":null, // Ид заказа в 1С "OrderDate":"2018-03-26", // Дата заказа "OrderTime":"12:35:07", // Время заказа "PriceTotal":"123.52", // Сумма заказа "PaymentType":"Наличными", // Способ оплаты "DeliveryType":"Самовывоз", // Способ доставка "IDManager":"0", // Ид менеджера на сайте "OrderStatus":"new", // Статус заказа "Customer": // Массив данных заказчика { "ID":"43", // Ид контрагентa на сайте "FIO":null, // ФИО "City":null, // Город "Address":null, // Адрес "Phone":"(011)111-11-11", // Телефон контрагентa "Login":"(011)111-11-11", // Логин контрагентa "Email":"", // Почта контрагентa "ID1c":null // Ид контрагентa в 1С }, "Goods":[ // Массив c товарами { "ID":"69", // Ид позиции в заказе на сайте "Code":"4248", // Артикул товара "Name":"Фильтр", // Название товара "ItemCode":"ANG_4248", // Внутренний код производителя + артикул товара "Price":"123.52", // Цена продажи товара "PriceOriginal":"100.98", //Закупочная цена "Quantity":"1", // Количество товара "Amount":123.52, // Сумма продажи товара "ManagerComment":"", //Комментарий менеджера "GoodsStatus":"pending", // Статус позиции в заказе на сайте "ProviderDelivery":"0", // Срок поставки товара "ProviderID":"39", // Ид поставщика товара "ProviderName":"Caruk", // Название поставщика "Pref":"ANG", // Внутренний код производителя "ProducerName":"lpr" // Название производителя } ] } ] }
Передача на сайт из 1С (импорт)
Бренды
1С отправляет POST запрос на адрес /pages/exchangejs_import_brands
{ "Brands":[ { "Name":"Test1" // Название производителя }, { "Name":"Test2" // Название производителя } ] }
В случае успешного выполнения будет возвращено значение: «True»
В случае ошибки в данных будет возвращено значение: «Error: check the data»
В случае отсутствия данных будет возвращено значение: «Error: There is no data»
*После выгрузки брендов на сайте в разделе прайсы воспользоваться пунктом "проверьте префиксы" в котором нужно сгенерировать новые префиксы для брендов, либо привязать к существующим.
Товары (прайс)
1С отправляет POST запрос на адрес /pages/exchangejs_import_price
{ "ClearProvider":"1232,1212", // Строка в которой через запятую указаны идентификаторы поставщиков на сайте, товары которых нужно очистить перед выгрузкой "Price":[ { "ProducerName":"REMSA", // Название производителя "Pref":"AEL", // Идентификатор производителя(необязательное поле) "Code":"503361", // Артикул товара "Name":"Тормозной механизм",// Название товара "NameUa":"Гальмівний механізм",// Название товара на укр. языке "ProviderID":"1232", // Ид поставщика на сайте "Description":"Ограничения производителя 00000",//Описание товара "DescriptionUa":"товар", //Описание товара на укр. языке "Quantity":"2", // Количество товара "Price":"6000.00", // Цена товара }, { ... } ] }
При отсутствии значения в поле "ProviderID" значение берется из константы exchangejs:default_id_provider_on_load_price куда вносится идентификатор поставщика с сайта под которым будет проходить заливка прайса.
В случае успешного выполнения будет возвращено значение: «True»
В случае ошибки в данных будет возвращен массив ошибок : «{"Error":{"BrandNotPresent":["BRAND1","BRAND"]}}»
В случае отсутствия данных будет возвращено значение: «Error: There is no data»
Контрагенты
1С отправляет POST запрос на адрес /pages/exchangejs_import_customers
{ "Customers":[ { "FIO":"Rosario Fep", // ФИО "City":"Sembawang", // Город "Address":"Sembawang", // Адрес "Phone":"87191848937", // Телефон контрагента "Login":"RosarioFep", // Логин контрагента "Email":"begrex@prog.ua", // Почта контрагента "Remark":"", // Примечания "CustomerType":"частное лицо", // Тип контрагента (юр./ физ.) "ID1c":"123123123" // Ид контрагента в 1С }, { ... } ] }
При указанном Email, на почту клиенту отправляется уведомление с регистрацией.
В случае успешного выполнения будет возвращено значение: «True»
В случае ошибки в данных будет возвращено значение: «Error: check the data»
В случае отсутствия данных будет возвращено значение: «Error: There is no data»
Заказы
1С отправляет POST запрос на адрес /pages/exchangejs_import_orders
{ "Orders":[ { "ID":"", // Ид заказа на сайте (указывается для обновления данных по заказу) "ID1c":"000001", // Ид заказа на сайте "OrderDate":"2020-07-04", // Дата заказа "OrderTime":"12:10:38", // Время заказа "PriceTotal":"35580.00", // Сумма заказа "IDPaymentType":"2", // Ид cпособа оплаты на сайте "IDDeliveryType":"1", // Ид способа доставка на сайте "OrderStatus":"work", // Статус заказа "IDCustomer":"1237", // Ид контрагента на сайте "Goods":[ // Массив с товарами заказа { "Code":"YSKMA1381", // Артикул товара "Name":"масляный насос MA AJ 3.0 TRIBUTE YSK",// Название товара "ItemCode":"YSK_YSKMA1381",// Внутренний код производителя + артикул товара "Price":"25440.00", // Цена продажи товара "PriceOriginal":"16960.00", // Закупочная цена "Quantity":"1", // Количество товара "Amount":"25440", // Сумма продажи товара "ManagerComment":"Test", // Комментарий менеджера "GoodsStatus":"pending", // Статус позиции в заказе на сайте "ProviderID":"1227", // Ид поставщика товара "Pref":"YSK", // Внутренний код производителя "ProducerName":"YSK" // Название производителя }, { "Code":"YSKNS1464", // Артикул товара "Name":"масляный насос NI FRONTIER VQ40DE 04- YSK",// Название товара "ItemCode":"YSK_YSKMA1381",// Внутренний код производителя + артикул товара "Price":"27930.00", // Цена продажи товара "PriceOriginal":"18620.00", // Закупочная цена "Quantity":"1", // Количество товара "Amount":"27930", // Сумма продажи товара "ManagerComment":"Test2", // Комментарий менеджера "GoodsStatus":"pending", // Статус позиции в заказе на сайте "ProviderID":"1227", // Ид поставщика товара "Pref":"YSK", // Внутренний код производителя "ProducerName":"YSK" // Название производителя } ] } {...} ] }
Cтатусы заказа:
"Новый" = "new"
"Приостановлен"="pending"
"В работе"="work"
"Выдано"="end"
"Отказано"="refused"
Статусы товаров в заказе:
"В работе"="work"
"Подтвержден"="confirmed"
"В пути"="road"
"На складе"="store"
"Выдано"="end"
"Отказано"="refused"
В случае успешного выполнения будет возвращено значение: «True»
В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["...."]}»
В случае отсутствия данных будет возвращено значение: «Error: There is no data»
Кроссы
1С отправляет POST запрос на адрес /pages/exchangejs_import_crosses
{ "Crosses":[ { "ProducerName":"YSK", // Название производителя "Code":"YSKNS1464", // Артикул товара "ProducerNameCross":"YSK", // Название кросс производителя "CodeCross":"87191848937", // Артикул кросс товара }, { ... } ] }
В случае успешного выполнения будет возвращено значение: «True»
В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["Check brans on cross YSKEE - YSKNS1464 on YSK - YSKMA1381"]}»
В случае отсутствия данных будет возвращено значение: «Error: There is no data»
Группы товаров
1С отправляет POST запрос на адрес /pages/exchangejs_import_price_group
{"PriceGroup":[ { "ID1c":"00087", // Ид группы в 1С "GroupName":"Запчасти Иномарки" // Название группы "GroupNameUa":"Запчастини Іномарки" // Название группы на укр. языке }, { "ID1c":"00121", "GroupName":"ГБО" } ] }
В случае успешного выполнения будет возвращено значение: «True»
В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["Check input data price group on code"]}»
В случае отсутствия данных будет возвращено значение: «Error: There is no data»
Поставщики
1С отправляет POST запрос на адрес /pages/exchangejs_import_providers
{"Providers":[ { "ID1c":"000000001", \\Ид поставщика в 1С "Name":"№1-Иномарка" \\Название } ] }
В случае успешного выполнения будет возвращено значение: «True»
В случае ошибки в данных будет возвращен массив ошибок : «{"Error":["Dublicate login/email "]}»
В случае отсутствия данных будет возвращено значение: «Error: There is no data»
Доработки
Из-за того что есть разные конфигурации 1С, создать шаблон модуля довольно сложно, описанные обмены данными это основные моменты работы модуля, которые можно расширять и дополнять, в зависимости от требований заказчика, например: передача из 1С статусов заказов (при условии что менеджеры обрабатывают заказы в 1С), передача в 1С платежей через онлайн-системы (liqpay) и так далее.
Естимейт базовой версии задания - 20ч
Вернуться к списку модулей: Модули_пакет_Експерт_-_Документация