لاگ اِن کریںفری ٹرائل شروع کریں
Meta Tech Provider

WhatsApp میسج Airtable میں لاگ کریں اور بیس سے بھیجیں

Airtable کا آنے والا ویب ہک ٹرگر صرف POST درخواستیں قبول کرتا ہے، اس لیے وہ Meta کی تصدیق والی GET کا جواب نہیں دے سکتا اور کسی نمبر کی ویب ہک منزل خود نہیں بن سکتا۔ منزل کو ایسے n8n ورک فلو پر رکھیں جو ہر میسج ٹیبل میں شامل کرے۔ بھیجنے کا کام Airtable کے اندر سے ہو جاتا ہے: Run a script آٹومیشن fetch کے ذریعے Cloud API کو کال کر سکتی ہے، اور نمبر کا ٹوکن سیکرٹ کے طور پر محفوظ رہتا ہے۔

POST only

Airtable کا When webhook received ٹرگر کوئی اور طریقہ قبول نہیں کرتا، اس لیے وہ تصدیق والی GET کا جواب نہیں دے سکتا۔

5 per second

Airtable کے ویب ہک ٹرگر پر درخواستوں کی حد، اور پے لوڈ پر 100 KB کی بالائی حد بھی لاگو ہے۔

50 fetches

ایک Airtable Run a script ایکشن میں کی جا سکنے والی درخواستیں، جن میں سے ہر ایک 30 سیکنڈ بعد ٹائم آؤٹ ہو جاتی ہے۔

Airtable براہ راست WhatsApp کے ویب ہک کیوں وصول نہیں کر سکتا؟

کیونکہ Meta کچھ بھیجنے سے پہلے منزل کو جانچتا ہے۔ وہ ایک challenge ویلیو کے ساتھ GET درخواست بھیجتا ہے اور توقع کرتا ہے کہ وہی ویلیو جواب کی باڈی میں واپس آئے۔ Airtable کا When webhook received ٹرگر صرف POST درخواستیں قبول کرتا ہے اور اپنا مقررہ JSON لوٹاتا ہے، اس لیے جانچ پاس نہیں ہو سکتی اور Meta ڈیلیوری شروع ہی نہیں کرتا۔

حل یہ ہے کہ بیچ میں ایک مرحلہ رکھیں۔ n8n کا Webhook نوڈ تصدیق سنبھالتا ہے اور ہر میسج وصول کرتا ہے، اور n8n کا Airtable نوڈ ایک قطار شامل کرتا ہے: بھیجنے والا، پروفائل کا نام، متن، میسج آئی ڈی، وقت اور میسج وصول کرنے والے فون نمبر کی آئی ڈی۔ یہی ترتیب Make یا Zapier میں بھی چلتی ہے۔

بیچ کے اس مرحلے کا ایک اور فائدہ ہے۔ Airtable کا ویب ہک ٹرگر فی سیکنڈ پانچ درخواستیں قبول کرتا ہے، جبکہ ورک فلو ٹول اچانک آنے والے ریلے کو قطار میں رکھ سکتا ہے جو ورنہ مسترد ہو جاتا۔

Airtable بیس سے WhatsApp ٹیمپلیٹ کیسے بھیجا جائے؟

ایسی آٹومیشن سے جس کا ایکشن Run a script ہو۔ ٹرگر کوئی ریکارڈ کسی ویو میں آنا، کسی فیلڈ کا بدلنا یا کسی بٹن پر کلک ہو سکتا ہے۔ اسکرپٹ input.config() کے ذریعے ریکارڈ کا فون اور فیلڈز پڑھتا ہے اور fetch سے Cloud API کے messages اینڈ پوائنٹ کو کال کرتا ہے۔ Airtable کی آٹومیشن اسکرپٹس سرور پر چلتی ہیں، اس لیے براؤزر کی کوئی پابندی آڑے نہیں آتی۔

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

جس بات کے لیے کسٹمر نے پچھلے 24 گھنٹوں میں خود پہل نہ کی ہو، اس کے لیے ٹیمپلیٹ استعمال کریں، کیونکہ آزاد متن صرف اسی مدت کے اندر پہنچتا ہے۔ اسکرپٹ واپس آنے والی میسج آئی ڈی کو ریکارڈ میں لکھ سکتا ہے، جس سے بھیجا گیا میسج اس قطار سے جڑ جاتا ہے۔

Run a script action: send an approved template
const { phone, name } = input.config();
const token = input.secret("WHATSAPP_TOKEN");
const res = await fetch(
  "https://graph.facebook.com/v23.0/<PHONE_NUMBER_ID>/messages",
  {
    method: "POST",
    headers: { Authorization: "Bearer " + token, "Content-Type": "application/json" },
    body: JSON.stringify({
      messaging_product: "whatsapp",
      to: phone,
      type: "template",
      template: {
        name: "order_ready",
        language: { code: "en" },
        components: [{ type: "body", parameters: [{ type: "text", text: name }] }],
      },
    }),
  },
);
output.set("result", await res.json());

