ابتدائی رسائی کی درخواست کریں

اپنا پہلا نام اور ای میل یا فون نمبر درج کریں۔ ہم Tajo تک رسائی کی تفصیلات کے ساتھ آپ سے رابطہ کریں گے۔

WooCommerce انٹیگریشن گائیڈ

یہ گائیڈ ایک WooCommerce اسٹور کو Tajo سے جوڑتی ہے۔ انٹیگریشن کے دو حصے ہیں جو مل کر کام کرتے ہیں:

  • Tajo for WooCommerce پلگ ان: WordPress کے اندر ریئل ٹائم انگیجمنٹ ایونٹس (آرڈرز، کارٹس، ریفنڈز، ریویوز، فارم سبمیشنز) پکڑتا ہے اور انہیں ایک پائیدار، دستخط شدہ آؤٹ باکس کے ذریعے Tajo تک پہنچاتا ہے۔
  • WooCommerce REST کنکشن: Tajo تاریخی امپورٹ اور مسلسل سنک کے لیے آپ کے اسٹور کے گاہک، آرڈرز، پروڈکٹس، کوپنز، ریفنڈز اور ریویوز پڑھتا ہے۔ صرف REST والے سیٹ اپ کے لیے WooCommerce کنیکٹر ریفرنس دیکھیں۔

مارکیٹنگ آٹومیشن خود (Brevo اور دیگر فراہم کنندگان کے ذریعے ای میل، SMS، واٹس ایپ) پلگ ان میں نہیں بلکہ Tajo میں کنفیگر ہوتی ہے۔ پلگ ان کا کام WordPress سے قابلِ اعتماد ایونٹس باہر نکالنا ہے۔

پیشگی شرائط

  • ایڈمن رسائی کے ساتھ WordPress 6.3+
  • PHP 7.4+
  • WooCommerce 7.0+ (پلگ ان WooCommerce کے بغیر WordPress سائٹس پر بھی چلتا ہے، کامرس اڈاپٹرز صرف غیر فعال رہتے ہیں)
  • WordPress کنکشن بنا ہوا Tajo اکاؤنٹ
  • Tajo اینڈ پوائنٹ پر HTTPS (ہوسٹ شدہ Tajo پر ہمیشہ موجود)

مرحلہ 1: Tajo for WooCommerce پلگ ان انسٹال کریں

دستی انسٹالیشن

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

پھر WordPress ایڈمن سے فعال کریں:

  1. Plugins → Installed Plugins پر جائیں
  2. “Tajo for WooCommerce” تلاش کریں
  3. Activate پر کلک کریں

آپ zip فائل براہ راست Plugins → Add New → Upload Plugin کے ذریعے بھی اپ لوڈ کر سکتے ہیں۔ ہر ریلیز کے ساتھ tajo.io/downloads/woocommerce/ پر ایک SHA-256 چیک سم شائع کیا جاتا ہے۔ پلگ ان ابھی WordPress.org ڈائریکٹری میں درج نہیں ہے؛ آج معاون راستہ دستی انسٹالیشن ہے۔

مرحلہ 2: کنکشن کنفیگر کریں

WooCommerce → Tajo پر جائیں (WooCommerce کے بغیر سائٹس پر: Settings → Tajo) اور اپنے Tajo WordPress کنکشن سے تین ویلیوز درج کریں:

فیلڈویلیو
Tajo اینڈ پوائنٹTajo میں دکھایا گیا HTTPS webhook URL، مثلاً https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement
Binding IDTajo میں موجود کنکشن کا binding ID
سائننگ سیکرٹمشترکہ سیکرٹ (32–256 حروف)۔ پلگ ان فعال ہوتے وقت ایک مضبوط مقامی سیکرٹ بناتا ہے؛ اسے Tajo میں پیسٹ کریں، یا Tajo کا سیکرٹ یہاں پیسٹ کریں

