Aşağıdaki makale size yardımcı olacaktır:Tüm Kullanıcılar için Kapsamlı Bir Kılavuz
BigCommerce için bir uygulama mı geliştiriyorsunuz? Eğer öyleyse, web kancalarını nasıl kullanacağınızı bilmelisiniz.
Web kancaları etkinliklere “abone olmanıza” olanak tanır; bu, bir BigCommerce mağazasında bu etkinlikler gerçekleştiğinde uygulamanızın anında bilgilendirileceği anlamına gelir. Ardından uygulamanızı, abone olunan bir etkinlik gerçekleştiğinde belirli eylemlerin tetikleneceği şekilde ayarlayabilirsiniz.
Örneğin web kancaları, BigCommerce for WordPress uygulamasının kullanıcılarının WordPress sitelerinde görüntülenen BigCommerce ürün envanterini güncellemelerini mümkün kılan şeydir. senkronizasyon düğmesine manuel olarak basmak zorunda kalmadan.
Aslında, sayfa oluşturuculardan veri aktarım hizmetlerine ve sipariş yönetimi araçlarına kadar hemen hemen her tür BigCommerce uygulaması, bu güçlü kaynakla yeteneklerini genişletebilir.
#cta-visual-fe#
–
Kimlik doğrulama
BigCommerce web kancaları, kimlik doğrulama için OAuth’u kullanır ve JSON medya türünü destekler (temel kimlik doğrulama ve XML desteklenmez).
Web kancalarıyla istek gönderip alabilmeniz için önce aşağıdakilere sahip olmanız gerekir:
BigCommerce Mağazasına Erişim
Henüz bir BigCommerce hesabınız yoksa, ücretsiz bir sanal alan mağazasına erişim elde etmek için BigCommerce Ortaklık Programına katılabilirsiniz. Bu, BigCommerce üyeliği satın alma ihtiyacını ortadan kaldıracağından size büyük miktarda tasarruf sağlayacaktır (planlar şu tarihte başlar: Aylık 29,95$ 15 günlük ücretsiz deneme süresinden sonra).
BigCommerce Ortaklık Programına hak kazanmak için şunlara ihtiyacınız olacak:
- Ajansınız hakkında ayrıntılı bilgi veren bir web sitesi.
- Geliştirdiğiniz uygulamaları halka sunma niyetiniz.
- Uygulamanızın kullanıcılarını destekleme yeteneği.
- Uygulama geliştirme konusunda geniş deneyime sahip olduğunuzun kanıtı.
Şuraya git: BigCommerce İş Ortağı sayfası başvurmak.
Onaylandıktan sonra korumalı alan mağazanızı oluşturmak için şu adımları izleyin:
–
1. Şuraya gidin: bigcommerce.com ve “Oturum Aç”ı seçin.
–
2. “Oturum Aç” düğmesinin altındaki “Başlayın” bağlantısını tıklayın.
–
3. “Ücretsiz Denemenizi Başlatın”ı seçin.
–
4. Yeni mağazanızı oluşturmak için gereken bilgileri doldurun (ortaklık başvurunuzu gönderirken kullandığınız e-posta adresinin aynısını girdiğinizden emin olun). Şu anda mağazanız standart deneme süresindedir.
–
–
5. Artık BigCommerce Ortaklık Programı için onaylandığınız ve bir BigCommerce hesabınız olduğu için oturum açabilirsiniz. BigCommerce İş Ortağı Portalı.
–
Burada yeni mağazanızın korumalı alana dönüştürülmesini talep edebilirsiniz. BigCommerce ekibi, 15 günlük deneme süresinin artık sizin için geçerli olmaması ve ücretsiz mağazanızı süresiz olarak kullanmaya devam edebilmeniz için mağazanızı işaretleyecektir. Bu durumun uygulanması genellikle yaklaşık iki gün sürer.
OAuth İstemci Kimliği ve Belirteci
BigCommerce İş Ortağı Portalı’nda oturum açtıktan sonra uygulamanız için bir API hesabı da oluşturabilirsiniz. Bu, devam etmeniz gereken OAuth İstemci Kimliğini ve OAuth jetonunu oluşturacaktır.
Geçerli TLS/SSL Sertifikası
Kendinden imzalı bir sertifikanız varsa veya ara sertifikalar uygulama sunucunuza yüklenemiyorsa bu durum bağlantı hatasına neden olur. TLS/SSL sertifikanızın durumunu şu adresten kontrol edebilirsiniz: SSL Laboratuvarları.
Yük
BigCommerce’te abone olunan bir etkinlik gerçekleştiğinde, size yalnızca etkinlikle ilgili minimum miktarda ayrıntıyı içeren bir yük gönderilir. Kullanıcının tüm ayrıntılara erişebilmesi için kimliğinin tamamen doğrulanması gerekeceğinden, veri yükünde ayrıntıların minimumda tutulması güvenliğin artırılmasına yardımcı olur. Ayrıca uygulamanızdaki bildirimi nasıl yöneteceğiniz konusunda size büyük bir esneklik sağlar.
Her bir yükün unsurları şunları içerir:
- mağaza_kimliği: BigCommerce mağazasının sayısal tanımlayıcısı (bu tanımlayıcı her mağaza için benzersizdir).
- üretici: Web kancasını oluşturan mağaza. Bu öğe “stores/store_hash” biçimini kullanır.
- kapsam: Webhook ile abone olduğunuz etkinlik.
- veri: Abone olunan etkinliğin açıklaması (yalnızca minimum ayrıntıların dahil edileceğini unutmayın).
- doğramak: JSON’da kodlanmış ve SHA-1 ile şifrelenmiş yük verileri.
Aşağıdaki BigCommerce webhook örneği bu yükün neye benzediğini göstermektedir:
–
Görüntü Kaynağı: Büyük Ticaret
Rica etmek
Webhook isteklerinin HTTP üstbilgilerine aşağıdakileri eklemeniz gerekir:
Kabul et: uygulama/json
İçerik Türü: application/json
X-Auth-Client: (OAuth istemci kimliğiniz)
X-Auth-Token: (OAuth jetonunuz)
Cevap
Bir webhook yanıtı aşağıdaki öğeleri içerir:
- İD: Web kancasını tanımlayan benzersiz bir salt okunur değer (tür: tamsayı).
- Müşteri Kimliği: Uygulamanızı tanımlamak için kullanılan OAuth istemci kimliği (tür: dize).
- mağaza_hash: BigCommerce mağazasını tanımlamak için kullanılan karma değeri (tür: dize).
- kapsam: Yine webhook ile abone olduğunuz etkinlik (tür: string).
- varış noktası: Sunucunuzdaki web kancası verilerini alacak şekilde yapılandırılması gereken uç nokta olan geri aramanın URI’si (tür: dize).
- başlıklar: Geri çağırma URI’nize (tip: dize) gönderilen POST isteklerinin HTTP başlığındaki ad-değer çiftleri.
- aktif: Webhook’un etkin mi yoksa devre dışı mı olduğu. Yeni web kancaları varsayılan olarak etkin değil olarak ayarlanmıştır (tür: boolean).
- created_at: Web kancasının ne zaman oluşturulduğu (tür: tarih-saat Unix Epoch).
- Güncelleme_tarihi: Web kancasının en son ne zaman güncellendiği (tür: tarih-saat Unix Epoch).
–
Görüntü Kaynağı: Büyük Ticaret
Geri Arama Yeniden Deneme Süreci
Bir HTTP 201 yanıtı, BigCommerce webhook kurulumunuzun başarılı olduğunu doğrular.
Bir dakikalık bir zaman aşımı süresi bulunduğunu ve bu nedenle, sunucunuzdaki geri arama URI’sinin istekleri almaya başlaması için bir dakikaya kadar beklemeniz gerekebileceğini unutmayın.
200 aralığının dışındaki bir HTTP yanıtı, web kancasının alınmadığını gösterir.
Bir HTTP 201 yanıtının döndürüldüğü her örnek bir başarı olarak sayılır ve yanıtın olmadığı veya sunucunun zaman aşımına uğradığı her örnek bir başarısızlık olarak sayılır.
Başarı/başarısızlık oranınız iki dakikalık bir süre içinde herhangi bir noktada %90’ın altına düşerse alan adınız üç dakika süreyle kara listeye alınır. Minimum 100 webhook isteği eşik sayısı vardır; bu, iki dakikalık bir penceredeki ilk 100 isteğin, yanıtlara bakılmaksızın başarı/başarısızlık oranınıza dahil edilmeyeceği anlamına gelir.
Bir alan adı kara listeye alındığında, BigCommerce web kancası dağıtıcısı artan aralıklarla yeniden denemeler yapmaya çalışır (kullanımdan kaldırma işlemlerinin belirli web kancaları yerine alan adınızın tamamı tarafından tetiklendiğini unutmayın; web kancalarınızın her birinin başarı/başarısızlık oranı, genel oranınıza göre hesaplanacaktır) ):
- İlk üç dakikalık kara listeden 60 saniye sonra
- İlk tekrar denemeden 180 saniye sonra
- İkinci tekrar denemeden 180 saniye sonra
- Üçüncü tekrar denemeden 300 saniye sonra
- Dördüncü tekrar denemeden 600 saniye sonra
- Beşinci tekrar denemeden 900 saniye sonra
- Altıncı tekrar denemeden 1.800 saniye sonra
- Yedinci yeniden denemeden 3.600 saniye sonra
- Sekizinci tekrar denemeden 7.200 saniye sonra
- Dokuzuncu yeniden denemeden 21.600 saniye sonra
- Onuncu tekrar denemeden 50.400 saniye sonra
- On birinci tekrar denemeden sonra 86.400 saniye (24 saat)
Eğer bu on ikinci ve son deneme işe yaramazsa, webhook’unuz devre dışı bırakılacak ve size sorunla ilgili bir e-posta bildirimi gönderilecektir. Sorunu çözdükten sonra webhook’u yeniden etkinleştirmek için “is_active” ayarını manuel olarak “true” değerine ayarlamanız gerekecektir.
Alan adınız kara listeden çıkarıldıktan sonra yeni istekler gerçek zamanlı olarak gönderilecektir. Alan adınız kara listeye alındığında gönderilen istekler sıraya alındıkça yeniden gönderilecektir.
BigCommerce Webhook Etkinlikleri
Web kancalarıyla abone olabileceğiniz birçok farklı etkinlik vardır ve bu, uygulamanız için pek çok olasılığın önünü açar.
Emirler
Abone olabileceğiniz siparişle ilgili etkinlikler şunları içerir:
- mağaza/sipariş/* – Tüm sipariş etkinliklerine abone olun.
- mağaza/sipariş/oluşturuldu – Yeni bir düzen yaratıldı.
- mağaza/sipariş/güncellendi – Mevcut bir sipariş güncellenir (kupon eklenir, teslimat adresi değiştirilir vb.).
- depola/sipariş et/arşivlendi – Bir sipariş arşivlendi.
- mağaza/sipariş/durumGüncellendi – Bir siparişin durumu güncellenir (“Ödeme Bekleniyor” durumundan “Gönderildi” durumuna, “Gönderildi” durumundan “Tamamlandı” durumuna vb. yükseltilir).
- mağaza/sipariş/mesaj/oluşturuldu – Sipariş mesajı oluşturulur.
Ürünler
Abone olabileceğiniz ürünle ilgili etkinlikler şunları içerir:
- mağaza/ürün/* – Tüm ürün etkinliklerine abone olun.
- mağaza/ürün/silindi – Mevcut bir ürün silinir.
- mağaza/ürün/oluşturulan – Yeni bir ürün yaratılıyor.
- mağaza/ürün/güncellendi – Mevcut bir ürünün detaylarında değişiklik yapılması (kategori, envanter vb.).
- mağaza/ürün/envanter/güncellendi – Bir ürünün envanteri değiştirildi.
- mağaza/ürün/envanter/sipariş/güncellendi – Sipariş nedeniyle ürünün stoğu azalıyor.
Kategori
Abone olabileceğiniz kategoriyle ilgili etkinlikler şunları içerir:
- mağaza/kategori/* – Tüm kategori etkinliklerine abone olun.
- mağaza/kategori/oluşturuldu – Yeni bir kategori oluşturulur.
- mağaza/kategori/güncellendi – Mevcut bir kategori güncellenir (yeni başlık, düzenlenmiş açıklama vb.).
- mağaza/kategori/silindi – Mevcut bir kategori silinir.
Stok Kodu
Abone olabileceğiniz SKU ile ilgili etkinlikler şunları içerir:
- mağaza/sku/* – Tüm SKU etkinliklerine abone olun.
- mağaza/sku/oluşturuldu – Yeni bir SKU oluşturulur.
- mağaza/sku/güncellendi – Mevcut bir SKU güncellendi.
- mağaza/sku/silindi – Mevcut bir SKU silinir.
- mağaza/sku/envanter/güncellendi – Bir SKU’nun envanteri güncellenir.
- mağaza/sku/envanter/sipariş/güncellendi – Bir sipariş verilir veya siparişin iadesi yapılır ve ürün stoklara iade edilir.
Müşteri
Abone olabileceğiniz müşteriyle ilgili etkinlikler şunları içerir:
- mağaza/müşteri/* – Tüm müşteri etkinliklerine abone olun.
- mağaza/müşteri/oluşturulan – Yeni bir müşteri yaratılır.
- mağaza/müşteri/güncellendi – Bir müşterinin bilgilerinin değiştirilmesi (müşteri adresi bu etkinliğe dahil değildir).
- mağaza/müşteri/silindi – Mevcut bir müşteri silinir.
- mağaza/müşteri/adres/oluşturulan – Yeni müşteri adresi eklendi.
- mağaza/müşteri/adres/güncellendi – Mevcut bir müşteri adresi güncellenir.
- mağaza/müşteri/adres/silindi – Mevcut bir müşteri adresi silinir.
- mağaza/müşteri/ödeme/araç/varsayılan/güncellenmişMüşteri – Müşterinin varsayılan ödeme yöntemi değiştirildi.
Mağaza
Abone olabileceğiniz mağazayla ilgili etkinlikler şunları içerir:
- mağaza/uygulama/kaldırılmış – Bir mağaza platformdan kaldırılır.
- mağaza/bilgi/güncellendi – Bir mağaza ayarlarını değiştirir (mağaza adı, mağaza telefon numarası, mağaza saat dilimi vb.).
Araba
Abone olabileceğiniz sepetle ilgili etkinlikler şunları içerir:
- mağaza/sepet/* – Tüm sepet etkinliklerine abone olun (bu, sizi otomatik olarak mağaza/cart/lineItem* etkinliğine de abone edecektir).
- mağaza/sepet/oluşturuldu – Yeni bir sepet oluşturulur.
- mağaza/sepet/güncellendi – Mevcut bir sepetin satır öğelerinde değişiklikler yapılır (sepete yeni bir ürün eklenir, bir ürünün miktarı ayarlanır, vb.). Yeni sepetler teknik olarak varsayılan olarak boş olduğundan ve eklenen ilk ürün sepette değişiklik olarak sayıldığından, bu etkinlik yeni bir sepet oluşturulduğunda da tetiklenecektir. Sepet oluşturduktan veya misafir ödemesinde e-postasını girdikten sonra hesabına giriş yapan bir müşteri de bu etkinliği tetikleyecektir.
- mağaza/sepet/silindi – Mevcut bir alışveriş sepeti silinir. Bu olay, sepetin hala sepette bulunan ürünlerle manuel olarak silinmesi veya müşterinin tüm ürünleri sepetten çıkarmasıyla otomatik olarak silinmesi durumunda tetiklenecektir (kaldırılan son ürün aynı zamanda mağaza/sepet/güncellemeyi de tetikleyecektir).
- mağaza/sepet/kuponUygulandı – Sepete yeni bir çift kodu uygulanır.
- mağaza/sepet/terk edilmiş – Bir alışveriş sepeti terk edilir (alışveriş sepetleri bir saatten fazla bir süre içinde dönüştürülmediği veya değiştirilmediği takdirde terk edilmiş sayılır).
- mağaza/sepet/dönüştürülmüş – Sepet siparişe dönüştürülür. Bu, sepeti silecektir.
Sepet Satır Öğesi
Abone olabileceğiniz, sepet satır öğesiyle ilgili etkinlikler şunları içerir:
- mağaza/sepet/lineItem/* – Tüm sepet satır öğesi etkinliklerine abone olun.
- mağaza/sepet/lineItem/oluşturuldu – Sepete yeni bir ürün eklenir.
- mağaza/sepet/lineItem/güncellendi – Bir öğenin miktarı veya seçenekleri değiştirilir.
- mağaza/sepet/lineItem/silindi – Mevcut bir ürün sepetten silinir.
gönderi
Abone olabileceğiniz gönderiyle ilgili etkinlikler şunları içerir:
- mağaza/sevkiyat/* – Tüm gönderi etkinliklerine abone olun.
- mağaza/gönderi/oluşturuldu – Yeni bir gönderi oluşturulur.
- mağaza/gönderi/güncellendi – Mevcut bir gönderi güncellenir (adres, iletişim bilgileri vb.).
- mağaza/gönderim/silindi – Mevcut bir gönderi silinir.
Abone
Abone olabileceğiniz abonelerle ilgili etkinlikler şunları içerir:
- mağaza/abone/* – Tüm abone etkinliklerine abone olun.
- mağaza/abone/oluşturulan – Yeni bir abone oluşturulur.
- mağaza/abone/güncellendi – Mevcut bir abone güncellenir.
- depola/abone/silindi – Mevcut bir abone silinir.
BigCommerce Webhook Testi
BigCommerce kullanmanızı önerir Ngrok Entegrasyonunuzu geliştirirken web kancalarınızı test etmek için.
–
Görüntü Kaynağı: GitHub
Ngrok ile localhost sunucunuz ile genel bir URL arasında bir tünel kurabilirsiniz. Ayrıca HTTP istek ayrıntılarını görüntülemek için bir web arayüzüne erişmenizi sağlar. Bu şekilde, entegrasyonunuzu yayınlamadan önce sorunsuz bir şekilde çalıştığından emin olabilirsiniz.
#cta-visual-fe#