Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Panduan Integrasi WooCommerce

Panduan ini menghubungkan toko WooCommerce ke Tajo. Integrasinya terdiri atas dua bagian yang bekerja bersama:

  • Plugin Tajo for WooCommerce: merekam event keterlibatan real-time (pesanan, keranjang, pengembalian dana, ulasan, pengiriman formulir) di dalam WordPress dan mengirimkannya ke Tajo melalui outbox andal yang ditandatangani.
  • Koneksi WooCommerce REST: Tajo membaca pelanggan, pesanan, produk, kupon, pengembalian dana, dan ulasan toko Anda untuk impor historis dan sinkronisasi berkelanjutan. Lihat referensi konektor WooCommerce untuk penyiapan REST saja.

Otomatisasi pemasarannya sendiri (email, SMS, WhatsApp melalui Brevo dan penyedia lain) dikonfigurasi di Tajo, bukan di plugin. Tugas plugin adalah mengeluarkan event yang tepercaya dari WordPress.

Prasyarat

  • WordPress 6.3+ dengan akses admin
  • PHP 7.4+
  • WooCommerce 7.0+ (plugin ini juga berjalan di situs WordPress tanpa WooCommerce, adapter commerce-nya cukup tetap nonaktif)
  • Akun Tajo dengan koneksi WordPress yang sudah dibuat
  • HTTPS pada endpoint Tajo (selalu terpenuhi pada Tajo terkelola)

Langkah 1: Pasang plugin Tajo for WooCommerce

Pemasangan manual

Terminal window
# Download the plugin
cd wp-content/plugins
wget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzip
unzip tajo-woocommerce-latest.zip

Lalu aktifkan dari admin WordPress:

  1. Buka Plugins → Installed Plugins
  2. Cari “Tajo for WooCommerce”
  3. Klik Activate

Anda juga dapat mengunggah berkas zip langsung melalui Plugins → Add New → Upload Plugin. Checksum SHA-256 diterbitkan bersama setiap rilis di tajo.io/downloads/woocommerce/. Plugin ini belum terdaftar di direktori WordPress.org; pemasangan manual adalah jalur yang didukung saat ini.

Langkah 2: Konfigurasikan koneksi

Buka WooCommerce → Tajo (pada situs tanpa WooCommerce: Settings → Tajo) lalu masukkan tiga nilai dari koneksi WordPress Tajo Anda:

BidangNilai
Endpoint TajoURL webhook HTTPS yang ditampilkan di Tajo, misalnya https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement
Binding IDBinding ID koneksi tersebut dari Tajo
Signing secretSecret bersama (32–256 karakter). Plugin membuat secret lokal yang kuat saat aktivasi; tempelkan ke Tajo, atau tempelkan secret dari Tajo di sini

Tidak ada konstanta API key yang perlu ditambahkan ke wp-config.php. Event tetap aman mengantre di outbox lokal sampai ketiga nilai tersimpan.

Lalu verifikasi jalurnya dari ujung ke ujung:

  1. Klik Queue test event, lalu Process now.
  2. Tabel outbox pengiriman akan menampilkan event tersebut sebagai terkirim.
  3. Di Tajo, pastikan event connection.test tiba pada koneksi WordPress.

Apa yang dikirim plugin

Setiap event berupa amplop ringkas yang diminimalkan demi privasi dan ditandatangani dengan HMAC-SHA256. Hanya bidang identitas keterlibatan (email, telepon, ID lokal) beserta metadata event yang terbatas yang keluar dari WordPress, tidak pernah nama, alamat pos, alamat IP, user agent, isi komentar, bidang formulir sembarang, catatan pesanan, atau detail pembayaran.

Event WooCommerce

HookEvent
woocommerce_created_customer / woocommerce_update_customercustomer.created / customer.updated
woocommerce_new_product / woocommerce_update_productproduct.created / product.updated
woocommerce_add_to_cart, penghapusan item, penerapan/penghapusan kuponcart.updated (dengan ringkasan keranjang untuk alur keranjang terbengkalai)
woocommerce_cart_emptiedcart.emptied
woocommerce_new_order / woocommerce_update_orderorder.placed / order.updated
woocommerce_order_status_changedorder.status_changed (+ order.fulfilled saat selesai)
woocommerce_payment_completeorder.paid
woocommerce_order_refundedrefund.created
Pembaruan status WooCommerce Subscriptionssubscription.status_changed

Event pesanan membawa nomor pesanan, status, mata uang, total, item baris, serta URL ulasan dan pemesanan ulang yang siap pakai, cukup untuk otomatisasi pascapembelian dan win-back tanpa panggilan API lanjutan.

Event WordPress

  • contact.created / contact.updated / contact.deleted untuk akun pengguna
  • content.published / content.updated / content.unpublished untuk konten publik
  • comment.created / comment.status_changed untuk komentar pengunjung dan ulasan produk (catatan pesanan internal WooCommerce, pingback, dan trackback tidak pernah dikirim)
  • form.submitted untuk pengiriman Contact Form 7, WPForms, Gravity Forms, dan Fluent Forms yang berhasil; hanya bidang identitas email dan telepon bertipe serta metadata formulir yang diambil, bidang kiriman sembarang dibuang