wp-config.php میں شامل کرنے کے لیے کوئی API کلید کا constant نہیں ہے۔ جب تک تینوں ویلیوز محفوظ نہ ہو جائیں، ایونٹس مقامی آؤٹ باکس میں محفوظ طریقے سے قطار میں رہتے ہیں۔

پھر پائپ کو سرے سے سرے تک جانچیں:

  1. Queue test event پر کلک کریں، پھر Process now پر۔
  2. ڈیلیوری آؤٹ باکس ٹیبل میں ایونٹ ڈیلیور شدہ نظر آنا چاہیے۔
  3. Tajo میں تصدیق کریں کہ connection.test ایونٹ WordPress کنکشن پر پہنچ گیا ہے۔

پلگ ان کیا بھیجتا ہے

ہر ایونٹ ایک مختصر، پرائیویسی کے لحاظ سے کم سے کم رکھا گیا لفافہ ہے جس پر HMAC-SHA256 سے دستخط ہوتے ہیں۔ WordPress سے صرف انگیجمنٹ کی شناختی فیلڈز (ای میل، فون، مقامی IDs) اور محدود ایونٹ میٹا ڈیٹا باہر جاتا ہے؛ نام، ڈاک کے پتے، IP ایڈریسز، یوزر ایجنٹس، کمنٹ کے متن، من مانی فارم فیلڈز، آرڈر نوٹس یا ادائیگی کی تفصیلات کبھی باہر نہیں جاتیں۔

WooCommerce ایونٹس

Hookایونٹ
woocommerce_created_customer / woocommerce_update_customercustomer.created / customer.updated
woocommerce_new_product / woocommerce_update_productproduct.created / product.updated
woocommerce_add_to_cart، آئٹم ہٹانا، کوپن لگانا/ہٹاناcart.updated (چھوڑی گئی کارٹ کے فلو کے لیے کارٹ کے خلاصے کے ساتھ)
woocommerce_cart_emptiedcart.emptied
woocommerce_new_order / woocommerce_update_orderorder.placed / order.updated
woocommerce_order_status_changedorder.status_changed (مکمل ہونے پر مزید order.fulfilled)
woocommerce_payment_completeorder.paid
woocommerce_order_refundedrefund.created
WooCommerce Subscriptions کے اسٹیٹس اپ ڈیٹسsubscription.status_changed

آرڈر ایونٹس آرڈر نمبر، اسٹیٹس، کرنسی، کل رقوم، لائن آئٹمز اور استعمال کے لیے تیار ریویو/دوبارہ آرڈر URLs ساتھ لاتے ہیں، جو خریداری کے بعد اور واپس لانے والی آٹومیشنز کے لیے کسی اضافی API کال کے بغیر کافی ہیں۔

WordPress ایونٹس

  • یوزر اکاؤنٹس کے لیے contact.created / contact.updated / contact.deleted
  • عوامی مواد کے لیے content.published / content.updated / content.unpublished
  • وزیٹر کمنٹس اور پروڈکٹ ریویوز کے لیے comment.created / comment.status_changed (WooCommerce کے اندرونی آرڈر نوٹس، pingbacks اور trackbacks کبھی نہیں بھیجے جاتے)
  • کامیاب Contact Form 7، WPForms، Gravity Forms اور Fluent Forms سبمیشنز کے لیے form.submitted؛ صرف ٹائپ شدہ ای میل/فون کی شناختی فیلڈز اور فارم میٹا ڈیٹا نکالا جاتا ہے، من مانی بھیجی گئی فیلڈز رد کر دی جاتی ہیں

قابلِ اعتماد ہونا: ڈیلیوری آؤٹ باکس

