WooCommerce Entegrasyon Kılavuzu
Bu kılavuz bir WooCommerce mağazasını Tajo’ya bağlar. Entegrasyon, birlikte çalışan iki yarımdan oluşur:
- Tajo for WooCommerce eklentisi: WordPress içinde gerçek zamanlı etkileşim olaylarını (siparişler, sepetler, iadeler, yorumlar, form gönderimleri) yakalar ve bunları dayanıklı, imzalı bir giden kutusu üzerinden Tajo’ya teslim eder.
- WooCommerce REST bağlantısı: Tajo, geçmiş veri aktarımı ve sürekli senkronizasyon için mağazanızın müşterilerini, siparişlerini, ürünlerini, kuponlarını, iadelerini ve yorumlarını okur. Yalnızca REST ile kurulum için WooCommerce bağlayıcı referansına bakın.
Pazarlama otomasyonunun kendisi (Brevo ve diğer sağlayıcılar üzerinden e-posta, SMS, WhatsApp) eklentide değil Tajo’da yapılandırılır. Eklentinin görevi, güvenilir olayları WordPress’ten dışarı çıkarmaktır.
Ön koşullar
- Yönetici erişimi olan WordPress 6.3+
- PHP 7.4+
- WooCommerce 7.0+ (eklenti, WooCommerce olmayan WordPress sitelerinde de çalışır; ticaret adaptörleri yalnızca pasif kalır)
- WordPress bağlantısı oluşturulmuş bir Tajo hesabı
- Tajo uç noktasında HTTPS (barındırılan Tajo’da her zaman geçerlidir)
Adım 1: Tajo for WooCommerce eklentisini kurun
Elle kurulum
# Download the plugincd wp-content/pluginswget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzipunzip tajo-woocommerce-latest.zipArdından WordPress yönetim panelinden etkinleştirin:
- Plugins → Installed Plugins bölümüne gidin
- “Tajo for WooCommerce” eklentisini bulun
- Activate düğmesine tıklayın
Zip dosyasını doğrudan Plugins → Add New → Upload Plugin üzerinden de yükleyebilirsiniz. Her sürümün yanında tajo.io/downloads/woocommerce/ adresinde bir SHA-256 sağlama toplamı yayımlanır. Eklenti henüz WordPress.org dizininde listelenmiyor; bugün desteklenen yol elle kurulumdur.
Adım 2: Bağlantıyı yapılandırın
WooCommerce → Tajo (WooCommerce olmayan sitelerde: Settings → Tajo) bölümüne gidin ve Tajo WordPress bağlantınızdaki üç değeri girin:
| Alan | Değer |
|---|---|
| Tajo uç noktası | Tajo’da gösterilen HTTPS webhook URL’si, örneğin https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding ID | Tajo’daki bağlantının binding ID değeri |
| İmzalama sırrı | Paylaşılan sır (32–256 karakter). Eklenti, etkinleştirmede güçlü bir yerel sır üretir; bunu Tajo’ya yapıştırın ya da Tajo’nun sırrını buraya yapıştırın |
wp-config.php dosyasına eklenecek bir API anahtarı sabiti yoktur. Üç değerin tamamı kaydedilene kadar olaylar yerel giden kutusunda güvenle kuyrukta bekler.
Ardından hattı uçtan uca doğrulayın:
- Queue test event ve ardından Process now düğmesine tıklayın.
- Teslimat giden kutusu tablosu olayı teslim edilmiş olarak göstermelidir.
- Tajo’da
connection.testolayının WordPress bağlantısına ulaştığını doğrulayın.
Eklenti neler gönderir
Her olay, HMAC-SHA256 ile imzalanmış, gizlilik için asgariye indirilmiş kompakt bir zarftır. WordPress’ten yalnızca etkileşim kimlik alanları (e-posta, telefon, yerel kimlikler) ve sınırlı olay meta verileri çıkar; adlar, posta adresleri, IP adresleri, kullanıcı aracıları, yorum gövdeleri, rastgele form alanları, sipariş notları veya ödeme bilgileri asla çıkmaz.
WooCommerce olayları
| Hook | Olay |
|---|---|
woocommerce_created_customer / woocommerce_update_customer | customer.created / customer.updated |
woocommerce_new_product / woocommerce_update_product | product.created / product.updated |
woocommerce_add_to_cart, ürün çıkarma, kupon ekleme/kaldırma | cart.updated (terk edilme akışları için sepet özetiyle) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (tamamlandığında ek olarak order.fulfilled) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| WooCommerce Subscriptions durum güncellemeleri | subscription.status_changed |
Sipariş olayları; sipariş numarasını, durumu, para birimini, tutarları, satır kalemlerini ve kullanıma hazır yorum/yeniden sipariş URL’lerini taşır. Bu, ek bir API çağrısı olmadan satın alma sonrası ve geri kazanım otomasyonları için yeterlidir.
WordPress olayları
- Kullanıcı hesapları için
contact.created/contact.updated/contact.deleted - Herkese açık içerik için
content.published/content.updated/content.unpublished - Ziyaretçi yorumları ve ürün değerlendirmeleri için
comment.created/comment.status_changed(WooCommerce’in dahili sipariş notları, pingback’ler ve trackback’ler asla yayılmaz) - Başarılı Contact Form 7, WPForms, Gravity Forms ve Fluent Forms gönderimleri için
form.submitted; yalnızca tür belirtilmiş e-posta/telefon kimlik alanları ve form meta verileri çıkarılır, rastgele gönderilen alanlar atılır
Güvenilirlik: teslimat giden kutusu
Eklenti, olayları hiçbir zaman bir sayfa yüklenmesi sırasında doğrudan Tajo’ya göndermez. Her olay önce yerel bir giden kutusu tablosuna yazılır, ardından WP-Cron tarafından şu özelliklerle teslim edilir:
- Sınırlı üstel geri çekilme (
Retry-Afterbaşlığına uyarak en fazla 8 deneme) - Yönetim panelinde tek tıkla Replay dead letters ile işlenen ölü mektuplar
- Ulaşılamayan bir uç noktanın kişisel verileri asla biriktirememesi için saklama sınırları (teslim edilenler: 7 gün; kuyruktakiler: 30 gün; ölü mektuplar: son güncellemeden 30 gün sonra)
- Yeniden denemelerin ve tekrar oynatmaların alt sistemlerde asla kopya oluşturmaması için idempotent olay kimlikleri
Barındırıcınız WP-Cron’u devre dışı bırakıyorsa (DISABLE_WP_CRON), wp-cron.php dosyasını gerçek bir zamanlayıcıdan dakikada en az bir kez çağırın.
İzin asla varsayılmaz
Hesap oluşturma, ödeme, satın alma ve genel form gönderimleri pazarlama izni olarak kabul edilmez. Yerleşik olaylar boş bir izin listesi taşır. Açık izni (örneğin işaretlenmiş bir bülten kutusundan geleni) kaydetmek için bunu uzantı hook’u üzerinden yayın:
do_action( 'tajo_engagement_emit', 'consent.updated', array( 'email' => $email ), array( 'policyVersion' => '2026-07' ), array( array( 'channel' => 'email', 'status' => 'opt_in', // or 'opt_out' 'purpose' => 'marketing', 'source' => 'newsletter_checkbox', 'evidence' => array( 'formId' => 'newsletter-footer', 'field' => 'marketing_email' ), ), ), gmdate( 'c' ));Aynı hook, herhangi bir eklentinin veya temanın özel olaylar yaymasına da izin verir; her şey aynı temizleyiciden, giden kutusundan ve imzadan geçer.
Adım 3: Geçmiş veri aktarımı
Gerçek zamanlı olaylar, kurulumdan sonraki her şeyi kapsar. Eklentiden önceki geçmiş için Tajo’nun WooCommerce REST bağlantısı mevcut müşterileri, siparişleri, ürünleri, kuponları, iadeleri ve yorumları aktarır. Bu tamamen Tajo tarafında, bir WooCommerce REST API anahtarıyla yapılandırılır (WooCommerce → Settings → Advanced → REST API, okuma izni). Ayrıntılar için WooCommerce bağlayıcı referansına bakın.
Gizlilik ve GDPR
- Eklenti, WordPress Tools → Export Personal Data ve Tools → Erase Personal Data araçlarına kaydolur; eşleşen bir e-postaya ait saklanan giden kutusu olayları yerel olarak dışa aktarılır veya silinir.
- Silme ve teslimat, hataya kapalı bir muteks paylaşır; böylece bir silme işlemi, bir veri gönderimi sürerken asla tamamlandı raporu veremez.
- Yerel silme yalnızca WordPress giden kutusunu kapsar. Alt sistemlerdeki veriler için ilgili talebi Tajo’da gönderin.
- Devre dışı bırakma teslimatı duraklatır ama yapılandırmayı ve kuyruktaki olayları korur; eklentiyi silmek giden kutusunu, ayarları, sırrı ve zamanlamaları kalıcı olarak kaldırır.
Uyumluluk
- HPOS: eklenti, WooCommerce Yüksek Performanslı Sipariş Depolama uyumluluğunu beyan eder ve yalnızca CRUD nesnelerini ve herkese açık hook’ları kullanır.
- WooCommerce Subscriptions: uzantı etkinken abonelik durumu değişiklikleri yakalanır.
- Çoklu site: kaldırma işlemi ağdaki her siteyi temizler.
Operasyon referansı
Sunucudan sunucuya keşif ve giden kutusu denetimi, yöneticilere Application Password kimlik doğrulaması üzerinden sunulur:
| Yöntem | Rota | Amaç |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Eklenti sürümü, algılanan adaptörler, olay envanteri, giden kutusu sağlığı |
GET | /wp-json/tajo/v1/outbox | Giden kutusu sayıları (veri içerikleri asla açığa çıkarılmaz) |
POST | /wp-json/tajo/v1/outbox/process | Bir grubu hemen işle |
POST | /wp-json/tajo/v1/outbox/replay | Ölü mektupları tekrar oynat |
Sorun giderme
| Belirti | Nedeni ve çözümü |
|---|---|
| Olaylar “Queued” durumunda kalıyor | Uç nokta, binding ID veya sır henüz kaydedilmedi. Üçü de yapılandırılana kadar teslimat duraklatılır |
| Olaylar “Retrying” durumunda kalıyor | Tajo uç noktası barındırıcınızdan erişilemiyor ya da WP-Cron çalışmıyor. Giden kutusu tablosunun hata sütununu ve cron kurulumunuzu kontrol edin |
| Ölü mektuplar birikiyor | Yeniden denenemez bir hata (genellikle yanlış bir binding ID veya sır). Yapılandırmayı düzeltin, ardından Replay dead letters çalıştırın |
| ”Enter a valid HTTPS Tajo webhook endpoint” | Uç nokta, gömülü kimlik bilgileri olmadan HTTPS olmalıdır |
| Test olayı teslim edildi ama Tajo’da hiçbir şey yok | Binding ID’yi, uç noktanın ait olduğu Tajo çalışma alanı/bağlantısıyla aynı yerden yapıştırdığınızı kontrol edin |
Sonraki adımlar
- WooCommerce bağlayıcı referansı: REST senkronizasyonu, webhook imza ayrıntıları, yapılandırma anahtarları
- Müşteri senkronizasyonu: WooCommerce müşterilerini kayıt sisteminize eşleme
- Tajo’da
cart.updated,order.placedveorder.fulfilledolaylarını kullanarak terk edilmiş sepet, satın alma sonrası ve geri kazanım otomasyonlarını yapılandırın