كيفية إرسال رسائل WhatsApp من جداول بيانات Google باستخدام WhatsApp API

يصف هذا البرنامج التعليمي كيف يمكنك استخدام WhatsApp API الجديد مع Google Apps Script لإرسال رسائل WhatsApp من جداول بيانات Google. سيعمل نفس الأسلوب أيضًا على إرسال رسائل WhatsApp من نماذج Google عند تلقي عمليات إرسال النماذج الجديدة.
الخطوة 1: إنشاء تطبيق واتساب
انتقل إلى موقع Developers.facebook.com وانقر على Create App
زر لإنشاء تطبيق جديد سنستخدمه لإرسال رسائل WhatsApp.
يختار Business
كنوع التطبيق.
قم بتسمية تطبيقك اسمًا وصفيًا (لا تستخدم أي علامات تجارية تابعة لفيسبوك مثل WhatsApp
أو Facebook
في اسم التطبيق) وانقر فوق Create App
زر لإنشاء التطبيق.
بمجرد إنشاء التطبيق، انقر فوق WhatsApp
الزر الموجود على الشاشة التالية لإضافة إمكانيات إرسال WhatsApp إلى تطبيقك.
في الشاشة التالية، سيُطلب منك ربط تطبيق WhatsApp الخاص بك بحساب Facebook التجاري الخاص بك. سيكون لديك أيضًا خيار إنشاء حساب أعمال جديد إذا لم يكن لديك حساب بعد.
الخطوة 2: إضافة رقم هاتف المستلم
سيزودك Facebook برقم هاتف WhatsApp تجريبي والذي سيكون عنوان الإرسال الافتراضي لتطبيقك. بالنسبة للمستلمين، سيكون لديك خيار إضافة 5 أرقام هواتف كحد أقصى أثناء مرحلة التطوير دون الحاجة إلى إجراء أي دفع.
سيوفر لك تطبيق WhatsApp الخاص بك رمز الوصول المؤقت والتي ستكون صالحة لمدة 23 ساعة. قم بتدوين هذا الرمز المميز لأننا سنحتاج إليه في خطوة لاحقة.
التالي، انقر فوق Recipient Phone Number
القائمة المنسدلة لإضافة ما يصل إلى 5 أرقام هواتف WhatsApp مختلفة إلى تطبيقك. سيصلك رمز التحقق على الأرقام المضافة وستتمكن من إرسال رسائل واتساب فقط إلى الأرقام التي تم التحقق منها باستخدام الرمز.
الخطوة 3: إنشاء قالب رسالة WhatsApp
قم بالتبديل إلى مدير القوالب وقم بإنشاء قالب رسالة WhatsApp جديد.
في هذا المثال، سنختار الفئة كـ Account Update
وقم بإعطاء اسم فريد لقالب رسالتك. بالنسبة للغات، سنختار اللغة الإنجليزية التي تكون لغة الرمز الخاصة بها en
. إذا كنت تستخدم لغة أخرى، قم بتدوين لغة التعليمات البرمجية لأنها مطلوبة لإرسال الرسائل.
اكتب الرسالة الشخصية
نحن نستخدم معلمات متغيرة في الرسالة وسيتم استبدالها بالقيم الفعلية من ورقة Google. إنها تشبه إلى حد كبير العلامات التي قد تكون استخدمتها داخل Mail Merge وDocument Studio مع اختلاف بسيط وهي أن هذه علامات موضعية وليست علامات مسماة.
إليك قالب رسالتنا حيث المتغيرات {{1}}
و {{2}}
مخصصة لاسم العميل واسم العنصر على التوالي.
قد يستغرق الأمر ما يصل إلى دقيقة حتى يوافق WhatsApp على قالب رسالتك الجديدة.
الخطوة 4: إرسال رسائل الواتساب
الآن بعد أن اكتملت جميع إعداداتنا على جانب Facebook / WhatsApp، فلنعمل على ورقة Google التي سترسل رسائل WhatsApp المخصصة هذه بطريقة تلقائية.
انقر هنا لنسخ ورقة WhatsApp إلى حساب Google الخاص بك.
بعد ذلك، أضف أرقام الهاتف (مع رمز البلد) في عمود رقم الهاتف في ورقة Google. يجب عليك فقط إضافة الأرقام التي قمت بالتحقق منها باستخدام حساب WhatsApp التجريبي في الخطوة السابقة.
ثم انتقل إلى قائمة الامتدادات واختر Apps Script لفتح البرنامج النصي الأساسي. يستبدل WHATSAPP_ACCESS_TOKEN
و WHATSAPP_TEMPLATE_NAME
بالقيم التي قمت بنسخها في الخطوات السابقة.
انقر فوق Run
داخل محرر Apps Script ويجب أن يرسل رسالة WhatsApp على الفور إلى أرقام الهواتف المدرجة لديك.
وما لديك أدناه هو رسالة WhatsApp الفعلية التي أرسلتها واجهة برمجة تطبيقات WhatsApp لتحل محل العلامات المتغيرة في القالب بقيم فعلية من جداول بيانات Google.
التفاصيل الفنية
كيف يعمل WhatsApp API مع Google Apps Script
يتصل برنامج Google Apps Script بجداول بيانات Google ويسترد تفاصيل العملاء، بما في ذلك أرقام الهواتف، التي سيتم إرسال الرسائل إليها عبر WhatsApp.
// Get data from Google Sheets
// for sending messages through WhatsApp
const getSheetData_ = () => {
const sheet = SpreadsheetApp.getActiveSheet();
const [header, ...rows] = sheet.getDataRange().getDisplayValues();
const data = [];
rows.forEach((row) => {
const recipient = {};
header.forEach((title, column) => {
recipientHow to Send WhatsApp Messages from Google Sheets using the WhatsApp API = row[column];
});
data.push(recipient);
});
return data;
};
بعد ذلك، يتكرر البرنامج النصي خلال كل صف من الورقة ويرسل رسالة WhatsApp عن طريق استدعاء WhatsApp Cloud API مع خدمة UrlFetch.
// Send Message with WhatsApp Cloud API
const sendMessage_ = (e) => {
const apiUrl = 'https://graph.facebook.com/v13.0/114746974570888/messages';
const request = UrlFetchApp.fetch(apiUrl, {
muteHttpExceptions: true,
method: 'POST',
headers: {
Authorization: `Bearer ${WHATSAPP_ACCESS_TOKEN}`,
'Content-Type': 'application/json'
},
payload: JSON.stringify({
type: 'template',
messaging_product: 'whatsapp',
to: e.recipient_number,
template: {
name: WHATSAPP_TEMPLATE_NAME,
language: { code: LANGUAGE_CODE },
components: [
{
type: 'body',
parameters: [
{ type: 'text', text: e.customer_name },
{ type: 'text', text: e.item_name },
{ type: 'text', text: e.delivery_date }
]
}
]
}
})
});
const { error } = JSON.parse(request);
if (error) {
Logger.log(`😞 ${error}`);
} else {
Logger.log(`Message sent to ${recipient_number}`);
}
};
const main = () => {
getSheetData_().forEach((row) => {
const status = sendMessage_({
recipient_number: row['Phone Number'].replace(/[^\d]/g, ''),
customer_name: row['Customer Name'],
item_name: row['Item Name'],
delivery_date: row['Delivery Date']
});
});
};
راجع أيضًا: أتمتة سير العمل باستخدام جداول بيانات Google