پلگ ان کبھی بھی صفحہ لوڈ ہوتے وقت ایونٹس براہ راست Tajo کو نہیں بھیجتا۔ ہر ایونٹ پہلے مقامی آؤٹ باکس ٹیبل میں لکھا جاتا ہے، پھر WP-Cron اسے ان خصوصیات کے ساتھ ڈیلیور کرتا ہے:

  • محدود ایکسپونینشل بیک آف (Retry-After کا لحاظ رکھتے ہوئے زیادہ سے زیادہ 8 کوششیں)
  • ڈیڈ لیٹرز، ایڈمن میں ایک کلک والے Replay dead letters کے ساتھ
  • ریٹینشن کی حدیں تاکہ ناقابلِ رسائی اینڈ پوائنٹ کبھی ذاتی ڈیٹا جمع نہ کر سکے (ڈیلیور شدہ: 7 دن؛ قطار میں: 30 دن؛ ڈیڈ لیٹرز: آخری اپ ڈیٹ کے 30 دن بعد)
  • Idempotent ایونٹ IDs، تاکہ دوبارہ کوششیں اور ری پلے آگے کبھی نقل نہ بنائیں

اگر آپ کا ہوسٹ WP-Cron بند کر دیتا ہے (DISABLE_WP_CRON)، تو wp-cron.php کو کسی حقیقی شیڈیولر سے کم از کم ہر منٹ میں ایک بار چلائیں۔

رضامندی کبھی فرض نہیں کی جاتی

اکاؤنٹ بنانا، چیک آؤٹ، خریداری اور عام فارم سبمیشنز کو مارکیٹنگ کی رضامندی نہیں سمجھا جاتا۔ بلٹ ان ایونٹس خالی رضامندی کی فہرست ساتھ لاتے ہیں۔ واضح رضامندی (مثلاً نیوز لیٹر کے ٹک شدہ باکس سے) ریکارڈ کرنے کے لیے اسے ایکسٹینشن hook کے ذریعے بھیجیں:

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 کسی بھی پلگ ان یا تھیم کو اپنی مرضی کے ایونٹس بھیجنے دیتا ہے؛ ہر چیز اسی سینیٹائزر، آؤٹ باکس اور دستخط سے گزرتی ہے۔

مرحلہ 3: تاریخی امپورٹ

ریئل ٹائم ایونٹس انسٹالیشن کے بعد کی ہر چیز کا احاطہ کرتے ہیں۔ پلگ ان سے پہلے کی تاریخ کے لیے Tajo کا WooCommerce REST کنکشن موجودہ گاہک، آرڈرز، پروڈکٹس، کوپنز، ریفنڈز اور ریویوز امپورٹ کرتا ہے، جو مکمل طور پر Tajo کی طرف ایک WooCommerce REST API کلید سے کنفیگر ہوتا ہے (WooCommerce → Settings → Advanced → REST API، پڑھنے کی اجازت)۔ تفصیلات کے لیے WooCommerce کنیکٹر ریفرنس دیکھیں۔

پرائیویسی اور GDPR

  • پلگ ان WordPress کے Tools → Export Personal Data اور Tools → Erase Personal Data کے ساتھ رجسٹر ہوتا ہے؛ کسی مماثل ای میل کے محفوظ آؤٹ باکس ایونٹس مقامی طور پر ایکسپورٹ یا مٹا دیے جاتے ہیں۔
  • مٹانے اور ڈیلیوری کے درمیان ایک fail-closed میوٹیکس مشترک ہے، اس لیے کوئی مٹانے کا عمل اُس وقت مکمل ہونے کی اطلاع نہیں دے سکتا جب کوئی پے لوڈ بھیجا جا رہا ہو۔
  • مقامی مٹانا صرف WordPress آؤٹ باکس کا احاطہ کرتا ہے۔ آگے کے ڈیٹا کے لیے متعلقہ درخواست Tajo میں جمع کرائیں۔
  • غیر فعال کرنے سے ڈیلیوری رک جاتی ہے مگر کنفیگریشن اور قطار میں موجود ایونٹس محفوظ رہتے ہیں؛ پلگ ان کو ڈیلیٹ کرنے سے آؤٹ باکس، سیٹنگز، سیکرٹ اور شیڈولز مستقل طور پر ختم ہو جاتے ہیں۔