میسجز کے ٹیبل کی ساخت کیسی ہونی چاہیے؟

ہر میسج کے لیے ایک قطار، اور پرائمری فیلڈ میں WhatsApp کی میسج آئی ڈی۔ Meta وہ ڈیلیوریاں دوبارہ بھیجتا ہے جنہیں وہ ناکام سمجھے، اور جو ورک فلو شامل کرنے سے پہلے آئی ڈی تلاش کر لے وہ ایک ہی میسج دو بار نہیں لکھتا۔

ایک direction فیلڈ رکھیں جس میں inbound اور outbound ہوں۔ Coexistence نمبر پر ٹیم WhatsApp Business ایپ میں جو جواب لکھتی ہے وہ اسی ویب ہک پر smb_message_echoes ایونٹس کے طور پر آتے ہیں، اور انہیں outbound قطاروں کے طور پر لاگ کرنے سے بیس کو پوری گفتگو ملتی ہے، صرف ایک طرف کی نہیں۔

ہر میسج کو Contacts ٹیبل سے جوڑیں جس کی کلید صرف ہندسوں والا فون نمبر ہو، یعنی وہی شکل جو Meta بھیجتا ہے۔ پھر rollup ہر رابطے کا آخری inbound وقت دکھاتا ہے، اور آٹومیشن کو آزاد متن اور ٹیمپلیٹ میں سے انتخاب کرنے کے لیے بس یہی ایک فیلڈ چاہیے۔

عام غلطیاں

  • Airtable کے ویب ہک لنک کو نمبر کی منزل بنا دینا۔ وہ صرف POST قبول کرتا ہے، Meta کی تصدیق والی GET ناکام ہو جاتی ہے، اور کچھ بھی ڈیلیور نہیں ہوتا۔
  • ایکسیس ٹوکن کو اسکرپٹ کی باڈی میں پیسٹ کر دینا۔ اسے اسکرپٹ سیکرٹ کے طور پر رکھیں تاکہ وہ کوڈ اور لاگز سے باہر رہے۔
  • ریکارڈ آٹومیشن سے ایسے شخص کو آزاد متن بھیجنا جس نے 24 گھنٹوں میں کوئی میسج نہیں لکھا۔ صرف منظور شدہ ٹیمپلیٹ ڈیلیور ہوتا ہے۔
EasyCoexistence کے ساتھ یہ کام کرنا

easycoexistence.com پر نمبر کنیکٹ کریں، اس کی ویب ہک منزل کو اس n8n ورک فلو پر رکھیں جو Airtable میں لکھتا ہے، اور فون نمبر کی آئی ڈی اور ٹوکن ڈیش بورڈ سے لیں۔ قیمت US$ 9 فی نمبر ماہانہ سے شروع ہوتی ہے اور نمبرز بڑھنے پر US$ 1 تک آ جاتی ہے، اور پہلے 3 دن مفت ہیں۔

اکثر پوچھے جانے والے سوالات

کیا Run a script Airtable کے مفت پلان میں ملتا ہے؟

Airtable یہ ایکشن تمام پلان اقسام میں مختلف حدود کے ساتھ درج کرتا ہے، اور بتاتا ہے کہ Team پلان کے ٹرائل میں دستیاب نہیں۔

کیا میں n8n چھوڑ کر Make یا Zapier استعمال کر سکتا ہوں؟

جی ہاں۔ تینوں میں سے کوئی بھی ویب ہک وصول کر سکتا ہے، تصدیق کا جواب دے سکتا ہے اور قطار شامل کر سکتا ہے۔ صرف Airtable خود منزل نہیں بن سکتا۔

کیا Airtable کا بٹن WhatsApp میسج بھیج سکتا ہے؟

جی ہاں۔ When a button is clicked ٹرگر کو Run a script ایکشن کے ساتھ استعمال کریں جو Cloud API کو کال کرے، اور قطار کا ڈیٹا ٹیمپلیٹ بھر دیتا ہے۔

کیا EasyCoexistence میسجز محفوظ کرتا ہے؟

نہیں۔ Meta ہر ویب ہک آپ کے n8n لنک پر بھیجتا ہے، اور واحد کاپی وہ ہے جو آپ کا ورک فلو Airtable میں لکھتا ہے۔

مزید پڑھیں

شروع کرنے کے لیے تیار ہیں؟

WhatsApp Coexistence چند منٹ میں سیٹ اپ کریں، مہینوں میں نہیں۔ ایپ فون پر کام کرتی رہتی ہے۔

فری ٹرائل شروع کریں

تصدیق شدہ تاریخ

Cloud API پر WhatsApp اور Airtable