Meta Tech Provider

Python سے WhatsApp میسج بھیجیں اور وصول کریں

وصولی آپ کے ویب فریم ورک کا ایک روٹ ہے جو Meta کی تصدیقی GET درخواست کا جواب دیتا اور POST درخواستیں قبول کرتا ہے۔ بھیجنے کے لیے نمبر کے فون نمبر ID اور ٹوکن کے ساتھ Cloud API کو HTTPS درخواست دیں۔ ہماری طرف سے کوئی SDK یا انسٹالیشن درکار نہیں۔

2 handlers

Meta کی تصدیق کے لیے ایک GET اور ایونٹس کے لیے ایک POST۔ یہی وصولی کا حصہ ہے۔

24 hours

کسٹمر کے میسج کے بعد وہ مدت جس میں مفت متن بھیجا جا سکتا ہے۔

131047

اس مدت کے باہر مفت متن بھیجنے پر واپس آنے والی خرابی۔

Python میں میسجز کیسے وصول کریں؟

ایک ہی روٹ پر دو ہینڈلرز کے ذریعے، آپ جو بھی فریم ورک پہلے سے استعمال کرتے ہیں اس میں۔

GET ہینڈلر Meta کی تصدیق کا جواب دیتا ہے۔ یہ query string سے hub.mode، hub.verify_token اور hub.challenge پڑھتا ہے، ٹوکن کو اپنے ٹوکن سے ملاتا ہے، اور challenge کو raw body کے طور پر واپس کرتا ہے۔ یہاں JSON واپس کرنا سب سے عام غلطی ہے، اور یہ خاموشی سے ناکام ہو جاتی ہے۔

POST ہینڈلر ایونٹس وصول کرتا ہے۔ جلدی سے 200 واپس کریں اور کام اس کے بعد کریں، کیونکہ Meta سست جواب کو ناکامی سمجھ کر دوبارہ کوشش کرے گا، جس سے ایک ہی میسج دو بار ہینڈل ہو سکتا ہے۔ اسے قطار میں ڈالیں یا background task کو دیں، inline processing نہ کریں۔

میسجز wamid message id کے ساتھ آتے ہیں۔ شروع ہی سے اسی ID پر ڈپلیکیٹ روکنا فائدہ مند ہے، کیونکہ دوبارہ کوششیں معمول کی بات ہیں۔

میسج کیسے بھیجیں؟

فون نمبر ID کے لیے Cloud API کے messages اینڈ پوائنٹ کو bearer token کے ساتھ ایک POST بھیجیں۔

دونوں قدریں کنکشن سے ملتی ہیں: ڈیش بورڈ انہیں دکھاتا ہے، اور اگر آپ چاہتے ہیں کہ کوئی اسسٹنٹ انہیں حاصل کرے تو get_api_credentials واپس کرتا ہے۔ اس کال میں ہماری سروس کے لیے کوئی مخصوص چیز نہیں، اس لیے کوئی بھی HTTP لائبریری کام کرے گی اور درخواست Meta کی اپنی دستاویزات جیسی ہوگی۔

وقت کے ساتھ body بدلتی ہے۔ کسٹمر کے آخری میسج کے 24 hours کے اندر text object بھیجیں۔ اس کے بعد منظور شدہ ٹیمپلیٹ اور اس کی زبان بتانے والا template object بھیجیں۔ جو کلائنٹ صرف پہلی شکل جانتا ہو وہ ٹیسٹنگ میں بالکل کام کرتا ہے، مگر رات بھر کے بعد پہلے میسج پر ناکام ہو کر error 131047 واپس کرتا ہے۔

پروڈکشن ہینڈلر کو اس کے علاوہ کیا چاہیے؟

تین چیزیں جنہیں چھوڑنا آسان اور بعد میں شامل کرنا مہنگا ہے۔

message id پر ڈپلیکیٹ روکیں، کیونکہ Meta دوبارہ کوشش کرتا ہے۔ اگر آپ عوامی طور پر دستیاب ہیں تو درخواست کے دستخط کی تصدیق کریں، ورنہ آپ کا URL جاننے والا کوئی بھی شخص وہاں POST کر سکتا ہے۔ اور یہ دیکھیں کہ رابطے نے آخری بار کتنی دیر پہلے لکھا تھا، تاکہ بھیجنے کا راستہ خود text یا template منتخب کرے۔

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

عام غلطیاں

  • تصدیقی GET سے raw challenge value کے بجائے JSON واپس کرنا۔
  • 200 واپس کرنے سے پہلے inline processing کرنا۔ Meta سست جوابات پر دوبارہ کوشش کرتا ہے اور آپ میسج دو بار ہینڈل کرتے ہیں۔
  • مدت چیک کیے بغیر مفت متن بھیجنا۔ اس سے 131047 واپس ہوتا ہے اور لگتا ہے جیسے کچھ ہوا ہی نہیں۔
EasyCoexistence کے ساتھ یہ کام کرنا

easycoexistence.com پر نمبر کنیکٹ کریں، ویب ہک کا destination اپنے روٹ پر سیٹ کریں، اور ڈیش بورڈ سے فون نمبر ID اور ٹوکن پڑھیں۔ فی نمبر فی ماہ US$ 9 سے شروع، زیادہ تعداد پر US$ 2 تک، پہلے 7 دن مفت۔

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

کیا Python SDK موجود ہے؟

ہماری طرف سے نہیں، اور آپ کو اس کی ضرورت بھی نہیں۔ API Meta کی ہے، Meta نے اسے دستاویز کیا ہے، اور کوئی بھی HTTP لائبریری استعمال کی جا سکتی ہے۔

مجھے کون سا فریم ورک استعمال کرنا چاہیے؟

کوئی بھی۔ ضرورت صرف ایسے روٹ کی ہے جو GET کا جواب دے اور POST قبول کرے، جو ہر Python ویب فریم ورک کرتا ہے۔

میں ایک میسج کو دو بار ہینڈل ہونے سے کیسے روکوں؟

payload میں موجود wamid message id پر ڈپلیکیٹ روکیں۔ Meta کے ڈیزائن میں دوبارہ کوشش شامل ہے، اس لیے یہ غیر معمولی صورت نہیں۔

کیا ٹیم اب بھی فون استعمال کر سکتی ہے؟

ہاں۔ Coexistence اسی نمبر پر WhatsApp Business ایپ کو کام کرنے دیتی ہے، اور آپ کا ہینڈلر ان کے بھیجے ہوئے میسجز کو echo event کے طور پر دیکھتا ہے۔

مزید پڑھیں

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

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

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

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

Python سے WhatsApp میسج بھیجیں