Подключите Perfect Day к другим магазинам.
Вы используете Wix, Squarespace, Jimdo, Webflow Ecommerce или собственный интернет-магазин? Если ваш магазин может отправлять веб-хук с каждым оплаченным заказом — напрямую или через такой сервис, как Make.com, — Perfect Day можно интегрировать.
Необходимо сделать заранее: Сходите как раз общая подготовка Это включает в себя создание купона, получение пароля приложения и указание URL-адреса веб-перехватчика. Процедура занимает приблизительно пять минут и применима ко всем системам интернет-магазинов.
Минимальные требования
-
Ваш магазин должен уметь делать три вещи.
- Веб-хук для запуска заказа когда "заказ оплачен"„
- HTTP POST с заголовком Basic-Auth отправлять
- JSON-данные сконструировать в нашем формате
Ваш магазин может отправлять только электронные письма с заказами и ничего больше? Тогда используйте сервис-посредник, например Zapier или Make.com, который анализирует электронное письмо с заказом и выполняет HTTP-запрос.
Требуемый JSON-объект
Независимо от источника данных, в конечном итоге, это JSON-содержимое должно быть отправлено на веб-хук.
-
формат полезной нагрузки
Обязательные поля:
shop_order_id,тип магазина,магазин_домен,клиент.электронная почта,items[].coupon_idиitems[].count. Дополнительные опцииклиент.имя,клиент.локаль,order_total_cents,валютаиразмещенный_в.{ "shop_order_id": "1042", "shop_type": "custom", "shop_domain": "shop.example.com", "customer": { "email": "kunde@example.com", "name": "Max Mustermann", "locale": "de" }, "items": [ { "coupon_id": 15114, "count": 1 } ], "order_total_cents": 5000, "currency": "EUR", "placed_at": "2026-05-14T10:42:00Z" } -
Заголовок авторизации
Стандартная HTTP-аутентификация Basic Auth. Значение вычисляется на основе имени пользователя и пароля приложения.
Авторизация: Базовая Тип содержимого: application/json -
Сгенерировать значение Base64
На Mac/Linux в терминале результат появляется после
базовый:echo -n "your-name:xxxx xxxx xxxx xxxx xxxx xxxx" | base64
Варианты мостов для магазинов, не имеющих встроенной функции веб-хуков.
-
Вариант 1 — Zapier или Make.com
Обе системы предлагают триггеры для множества интернет-магазинов, а также HTTP-действие для POST-запросов. Пример рабочего процесса (Make.com): Триггер „Следите за новыми заказами", необязательное действие „"Получить подробную информацию о товаре"" для поиска идентификатора купона, затем „"HTTP → Отправить запрос"" к URL-адресу веб-перехватчика. Бесплатного тарифного плана Make.com достаточно примерно для 1000 заказов в месяц.
-
Вариант 2 — IFTTT, n8n, Pipedream
Тот же рабочий процесс, другой интерфейс. н8н Он позволяет размещать его на собственном сервере и, следовательно, лучше соответствует требованиям GDPR. IFTTT имеет более ограниченные возможности (отсутствует сложное сопоставление JSON-данных).
-
Вариант 3 — Выделенный сервер моста
Для создания пользовательского URL-адреса веб-перехватчика: Cloudflare Workers (бесплатно до 100 000 запросов в день), Vercel Serverless Functions, AWS Lambda или собственный сервер Node/PHP. Пример кода для Cloudflare Workers:
Просмотреть полный код — TypeScript · Cloudflare Worker
export default { async fetch(req: Request): Promise<Response> { if (req.method !== 'POST') return new Response('Method not allowed', { status: 405 }); const shopPayload = await req.json(); const pfdPayload = mapToPerfectDay(shopPayload); const auth = btoa('DEIN-USER:DEIN APP PWD'); const res = await fetch( 'https://plattform.deinperfectday.de/wp-json/perfectday/shop/webhook/order', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Basic ' + auth, }, body: JSON.stringify(pfdPayload), } ); return new Response(await res.text(), { status: res.status }); }, }; function mapToPerfectDay(shopPayload: any) { return { shop_order_id: shopPayload.orderNumber, shop_type: 'custom', shop_domain: shopPayload.shop?.domain, customer: { email: shopPayload.customer?.email, name: shopPayload.customer?.name, locale: 'de', }, items: shopPayload.lineItems.map((li: any) => ({ coupon_id: parseInt(li.metadata?.pfd_coupon_id, 10), count: li.quantity, })).filter((it: any) => it.coupon_id > 0), order_total_cents: Math.round(shopPayload.totalAmount * 100), currency: shopPayload.currency, placed_at: shopPayload.paidAt, }; }
Сопоставление идентификаторов купонов для магазинов без пользовательских полей.
-
Поддерживайте актуальность картографирования в мосту.
Если ваш магазин не поддерживает настраиваемые поля для каждого товара (некоторые очень простые конструкторы магазинов этого не делают), вы управляете сопоставлением непосредственно в мосте. Необходимое условие: идентификатор товара в вашем магазине должен быть уникальным и стабильным.
const COUPON_MAPPING: Запись = { 'gutschein-25-eur': 15114, 'gutschein-50-eur': 15115, 'gutschein-100-eur': 15116, }; // В mapToPerfectDay(): const cupId = COUPON_MAPPING[li.productSlug];
Заказ на тестирование
-
Оформите и проверьте заказ
Независимо от варианта моста: разместите тестовый заказ и получите доступ к административной панели платформы по адресу Идеальный день → Заказы в магазине на входе с
shop_type=customПожалуйста, подождите. Проверьте свой почтовый ящик для клиентов, там будет письмо от бренда.
Поиск неисправностей.
Веб-хук не может связаться с сервером платформы.
Платформа принимает только HTTPS POST-запросы. Имеет ли ваш сервер-мост действующий SSL-сертификат и доступен ли он публично? Проверьте подключение извне: curl -v https://plattform.deinperfectday.de/wp-json/perfectday/shop/webhook/order Должен возвращаться код ошибки 401, а не „Соединение отклонено".
Аутентификация не работает.
Имя пользователя — это имя пользователя WordPress (пользователь_вход), а не электронное письмо. С кодированием Base64. echo -n использовать (без символов новой строки).
Другие коды ошибок (400, 403, 429)
400 = недействительный JSON-объект (часто отсутствует адрес электронной почты клиента), 403 = идентификатор купона не принадлежит вашей учетной записи, 429 = ограничение количества запросов, подождите немного и отправьте повторно.
Вы бы предпочли, чтобы мы это для вас настроили?
Вашего магазина нет в списке, или у вас возникли проблемы с настройкой моста? Отправьте нам запрос в службу поддержки, указав данные вашей системы, встроенные возможности (веб-хуки, пользовательские поля, API) и пример данных из тестового заказа. Мы предоставим вам готовый шаблон сопоставления или поможем с вашим собственным кодом.
Остались вопросы?
Какие магазины относятся к категории "другие магазины"?
Сколько стоит мост, построенный через Make.com?
А что, если мой магазин вообще не поддерживает веб-хуки?
Магазин подключен к сети — и что дальше?
После запуска веб-хука все заказы автоматически отобразятся в вашей административной панели. Если вам потребуется дополнительное подключение, каждый дополнительный магазин можно настроить всего за несколько минут.
Перейти к обзору магазина