Tajo، Shopify کا ڈیٹا دو طریقوں سے Brevo میں منتقل کرتا ہے۔ Tajo کی Shopify ایپ Shopify کے webhooks کو ان کے آتے ہی پروسیس کرتی ہے۔ sync rules انسان سے منظور شدہ اور ایک سمتی ہیں، بیچز میں چلتے ہیں اور شروع سے آخر تک ریکارڈ ہوتے ہیں۔ یہ مضمون دونوں کی وضاحت کرتا ہے، یہ کیا شامل نہیں کرتے، اور وہ چند چیزیں جو Tajo کی Shopify ایپ واپس Shopify میں لکھتی ہے۔
فوری جانچ یہ مضمون فرض کرتا ہے کہ آپ نے Shopify اور Brevo منسلک کر رکھے ہیں اور کم از کم ایک sync rule شائع کر چکے ہیں۔ اگر نہیں، تو Tajo کو Shopify سے منسلک کرنا سے شروع کریں۔
ایونٹس ہوتے ہی: Tajo کی Shopify ایپ
Tajo کی Shopify ایپ Shopify کے webhooks کو سبسکرائب کرتی ہے اور ہر ایک کو آتے ہی پروسیس کرتی ہے۔ گاہک اور پروڈکٹ کی تبدیلیاں پہلے تقریباً چار سیکنڈ انتظار کرتی ہیں۔ گاہک، آرڈرز، چیک آؤٹس، پروڈکٹس، کلیکشنز اور اسٹاک کی سطحیں اسی طرح Brevo تک پہنچتی ہیں، ساتھ ہی order_paid اور cart_abandoned جیسے ایونٹس بھی۔ Shopify انٹیگریشن گائیڈ ہر topic اور اس کا Brevo میں لکھا جانے والا ڈیٹا درج کرتی ہے۔
ایک sync rule کی شکل
sync rule اس بات کی جائزہ شدہ اور منظور شدہ درست تعریف ہے کہ کیا منتقل ہوتا ہے اور کیسے۔ ایک ایجنٹ اسے آپ کی وضاحت سے بناتا ہے، اور ایک شخص اسے منظور کرتا ہے۔ ایک قاعدے کے چار حصے ہوتے ہیں جنہیں آپ اس کے صفحے پر، Connections > Syncs and mappings کے تحت، دیکھ سکتے ہیں:
| حصہ | یہ کیا کرتا ہے |
|---|---|
| فیلڈ میپنگ | ہر سورس فیلڈ، وہ Brevo فیلڈ جس میں وہ لکھتا ہے، اور درمیان میں کوئی بھی transform |
| فلٹر ایکسپریشن | فی ریکارڈ جانچا جاتا ہے؛ جو ریکارڈز میل نہیں کھاتے وہ چھوڑ دیے جاتے ہیں |
| Cursor | ہم آہنگی کہاں تک پہنچی ہے یہ ٹریک کرتا ہے، تاکہ ہر رن وہیں سے شروع ہو جہاں پچھلا رن رکا تھا |
| Run history | ہر رن، پڑھے، لکھے، اور ناکام ہونے والے ریکارڈز، بشمول دورانیہ اور حیثیت |
sync rule ڈیٹا کو ایک ہی سمت میں منتقل کرتا ہے: آپ کے سورس سے Brevo میں۔ یہ Shopify میں کبھی نہیں لکھتا۔ Tajo کی Shopify ایپ البتہ Shopify میں چند چیزیں واپس لکھتی ہے، جیسے رضامندی کی منسوخی اور لائلٹی ٹائر ٹیگز۔ Shopify اجازتوں کی وضاحت ہر تحریر اور اس کے ہونے کا وقت درج کرتی ہے۔
sync rule کب چلتا ہے
sync rules بیچز میں چلتے ہیں۔ کانٹیکٹ sync rules بطور ڈیفالٹ ہر 15 منٹ بعد چلتے ہیں۔ فعال اور شائع شدہ Shopify orders → Brevo orders قاعدہ بھی ہر 15 منٹ بعد چلتا ہے، لیکن صرف ٹیمپلیٹ کے خریدار مارکیٹنگ opt-in فلٹر کے ساتھ۔ جس قاعدے کا فلٹر تبدیل کیا گیا ہو وہ صرف تب چلتا ہے جب آپ اسے شروع کریں۔ آرڈرز کے قاعدے کا پہلا شیڈول شدہ رن اس لمحے سے چند منٹ پہلے شروع ہوتا ہے اور اس سے پرانے آرڈرز نہیں بھیجتا۔ اس کے بعد ہر رن پچھلے رن کے بعد سے اپ ڈیٹ ہونے والے آرڈرز بھیجتا ہے۔ پرانے آرڈرز Brevo تک صرف تب پہنچتے ہیں جب آپ خود قاعدہ چلائیں۔ کسی فعال قاعدے کے صفحے پر Test run (1 batch) بٹن ہوتا ہے، اور جب آپ کہیں تو Sync Operator ایجنٹ فعال قاعدے چلاتا ہے۔ بیچ رنز ہی وہ چیز ہیں جو ہر لکھائی کو قابل جائزہ، بجٹ کے تابع اور کسی مخصوص رن سے منسوب کیے جانے کے قابل بناتی ہیں۔
ہر رن cursor سے اب تک کے نئے اور تبدیل شدہ ریکارڈز پڑھتا ہے، فلٹر لگاتا ہے، فیلڈز میپ کرتا ہے، اور Brevo میں لکھتا ہے۔ رن ریکارڈ بالکل بتاتا ہے کہ کتنے ریکارڈز پڑھے، لکھے، اور ناکام ہوئے۔
گورننس کی ضمانتیں
Consent fails closed
جو قاعدہ Brevo میں ذاتی ڈیٹا لکھتا ہے وہ رضامندی اور suppression فلٹر کے بغیر شائع نہیں ہو سکتا۔ رن کے وقت، جس کانٹیکٹ کو ثابت شدہ رضامندی کے بغیر کسی مارکیٹنگ آڈیئنس میں لکھا جائے، اسے رد کر دیا جاتا ہے۔ جب رضامندی قائم نہیں کی جا سکتی، تو Tajo اندازہ لگانے کے بجائے لکھنے سے انکار کرتا ہے۔ ناکامی کا انداز ہمیشہ “بہت زیادہ محتاط” رہتا ہے، کبھی “حد سے زیادہ بھیجنا” نہیں۔
رنز idempotent ہیں
ہر لکھائی سورس ریکارڈ سے حاصل کردہ ایک key رکھتی ہے۔ یہ key ایک hash ہے، اس لیے اس میں کوئی ذاتی ڈیٹا نہیں ہوتا۔ انہی ریکارڈز پر کسی sync کو دوبارہ چلانا، چاہے کسی ناکامی کے بعد، کسی وقفے کے بعد یا دستی طور پر، دہری لکھائیاں پیدا نہیں کرتا۔
سب کچھ آڈٹ ہوتا ہے
کسی قاعدے کی اشاعت، کالعدم ہونے والی منظوریاں اور خودکار وقفے Activity کے تحت ریکارڈ ہوتے ہیں۔ ہر منظوری کا فیصلہ ایک تحریری وجہ رکھتا ہے۔ ہر رن قاعدے کی run history میں ریکارڈ ہوتا ہے۔ اشاعت کی اجازت دینے والی منظوری اسی قاعدے کے digest سے منسلک ہوتی ہے جس کا پیش نظارہ کیا گیا تھا۔ قاعدے میں ترمیم اسے ڈرافٹ میں واپس لے جاتی ہے اور منظوری کو کالعدم کر دیتی ہے، اس لیے جو چلتا ہے وہ ہمیشہ وہی ہوتا ہے جس کی اجازت دی گئی تھی۔
ناکامیاں قاعدے کو روک دیتی ہیں
اگر پانچ لگاتار رنز ناکام ہوں، تو ایک circuit breaker خودکار طور پر قاعدے کو روک دیتا ہے اور قاعدے کے صفحے پر آخری خرابی دکھاتا ہے۔ وجہ حل کریں، پھر دوبارہ شائع کر کے دوبارہ شروع کریں۔ جزوی طور پر ناکام رن اپنی ناکام تعداد رپورٹ کرتا ہے تاکہ آپ بالکل دیکھ سکیں کہ کیا نہیں پہنچا۔
unsubscribe کا احترام کیسے کیا جاتا ہے
- جب کوئی کانٹیکٹ Brevo ای میل کے فوٹر لنک کے ذریعے unsubscribe کرتا ہے، تو وہ opt-out اس کانٹیکٹ کے خلاف ریکارڈ ہو جاتا ہے، اور Brevo انہیں بعد کی مہمات سے خارج کر دیتا ہے۔
- بیچ کسٹمر sync میں، Tajo کی Shopify ایپ Shopify کی رضامندی کے وقت کا Brevo کے unsubscribe کے وقت سے موازنہ کرتی ہے اور جو بعد کا ہو اسے برقرار رکھتی ہے۔
- رضامندی کی جو تبدیلی Shopify سے webhook کے طور پر آتی ہے، وہ Brevo میں ویسے ہی لکھی جاتی ہے جیسے Shopify اسے رپورٹ کرتا ہے۔
- اگر وہ رابطہ Shopify میں subscribed تھا تو Tajo کی Shopify ایپ اسے Shopify میں بھی unsubscribed نشان زد کر دیتی ہے۔ Brevo کا کوئی ایونٹ کسٹمر کو صرف subscribed سے unsubscribed میں لے جاتا ہے۔ یہ کسی کو کبھی subscribe نہیں کرتی، اس لیے Brevo میں subscribe ہونے سے Shopify میں کچھ نہیں بدلتا۔
کیا ڈیٹا دستیاب ہے
Tajo کی Shopify ایپ کانٹیکٹس، آرڈرز، آرڈر اور کارٹ ایونٹس، پروڈکٹ کیٹلاگ اور اسٹاک بھیجتی ہے۔ ایک sync rule کیا بھیجتا ہے، یہ اس کی فیلڈ میپنگ پر منحصر ہے۔ Shopify گاہکوں کے لیے ٹیمپلیٹ شناختی فیلڈز، کل خرچ، آرڈرز کی تعداد، ٹیگز اور opt-in کو Brevo کانٹیکٹ خصوصیات میں میپ کرتا ہے جنہیں آپ سیگمنٹس اور مہمات میں استعمال کر سکتے ہیں۔ آپ کے ورک اسپیس کے لیے صحیح میپنگ کسی تفصیل میں چھپی نہیں ہے: sync rule کھولیں اور فیلڈ میپنگ ٹیبل پڑھیں۔ یہی ٹیبل “کیا ہم آہنگ ہوتا ہے” کا مستند جواب ہے۔
Tajo آج کیا نہیں کرتا
حدود کے بارے میں واضح ہونا ایک لمبی فیچر لسٹ سے زیادہ اہم ہے:
- دو طرفہ sync rules نہیں۔ sync rule صرف Brevo میں لکھتا ہے۔ Shopify ایپ کی اپنی Shopify میں تحریریں (رضامندی کی منسوخی، Brevo مشغولیت اور لائلٹی میٹافیلڈز، لائلٹی ٹائر ٹیگز) Shopify اجازتوں کی وضاحت میں درج ہیں۔
- کوئی ریئل ٹائم sync rules نہیں۔ sync rules بیچز میں چلتے ہیں۔ صرف Tajo کی Shopify ایپ کی webhook ہم آہنگی ایونٹس آتے ہی کام کرتی ہے۔
- دوبارہ اسٹاک میں آنے کا کوئی بٹن نہیں۔ ایپ Brevo میں پروڈکٹ اسٹاک کو تازہ رکھتی ہے اور اطلاع مانگنے والے خریداروں کو
back_in_stockایونٹ بھیجتی ہے۔ یہ درخواست آپ کے اسٹور فرنٹ سے آنی چاہیے: ایپ آپ کی تھیم میں “Notify me” بٹن شامل نہیں کرتی۔
اگر ان میں سے کوئی حد آپ کے کسی استعمال کے کیس میں رکاوٹ بنتی ہے، تو ٹیم کو بتائیں، early access میں ترجیحات بالکل اسی طرح کی رائے سے طے ہوتی ہیں۔
آپ کا ڈیٹا کہاں دیکھا جا سکتا ہے
- Tajo میں: run history، cursor پوزیشن اور فی رن گنتی کے لیے Connections > Syncs and mappings کے تحت sync rule کھولیں۔ Activity اشاعتوں اور خودکار وقفوں کو ریکارڈ کرتا ہے۔
- Brevo میں: Contacts کھولیں اور یہ تصدیق کرنے کے لیے کسی بھی کانٹیکٹ کی خصوصیات معائنہ کریں کہ میپ شدہ فیلڈز صحیح بھر رہے ہیں۔ ٹارگٹنگ کے لیے ان خصوصیات پر سیگمنٹس بنائیں۔
مسائل کا حل
- کانٹیکٹس Brevo میں ظاہر نہیں ہو رہے: قاعدے کے تازہ ترین رن میں ناکامیاں اور اس کی حیثیت چیک کریں (روکا ہوا قاعدہ نہیں چلتا)۔ Brevo میں کانٹیکٹس غائب دیکھیں۔
- رنز بار بار ناکام ہو رہی ہیں: circuit breaker قاعدے کو روک دے گا اور آخری خرابی دکھائے گا۔ ڈیٹا ہم آہنگ نہیں ہو رہا دیکھیں۔
- ڈپلیکیٹ کانٹیکٹس: لکھائیاں فی سورس ریکارڈ idempotent ہیں، لیکن Brevo میں پہلے سے موجود ڈپلیکیٹس ویسے ہی رہتے ہیں۔ ڈپلیکیٹ کانٹیکٹس دیکھیں۔
عام سوالات
کیا میں ہم آہنگی کو تیز کر سکتا ہوں؟ کسی فعال قاعدے کے صفحے پر Test run (1 batch) بٹن ہوتا ہے۔ تبدیلیاں ہوتے ہی پہنچانے کے لیے Tajo کی Shopify ایپ کی webhook ہم آہنگی پہلے ہی گاہکوں، آرڈرز، چیک آؤٹس، پروڈکٹس اور اسٹاک کا احاطہ کرتی ہے۔
اگر کوئی رن بیچ میں ناکام ہو جائے تو کیا ہوتا ہے؟ رن اپنی ناکام تعداد رپورٹ کرتی ہے، cursor صرف اس حصے پر آگے بڑھتا ہے جو پروسیس ہو چکا ہے، اور اگلی رن باقی کام کو محفوظ طریقے سے دوبارہ کور کرتی ہے، idempotency keys ڈپلیکیٹس کو روکتی ہیں۔
کیا میں یہ بدل سکتا ہوں کہ کیا ہم آہنگ ہوتا ہے؟ جی ہاں۔ ایجنٹ سے قاعدے کی فیلڈ میپنگ یا فلٹر بدلنے کو کہیں۔ ترمیم قاعدے کو ڈرافٹ میں واپس لے جاتی ہے، اور دوبارہ چلنے سے پہلے اسے پیش نظارہ اور منظوری سے دوبارہ گزرنا ہوگا۔
میرا قاعدہ خود کیوں رک گیا؟ لگاتار رن کی ناکامیاں circuit breaker کو ٹرگر کرتی ہیں۔ قاعدے کا صفحہ ناکامیوں کی تعداد اور آخری خرابی دکھاتا ہے؛ مسئلہ حل کریں اور دوبارہ شائع کریں۔
متعلقہ مضامین
- Tajo کو Shopify سے منسلک کریں
- سیگمنٹیشن کی بنیادی باتیں
- مسائل کا حل: ڈیٹا ہم آہنگ نہیں ہو رہا
- مسائل کا حل: Brevo میں کانٹیکٹس غائب