Открыть меню

Заказы в корзину сайта или передача заказов на ваш сервер

Отправку заказов из конструктора в корзину вашего сайта, или передачу заказов на ваш сервер (или хостинг) нужно программировать вашими силами у вас на сайте. Готовых модулей нет. Есть два подхода навыбор (их можно использовать оба одновременно для разных целей):

На основе события отправки заказа (JavaScript)

Это событие описано в разделе Обработка событий, и возможно только если конструктор размещён на странице вашего сайта.

Процесс выглядит так:
1. При отправке заказа конструктор отдаёт все данные заказа вашему сайту через JavaScript (описано в Обработка событий);
2. Вы на сайте программируете обработку этих данных - формирование заказа в корзине на их основе, или что-то другое, например переход на страницу оплаты без корзины.

Плюсы данного способа:

  • Использует JavaScript, что даёт возможность управлять страницей без перезагрузки, пользоваться какими-либо JavaScript API (например API корзины если есть), или перенаправлять клиента на другую страницу.

Минусы данного способа:

  • Если на странице вашего сайта возникнет ошибка JavaScript, то событие может не обработаться. То есть нужно следить, чтобы JavaScript на вашем сайте был без ошибок, что иногда сложно из-за обилия сторонних плагинов;
  • В браузере могут быть какие-то плагины, из-за ошибок которых событие может не обработаться;
  • Может получиться длинная цепочка обработки: конструктор --> JavaScript --> серверный язык, если данные заказа нужно передать не только в JavaScript. Это снижает надёжность.

На основе серверного обработчика

Заказы после обработки сервером конструктора могут отправляться на ваш сервер или хостинг. Это можно использовать для более длительного хранения заказов, для повышения надёжности хранения заказов, как страховку от потери заказов, или для каких-то манипуляций, например для доступа к заказам из админки вашего сайта, или для отправки заказов в корзину вашего сайта.

Чтобы этим пользоваться, вы должны написать обработчик (просто серверный скрипт например на PHP), который будет принимать данные заказа и делать с ними то, что вам нужно. После этого сохраните файл вашего обработчика на ваш сервер или хостинг, и впишите в кабинете в разделе "Отправка заказов" в поле "Отправка на ваш сервер" URL-адрес вашего обработчика.

Сервер конструктора после каждого заказа будет отправлять по данному URL-адресу все данные заказа методом POST: json-данные заказа (его id, дату заказа, поля заполненные клиентом и прочее), архив с ресурсами заказа (исходные изображения, PDF, шрифты), и превью в формате jpg.

Ваш обработчик обязательно должен вернуть строку 'success' в теле ответа (без кавычек, отступов и других лишних символов). Если сервер конструктора не получит данную строку, он будет думать, что передача заказа не удалась.

URL-адрес вашего обработчика должен начинаться с https (использовать защищенное соединение). Иначе персональные данные ваших клиентов могут быть перехвачены злоумышленниками. Используя http (не защищённое соединение) вы раскрываете персональные данные ваших клиентов.

Тестировать работу вашего обработчика можно заказами из конструктора. Видеть, какие данные отправляет сервер конструктора, можно логированием всех POST-данных пришедшего запроса. Например в PHP можно отобразить всё содержимое переменных $_POST и $_FILES, а в Node.js можно сделать трейс объекта req или req.body. Файлы могут приходить как им свойственно в вашем языке.

Скачать пример обработчика на PHP можно по этой ссылке.

Учитывайте, что пришедшие данные заказа (zip-архив и превью) могут весить десятки мегабайт (может упираться в лимиты оперативки на процесс, или приводить к быстрому заполению папки или базы).

Если у вашего обработчика или сервера будут какие-то проблемы, или соединение с вашим сервером не получится установить, то сервер конструктора НЕ будет добиваться успешного исхода или как-то вас предупреждать. Поэтому надёжность данного метода не абсолютна. При этом заказ можно будет смотреть из кабинета конструктора, где заказ сохраняется в любом случае ещё до отправки на ваш сервер.

Плюсы данного способа:

  • Не требует, чтобы конструктор был на странице вашего сайта. В частности конструктор может быть ВКонтакте или сразу на многих сайтах, а обработчик будет на вашем сервере или хостинге, один для всех ваших конструкторов;
  • Больше надёжности, потому что исключаются: JavaScript и его возможные ошибки, проблемы браузера и его плагинов;
  • Данным способом передаётся больше данных, включая zip-архив заказа, информацию введённую клиентом и скриншоты заказа.
Оба способа не дают гарантии, что данные заказа будут переданы вашему сайту, на ваш сервер или хостинг. Потому что в процессе передачи ваш сервер может не ответить, могут быть какие-то задержки, сбой сетей и прочее.
Если ваш сайт на CMS и вы хотите добавлять заказ в корзину, то вам потребуется добавлять в корзину продукт, нигде ранее не описанный. С этим могут быть трудности, поскольку модуль корзины может работать только на известных продуктах, добавленных в админке вашего сайта. Соответственно может потребоваться программист, способный написать новые функции к вашей CMS.
Получить конструктор
30 дней бесплатный
тестовый период