مطابقت

  • HPOS: پلگ ان WooCommerce High-Performance Order Storage سے مطابقت کا اعلان کرتا ہے اور صرف CRUD آبجیکٹس اور عوامی hooks استعمال کرتا ہے۔
  • WooCommerce Subscriptions: ایکسٹینشن فعال ہونے پر سبسکرپشن کے اسٹیٹس کی تبدیلیاں پکڑی جاتی ہیں۔
  • ملٹی سائٹ: ان انسٹال نیٹ ورک کی ہر سائٹ کو صاف کرتا ہے۔

آپریشنز ریفرنس

سرور ٹو سرور دریافت اور آؤٹ باکس کنٹرول ایڈمنسٹریٹرز کو Application Password کی توثیق کے ذریعے دستیاب ہیں:

طریقہروٹمقصد
GET/wp-json/tajo/v1/capabilitiesپلگ ان کا ورژن، شناخت شدہ اڈاپٹرز، ایونٹ کی فہرست، آؤٹ باکس کی صحت
GET/wp-json/tajo/v1/outboxآؤٹ باکس کی گنتی (پے لوڈز کبھی ظاہر نہیں کیے جاتے)
POST/wp-json/tajo/v1/outbox/processایک بیچ فوراً پروسیس کریں
POST/wp-json/tajo/v1/outbox/replayڈیڈ لیٹرز دوبارہ چلائیں

مسائل کا حل

علامتوجہ اور حل
ایونٹس “Queued” پر رکے رہتے ہیںاینڈ پوائنٹ، binding ID یا سیکرٹ ابھی محفوظ نہیں ہوا۔ جب تک تینوں کنفیگر نہ ہوں ڈیلیوری روکی رہتی ہے
ایونٹس “Retrying” پر رکے رہتے ہیںTajo اینڈ پوائنٹ آپ کے ہوسٹ سے قابلِ رسائی نہیں، یا WP-Cron نہیں چل رہا۔ آؤٹ باکس ٹیبل کا error کالم اور اپنا cron سیٹ اپ دیکھیں
ڈیڈ لیٹرز جمع ہو رہے ہیںایسی خرابی جس پر دوبارہ کوشش نہیں ہو سکتی (عام طور پر غلط binding ID یا سیکرٹ)۔ کنفیگریشن درست کریں، پھر Replay dead letters چلائیں
”Enter a valid HTTPS Tajo webhook endpoint”اینڈ پوائنٹ HTTPS ہونا چاہیے اور اس میں کوئی امبیڈڈ کریڈنشلز نہ ہوں
ٹیسٹ ایونٹ ڈیلیور ہوا مگر Tajo میں کچھ نہیںجانچیں کہ آپ نے binding ID اسی Tajo ورک اسپیس/کنکشن سے پیسٹ کیا ہے جس سے اینڈ پوائنٹ تعلق رکھتا ہے

اگلے اقدامات

  • WooCommerce کنیکٹر ریفرنس: REST سنک، webhook دستخط کی تفصیلات، کنفیگ کیز
  • گاہک کی سنک: WooCommerce گاہکوں کو آپ کے سسٹم آف ریکارڈ میں میپ کرنا
  • Tajo میں cart.updated، order.placed اور order.fulfilled ایونٹس کی مدد سے چھوڑی گئی کارٹ، خریداری کے بعد اور واپس لانے والی آٹومیشنز کنفیگر کریں

ابتدائی رسائی کی درخواست کریں

اپنا پہلا نام اور ای میل یا فون نمبر درج کریں۔ ہم Tajo تک رسائی کی تفصیلات کے ساتھ آپ سے رابطہ کریں گے۔

خودکار شناخت
AI معاون

السلام علیکم! دستاویزات کے بارے میں کچھ بھی پوچھیں۔