Keandalan: outbox pengiriman

Plugin tidak pernah menembakkan event ke Tajo langsung dari pemuatan halaman. Setiap event ditulis lebih dulu ke tabel outbox lokal, lalu dikirim oleh WP-Cron dengan:

  • Backoff eksponensial yang dibatasi (maksimal 8 percobaan, menghormati Retry-After)
  • Dead letter dengan tombol Replay dead letters sekali klik di admin
  • Batas retensi sehingga endpoint yang tidak dapat dijangkau tidak pernah bisa menimbun data pribadi (terkirim: 7 hari; mengantre: 30 hari; dead letter: 30 hari setelah pembaruan terakhir)
  • ID event yang idempoten, sehingga percobaan ulang dan replay tidak pernah menduplikasi di sisi hilir

Jika hosting Anda menonaktifkan WP-Cron (DISABLE_WP_CRON), panggil wp-cron.php dari penjadwal sungguhan minimal sekali per menit.

Persetujuan tidak pernah disimpulkan

Pembuatan akun, checkout, pembelian, dan pengiriman formulir umum tidak diperlakukan sebagai persetujuan pemasaran. Event bawaan membawa daftar persetujuan kosong. Untuk mencatat persetujuan eksplisit (misalnya dari kotak centang newsletter yang dicentang), kirimkan melalui hook ekstensi:

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' )
);

Hook yang sama memungkinkan plugin atau tema mana pun mengirim event kustom; semuanya melewati sanitizer, outbox, dan tanda tangan yang sama.

Langkah 3: Impor historis

Event real-time mencakup semuanya sejak pemasangan. Untuk riwayat yang mendahului plugin, koneksi WooCommerce REST milik Tajo mengimpor pelanggan, pesanan, produk, kupon, pengembalian dana, dan ulasan yang sudah ada, dikonfigurasi sepenuhnya di sisi Tajo dengan WooCommerce REST API key (WooCommerce → Settings → Advanced → REST API, izin baca). Lihat referensi konektor WooCommerce untuk detailnya.

Privasi dan GDPR

  • Plugin mendaftarkan diri ke Tools → Export Personal Data dan Tools → Erase Personal Data milik WordPress; event outbox tersimpan untuk email yang cocok akan diekspor atau dihapus secara lokal.
  • Penghapusan dan pengiriman berbagi mutex fail-closed, sehingga penghapusan tidak pernah bisa melaporkan selesai saat sebuah payload sedang dikirim.
  • Penghapusan lokal hanya mencakup outbox WordPress, ajukan permintaan yang setara di Tajo untuk data di sisi hilir.
  • Menonaktifkan plugin akan menjeda pengiriman tetapi mempertahankan konfigurasi dan event yang mengantre; menghapus plugin akan menghilangkan outbox, pengaturan, secret, dan penjadwalan secara permanen.

Kompatibilitas

  • HPOS: plugin mendeklarasikan kompatibilitas WooCommerce High-Performance Order Storage dan hanya memakai objek CRUD serta hook publik.
  • WooCommerce Subscriptions: perubahan status langganan direkam saat ekstensi tersebut aktif.
  • Multisite: proses uninstall membersihkan setiap situs di jaringan.

Referensi operasional

Penemuan server-ke-server dan kendali outbox tersedia bagi administrator melalui autentikasi Application Password:

MetodeRuteTujuan
GET/wp-json/tajo/v1/capabilitiesVersi plugin, adapter yang terdeteksi, inventaris event, kesehatan outbox
GET/wp-json/tajo/v1/outboxJumlah item outbox (payload tidak pernah diekspos)
POST/wp-json/tajo/v1/outbox/processProses satu batch segera
POST/wp-json/tajo/v1/outbox/replayReplay dead letter

Pemecahan masalah

GejalaPenyebab dan solusi
Event tetap “Queued”Endpoint, binding ID, atau secret belum tersimpan, pengiriman dijeda sampai ketiganya dikonfigurasi
Event tetap “Retrying”Endpoint Tajo tidak dapat dijangkau dari hosting Anda, atau WP-Cron tidak berjalan, periksa kolom error pada tabel outbox dan penyiapan cron Anda
Dead letter menumpukError yang tidak dapat dicoba ulang (biasanya binding ID atau secret yang salah), perbaiki konfigurasinya lalu jalankan Replay dead letters
“Enter a valid HTTPS Tajo webhook endpoint”Endpoint harus HTTPS tanpa kredensial yang tertanam
Event uji terkirim tetapi tidak ada apa pun di TajoPastikan Anda menempelkan binding ID dari workspace dan koneksi Tajo yang sama dengan pemilik endpoint tersebut

Langkah berikutnya

  • Referensi konektor WooCommerce: sinkronisasi REST, detail tanda tangan webhook, kunci konfigurasi
  • Sinkronisasi pelanggan: memetakan pelanggan WooCommerce ke sistem pencatatan utama Anda
  • Konfigurasikan otomatisasi keranjang terbengkalai, pascapembelian, dan win-back di Tajo memakai event cart.updated, order.placed, dan order.fulfilled

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.