Синхронизация по API
Синхронизация по API позволит выгружать актуальные данные о ценах из Вашей программы в конструктор PlanPlace.

Синхронизация цен

Для синхронизации конструктора c ценами из 1С, Битрикс или OpenCart, необходимо иметь в обоих программах (PlanPlace и используемая вами) соответствующие друг другу библиотеки кухонных секций и отдельных комплектующих по полю "Артикул".
Для того, чтобы автоматически синхронизировать по полю "Артикул" цены на модули и отдельные комплектующие в конструкторе PlanPlace с ценами на эти же модули и комплектующие в сторонней программе (1С, Битрикс, OpenCart), Вам необходимо загрузить в конструктор массив данных в формате JSON с 2-мя свойствами:
  • code – артикул
  • price – цена
Пример данных:

[{"code":"КП-0014", "price":"3645.60"},{"code":"КП-0016", "price":"4800.42"},{"code":"НР-0018","price": "545.25"}]
Вы можете загрузить эти данные вручную в специальном поле в личном кабинете конструктора, либо автоматически отправить POST запрос с указанными выше данными в формате JSON на специальный URL для автоматической синхронизации, который указан в личном кабинете.
В POST запросе обязательно должны быть указаны следующие ключи:
  • data – Данные с ценами и артикулами в формате JSON
  • sync_key – Ключ для автоматической синхронизации (указан в личном кабинете, как "Ключ для автоматической синхронизации")
  • В ответ на указанный выше POST запрос Вам придет массив с артикулами, которые были удачно синхронизированы.
Чтобы настроить автоматическую синхронизацию (например, ежедневно в 00.00), необходимо выполнить синхронизацию в режиме CRON.
Нужный массив данных можно выгрузить из 1C, OpenCart или БИТРИКС средствами встроенных в эти программы функций экспорта данных.
Пример реализации запроса 1С:

Процедура Команда1(Команда)
//Пример
//Ключ = "RTHX2giOo8U3k";
//Данные = "[{""code"":""НМД-400"", ""price"":""3645.60""},{""code"":""КП-0016"", ""price"":""4800.42""},{""code"":""НР-0018"",""price"": ""545.25""}]";
//Ресурс = "/clients/account/config/index.php/sync/prices_input";
//Заполнить актуальными данными
Ключ = "Ключ для автоматической синхронизации";
Данные = "JSON строка с данными в виде [{""code"":""НМД-400"", ""price"":""3645.60""},{""code"":""КП-0016"", ""price"":""4800.42""},{""code"":""НР-0018"",""price"": ""545.25""}]";
Ресурс = "Путь к файлу синхронизации без адреса сайта";
ФайлОтвет = "Путь к файлу с ответом от сервера (может быть пустой строкой)";
//Внимание! проверьте строку с данными на соотвествие примеру если приходит ответ no_data!
//Сообщить(Данные);
ТелоЗапроса = "&data=" + Данные + "&sync_key=" + Ключ;
Сервер = "planplace.ru";
HTTPСоединение = Новый HTTPСоединение(
Сервер,
443,
,
,
,
,
Новый ЗащищенноеСоединениеOpenSSL()
);
ЗапросHTTP = Новый HTTPЗапрос(Ресурс);
ЗапросHTTP.Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded;charset=utf-8");
ЗапросHTTP.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8);
ОтветHTTP = HTTPСоединение.ОтправитьДляОбработки(ЗапросHTTP, ФайлОтвет);
КонецПроцедуры

Отправка данных о проекте

Данные отправляются методом POST и содержат в себе:

  • name – ФИО
  • email – email
  • phone – телефон
  • comments – комментарии
  • price – цена (если включен любой из режимов расчета цен)
  • screen – jpeg скриншот проекта в формате base64
  • pdf – pdf отчет в формате base64
  • save_data – данные сохранения проекта в формате json. Можно записать в файл .dbs для последующего открытия в конструкторе как через кнопку “Загрузить” так и через GET параметр file_url в url страницы с конструктором
  • modules_list - данные о модулях в виде массива объектов:
Пример реализации запроса 1С:

{
    "modules": [ //Список модулей
    {
        "id": 1, // id модуля
        "facade_material_id": 754, //внутренний id материала фасада
        "corpus_material_id": 1, //внутренний id материала корпуса
        "name": "Нижний модуль с 1 дверцей", //название модуля
        "code": "НП-1Д-450-1", //артикул модуля
        "sizes": "450x720x600", //размеры модуля
        "width": 450, //ширина модуля
        "height": 720, //высота модуля
        "depth": 600, //глубина модуля
        "price": "7318.20", //цена модуля
        "doors": [ //список дверей модуля
        {
            "width": 450, //ширина двери
            "height": 720, //высота двери
            "type": "rtl", //тип открывания - "ltr" - слева направо, "rtl" - справа на лево, "simple_top" - газлифт "double_top" - складной подъемник, "front_top" - паралелльный подъемник
            "style": "full",
            "material_id": 754, //внутренний id материала фасада
            "material_code": "RAL 3002" //материала материала фасада
            }
            ],
            "lockers": [], //список ящиков модуля
            "facade_material_code": "RAL 3002", //артикул материала фасада
            "corpus_material_code": "", //артикул материала корпуса
            "facade_material_category_code": "Нет", //артикул категории материала
            "facade_material_category_id": 4, //внутренний id категории материала
            "facade_type_id": 11, //внутренний id фрезеровки
            "count": 1, //количество
            "group": "bottom", //верхний или нижний модуль "top" - верхний, "bottom" - нижний
            "is_penal": false //пенал или нет false - не пенал, true - пенал
            }
            ],
            "accessories": [
                {
                    "id": "1", // id
                    "code": "701/40GPM", //артикул
                    "name": "Сушка 2-уровневая в базу 400, без рамки, отделка серая", //название
                    "category": "Сушки для посуды в в верхние шкафы", //категория
                    "price": "1440", //цена
                    "images": "https://planplace.ru/wp-content/uploads/2019/02/2672.jpg, https://planplace.ru/wp-content/uploads/2019/02/2670.jpg", //изображения
                    "description": "", //описание
                    "tags": "400mm", //теги
                    "type": "common",
                    "default": "",
                    "count": 1 //количество
                    }
                    ],
                    "tabletop": {
                        "thickness": 40, //толщина столешницы
                        "material": {
                            "code": "Нет", //артикул материала столешницы
                            "name": "A-401-Cloudy-Mount", // название материала столешницы
                            "id": 278, //внутренний id материала столешницы
                            "category": "ADVENTURE" //название категории столешницы
                            }
                            },
                            "handles": {
                                "code": "", //артикул ручки
                                "axis_size": "192", //межосевое расстояние ручки
                                "name": "Рейлинг 1", //название ручки
                                "count": 4 //количество ручек
                                },
                                "project_id": 1582628595388, //уникальный идентификатор проекта
}

Документация

Инструкция была полезной?
Предыдущее
Заявки на расчёт
Следующее 
Общий функционал
Комментарий:
Тема обращения:
Почта для ответа:
Ссылка на конструктор:
Один вопрос - одна заявка.
По темам бухгалтерии, покупки и продлении лицензии, пишите на почту sales@planplace.ru
Один вопрос - одна заявка.
По темам бухгалтерии, покупки и продлении лицензии, пишите на почту sales@planplace.ru