Perfect Day'i Magento 2'ye entegre etme.
Magento'da yerleşik bir webhook işlevi bulunmamaktadır; sipariş olayını dinleyen küçük bir özel modüle ihtiyacınız olacaktır. Bu kılavuz, kendi Magento geliştiricisine veya ajansına sahip satıcılar içindir. Geliştiriciniz yoksa, kurulum hizmetimizi öneririz.
Önceden gerekli olanlar: Bir kere git genel hazırlık Bu işlem, bir kupon oluşturmayı, uygulama şifresini almayı ve webhook URL'sini sağlamayı içerir. Yaklaşık beş dakika sürer ve tüm mağaza sistemleri için geçerlidir.
Üç rotaya genel bakış
-
Hangi yol size daha uygun?
- Özel modül Kendiniz yazmak — yaklaşık 2-3 saatlik Magento geliştirme süreci. Bu kılavuzda açıklanmıştır.
- Webhook uzantısı Magento Marketplace'ten kullanın + JSON eşleştirmesini yapılandırın.
- Ev Sahipliği Yapılan Köprü Make.com / Zapier aracılığıyla — özel kod gerekmez.
Seçenek 1 — Özel modül (Magento geliştiricileri için)
-
Her ürün için "pfd_coupon_id" özelliğini oluşturun.
Magento Yönetici Paneli → Mağazalar → Özellikler → Ürün → „Yeni Özellik Ekle". Öznitelik Kodu
pfd_kupon_kimliği, Giriş Türü „Metin Alanı", Gerekli „Hayır". Ardından altında Mağazalar → Nitelik Kümesi Özelliği uygun gruba atayın. Ürün düzenleyicisinde her kupon ürünü için kimlik numarasını girin. -
Modül yapısı oluşturun
Özel modül birkaç dosyadan oluşmaktadır:
app/code/DigElite/PerfectDayConnector/ ├── etc/ │ ├── module.xml │ └── events.xml ├── Observer/ │ └── OrderPaidObserver.php └── registration.php -
registration.php + module.xml
Kayıt ve modül tanımlama dosyaları Magento standartlarına uygundur.
kayıt.phpModül kayıt olur.,vb./modül.xmlbunu şu şekilde ifade ediyorkurulum_sürümü 1.0.0. -
events.xml — sipariş ödemesi olayını dinleyin
Gözlemciyi Magento etkinliğine bağlayın.
satış_siparişi_ödeme_ödeme:Kodun tamamını görüntüle — XML · etc/events.xml
-
OrderPaidObserver.php — gerçek kargo
Gözlemci, sipariş kalemlerinden kupon kimliklerini toplar, veri paketini oluşturur ve Perfect-Day web kancasına gönderir. Kullanıcı adınızı ve uygulama şifrenizi sabitler alanına girin.
Kodun tamamını görüntüle — PHP · Observer/OrderPaidObserver.php
getEvent()->getPayment()->getOrder(); if (!$order) return; $items = []; foreach ($order->getAllItems() as $it) { $couponId = (int) $it->getProduct()->getData('pfd_coupon_id'); if ($couponId <= 0) continue; $items[] = ['coupon_id' => $couponId, 'count' => (int)$it->getQtyOrdered()]; } if (empty($items)) return; $payload = [ 'shop_order_id' => (string) $order->getIncrementId(), 'shop_type' => 'magento', 'shop_domain' => parse_url($order->getStore()->getBaseUrl(), PHP_URL_HOST), 'customer' => [ 'email' => $order->getCustomerEmail(), 'name' => trim($order->getCustomerFirstname() . ' ' . $order->getCustomerLastname()), 'locale' => substr($order->getStore()->getLocaleCode() ?: 'de', 0, 2), ], 'items' => $items, 'order_total_cents' => (int) round((float) $order->getGrandTotal() * 100), 'currency' => $order->getOrderCurrencyCode(), 'placed_at' => $order->getCreatedAt(), ]; $this->curl->setHeaders([ 'Content-Type' => 'application/json', 'Authorization' => 'Basic ' . base64_encode(self::PFD_USER . ':' . self::PFD_PWD), ]); $this->curl->post(self::PFD_URL, json_encode($payload)); } } -
Modülü etkinleştir
Sunucudaki CLI aracılığıyla:
bin/magento module:enable DigElite_PerfectDayConnector bin/magento setup:upgrade bin/magento cache:flush
Yöntem 2 — Pazar Yeri Genişletmesi + Haritalama
-
Webhook uzantısını yapılandırın
Ticari bir webhook eklentisi kullanarak: Tetikleme işlemi şu şekilde gerçekleşir:
Sipariş Durumu Değişikliği → ÖdendiURL'yi ayarlahttps://plattform.deinperfectday.de/wp-json/perfectday/shop/webhook/order, BaşlıkYetkilendirme: Temel. Gövde eşlemesinde JSON formatını ve öğe eşlemesinde özel özniteliği yeniden oluşturun.pfd_kupon_kimliğiAçıkürünler[*].kupon_kimliğiBunları birbirine bağlayın. Çoğu webhook uzantısı, ek kod gerektirmeden bunu yapabilir.
Test siparişi
-
Sipariş verin ve kontrol edin.
Deneme siparişi verin, ödeme yapın, ardından platformun arka ofisinde aşağıdaki adımları izleyin. Mükemmel Gün → Mağaza siparişleri giriş ile
mağaza_türü=magentoKontrol edin. Müşteri posta kutusunu marka e-postası için kontrol edin.
Sorun giderme.
Gözlemci ateş etmiyor.
Önbellekten sonra kurulum:yükseltme Boşaltılmamış mı? bin/magento cache:flush gerçekleştirmek.
Özel özellik boş kalıyor
Özellik pfd_kupon_kimliği Herhangi bir özellik kümesine atanmamıştır. Mağazalar → Nitelik Kümesi yetişmek.
HTTP çağrıları ödeme işlemini askıya alıyor/engelleyor.
Magento cron görevi bunu engelliyor. HTTP çağrısını bir kuyruğa taşıyın... Magento\Framework\MesajKuyruğu\YayıncıArayüzü, Bunun yerine, işlemi Gözlemci'de eş zamanlı olarak yürütmek yerine.
HTTP 401 / 403 / 400
Diğer mağazalardakiyle aynı hata kodları: 401 = Kimlik doğrulama hatalı, 403 = Kupon kimliği hesabınıza ait değil, 400 = Geçersiz JSON gövdesi (genellikle müşteri e-postası eksik).
Bunu sizin için biz mi kurmamızı tercih edersiniz?
Magento, desteklenen mağaza sistemleri arasında en karmaşık olanıdır. Geliştirici erişiminiz yoksa, özel modül geliştirmeyi biz üstleniriz veya yalnızca Magento API erişimi sağlamanız gereken bir köprü sunucusu kurabiliriz.
Hâlâ sorularınız var mı?
Yazılım geliştiriciye mutlaka ihtiyacım var mı?
Hazır bir eklenti kullanmak neden olmasın?
Mağaza bağlantısı kuruldu — peki şimdi ne olacak?
Webhook çalışmaya başladıktan sonra, tüm siparişler otomatik olarak arka ofisinizde görünecektir. Başka bir bağlantıya ihtiyacınız varsa, her ek mağaza birkaç dakika içinde kurulabilir.
Mağaza genel görünümüne git