İçeriğe atla
 Magento 2 · 25-35 dk · ileri seviye

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ış

  1. 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)

  1. 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.

  2. Modül yapısı oluşturun

    Özel modül birkaç dosyadan oluşmaktadır:

    Dizin yapısı
    app/code/DigElite/PerfectDayConnector/ ├── etc/ │ ├── module.xml │ └── events.xml ├── Observer/ │ └── OrderPaidObserver.php └── registration.php
  3. registration.php + module.xml

    Kayıt ve modül tanımlama dosyaları Magento standartlarına uygundur. kayıt.php Modül kayıt olur., vb./modül.xml bunu şu şekilde ifade ediyor kurulum_sürümü 1.0.0.

  4. 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
    XML · etc/events.xml
  5. 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
    PHP · Gözlemci/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)); } }
  6. Modülü etkinleştir

    Sunucudaki CLI aracılığıyla:

    Bash
    bin/magento module:enable DigElite_PerfectDayConnector bin/magento setup:upgrade bin/magento cache:flush

Yöntem 2 — Pazar Yeri Genişletmesi + Haritalama

  1. 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 → Ödendi URL'yi ayarla https://plattform.deinperfectday.de/wp-json/perfectday/shop/webhook/order, Başlık Yetkilendirme: Temel. Gövde eşlemesinde JSON formatını ve öğe eşlemesinde özel özniteliği yeniden oluşturun. pfd_kupon_kimliği Açık ürünler[*].kupon_kimliği Bunları birbirine bağlayın. Çoğu webhook uzantısı, ek kod gerektirmeden bunu yapabilir.

Test siparişi

  1. 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ü=magento Kontrol edin. Müşteri posta kutusunu marka e-postası için kontrol edin.

Bir şey sıkışmışsa

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).

Kurulum hizmeti

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.

Sıkça Sorulan Sorular

Hâlâ sorularınız var mı?

Yazılım geliştiriciye mutlaka ihtiyacım var mı?
1. seçenek (özel modül) için evet, bu gerçek bir Magento geliştirmesidir. 3. seçenek (Make.com/Zapier üzerinden barındırılan köprü) herhangi bir özel kod gerektirmeden çalışır. Ya da kurulum hizmetimizi kullanabilirsiniz.
Hazır bir eklenti kullanmak neden olmasın?
Magento eklentileri, belirli Magento sürümüne ve temasına çok yakından uyarlanmalıdır. Genel bir eklenti, yalın bir özel modül veya köprüye göre hatalara daha yatkın olacaktır. Yeterli talep olması durumunda, resmi bir modül geliştirmeyi düşüneceğiz.

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