WhatsApp मेसेज Airtable मध्ये लॉग करा आणि बेसमधून पाठवा
Airtable चा incoming वेबहुक ट्रिगर फक्त POST विनंत्या स्वीकारतो, त्यामुळे तो Meta च्या पडताळणीच्या GET ला उत्तर देऊ शकत नाही आणि स्वतः नंबरचे वेबहुक डेस्टिनेशन होऊ शकत नाही. डेस्टिनेशन n8n वर्कफ्लोकडे निर्देशित करा, जो प्रत्येक मेसेज टेबलमध्ये जोडतो. पाठवणे Airtable मधूनच शक्य आहे: Run a script ऑटोमेशन fetch वापरून Cloud API ला कॉल करू शकते, आणि नंबरचे टोकन सीक्रेट म्हणून साठवलेले असते.
Airtable चा वेबहुक प्राप्त झाल्यावर चालणारा ट्रिगर दुसरी कोणतीही पद्धत स्वीकारत नाही, म्हणून तो पडताळणीच्या GET ला उत्तर देऊ शकत नाही.
Airtable च्या incoming वेबहुक ट्रिगरवरील विनंत्यांची मर्यादा, तसेच 100 KB पेलोडची कमाल मर्यादा.
Airtable ची एक Run a script ॲक्शन करू शकणाऱ्या विनंत्या, प्रत्येकीला 30 सेकंदांनंतर टाइमआउट होतो.
Airtable थेट WhatsApp वेबहुक का स्वीकारू शकत नाही?
कारण Meta काहीही पाठवण्यापूर्वी डेस्टिनेशन तपासते. ते चॅलेंज व्हॅल्यू असलेली GET विनंती पाठवते आणि तीच व्हॅल्यू प्रतिसादाच्या बॉडीमध्ये परत यावी अशी अपेक्षा ठेवते. Airtable चा वेबहुक प्राप्त झाल्यावर चालणारा ट्रिगर फक्त POST विनंत्या स्वीकारतो आणि स्वतःचा ठरलेला JSON प्रतिसाद देतो, त्यामुळे ही तपासणी पास होऊ शकत नाही आणि Meta मेसेज पाठवणे सुरूच करत नाही.
उपाय म्हणजे मध्ये एक पायरी ठेवणे. n8n चा Webhook नोड पडताळणी हाताळतो आणि प्रत्येक मेसेज स्वीकारतो, आणि n8n चा Airtable नोड एक ओळ जोडतो: पाठवणारा, प्रोफाइल नाव, मजकूर, मेसेज आयडी, टाइमस्टॅम्प आणि मेसेज मिळालेल्या फोन नंबरचा आयडी. हीच रचना Make किंवा Zapier मध्येही चालते.
या मधल्या पायरीचा दुसरा फायदाही आहे. Airtable चा वेबहुक ट्रिगर प्रति सेकंद पाच विनंत्या स्वीकारतो, आणि वर्कफ्लो टूल एकदम येणारा मेसेजचा लोंढा रांगेत ठेवू शकते, जो अन्यथा नाकारला गेला असता.
Airtable बेसमधून WhatsApp टेम्प्लेट कसे पाठवायचे?
Run a script ही ॲक्शन असलेल्या ऑटोमेशनने. ट्रिगर म्हणून एखादे रेकॉर्ड व्ह्यूमध्ये येणे, एखादे फील्ड बदलणे किंवा बटण क्लिक होणे वापरता येते. स्क्रिप्ट input.config() द्वारे रेकॉर्डचा फोन नंबर आणि फील्ड वाचते आणि fetch वापरून Cloud API च्या मेसेज एंडपॉइंटला कॉल करते. Airtable ऑटोमेशन स्क्रिप्ट सर्व्हर बाजूला चालतात, त्यामुळे ब्राउझरची कोणतीही मर्यादा येत नाही.
ॲक्सेस टोकन कोडमध्ये न लिहिता स्क्रिप्ट एडिटरमध्ये सीक्रेट म्हणून साठवा. Airtable कन्सोल आउटपुटमधून सीक्रेट लपवते आणि स्क्रिप्टच्या सर्व सीक्रेट्सचा ॲक्सेस असलेल्या लोकांनाच ती संपादित करू देते.
ग्राहकाने गेल्या 24 तासांत स्वतः संपर्क न केला असेल तर प्रत्येक वेळी टेम्प्लेट वापरा, कारण मुक्त मजकूर फक्त त्या कालावधीतच पोहोचतो. स्क्रिप्ट परत मिळालेला मेसेज आयडी रेकॉर्डमध्ये लिहू शकते, ज्यामुळे पाठवलेला मेसेज त्या ओळीशी जोडला जातो.
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 ला अयशस्वी वाटलेल्या डिलिव्हरी पुन्हा पाठवते, आणि जोडण्यापूर्वी आयडी शोधणारा वर्कफ्लो तोच मेसेज दोनदा कधीच लिहीत नाही.
inbound आणि outbound असलेले direction फील्ड ठेवा. Coexistence नंबरवर टीमने WhatsApp Business ॲपमध्ये टाइप केलेली उत्तरे smb_message_echoes इव्हेंट म्हणून त्याच वेबहुकवर येतात, आणि त्यांना outbound ओळी म्हणून लॉग केल्याने बेसमध्ये संभाषणाची एकच बाजू नाही, तर पूर्ण संभाषण मिळते.
प्रत्येक मेसेजला Contacts टेबलशी जोडा, ज्याची की फक्त अंकांचा फोन नंबर असते, कारण Meta तोच फॉरमॅट पाठवते. रोलअप नंतर प्रत्येक संपर्काची शेवटची inbound वेळ दाखवतो, आणि मुक्त मजकूर की टेम्प्लेट हे ठरवण्यासाठी ऑटोमेशनला नेमके हेच एक फील्ड लागते.
सामान्य चुका
- Airtable चा वेबहुक यूआरएल नंबरचे डेस्टिनेशन म्हणून देणे. तो फक्त POST स्वीकारतो, Meta ची पडताळणीची GET अयशस्वी होते आणि काहीही पोहोचत नाही.
- ॲक्सेस टोकन स्क्रिप्टच्या मजकुरात चिकटवणे. ते स्क्रिप्ट सीक्रेट म्हणून साठवा, म्हणजे ते कोडमध्ये आणि लॉगमध्ये दिसणार नाही.
- 24 तासांत न लिहिलेल्या व्यक्तीला रेकॉर्ड ऑटोमेशनमधून मुक्त मजकूर पाठवणे. फक्त मंजूर टेम्प्लेट पोहोचते.
easycoexistence.com वर नंबर कनेक्ट करा, त्याचे वेबहुक डेस्टिनेशन Airtable मध्ये लिहिणाऱ्या n8n वर्कफ्लोकडे निर्देशित करा, आणि फोन नंबर आयडी व टोकन डॅशबोर्डवरून घ्या. प्रति नंबर दरमहा US$ 9 पासून, नंबर वाढल्यावर US$ 1 पर्यंत कमी, आणि पहिले 3 दिवस मोफत.
वारंवार विचारले जाणारे प्रश्न
Airtable च्या मोफत प्लॅनवर Run a script मिळते का?
Airtable ही ॲक्शन सर्व प्लॅन प्रकारांवर वेगवेगळ्या मर्यादांसह दाखवते, आणि Team प्लॅनच्या ट्रायलवर ती उपलब्ध नाही असे नमूद करते.
n8n ऐवजी Make किंवा Zapier वापरता येईल का?
होय. तिन्हींपैकी कोणतेही वेबहुक स्वीकारू शकते, पडताळणीला उत्तर देऊ शकते आणि ओळ जोडू शकते. फक्त Airtable हाच एक भाग डेस्टिनेशन होऊ शकत नाही.
Airtable बटणाने WhatsApp मेसेज पाठवता येतो का?
होय. When a button is clicked ट्रिगर आणि Cloud API ला कॉल करणारी Run a script ॲक्शन वापरा, आणि ओळीतील डेटा टेम्प्लेट भरतो.
EasyCoexistence मेसेज साठवते का?
नाही. Meta प्रत्येक वेबहुक तुमच्या n8n यूआरएलवर पोहोचवते, आणि तुमचा वर्कफ्लो Airtable मध्ये लिहितो ती एकमेव प्रत असते.
पुढे वाचा
सुरुवात करण्यासाठी तयार आहात?
WhatsApp Coexistence काही मिनिटांत सेट करा, काही महिन्यांत नाही. ॲप फोनवर काम करत राहते.
मोफत ट्रायल सुरू करापडताळले: