این راهنما به شما کمک میکند که اطلاعات مشتریان خود را از Google Sheets بخوانید و بهصورت خودکار پیامهای سفارشی به API ارسال کنید.
پیشنیازها
- یک حساب در سرویس والمسیج (Wallmessage)
- Google Sheets حاوی اطلاعات مشتریان (مانند نام، شماره تلفن، کد تخفیف و …)
- دسترسی به Google Apps Script در Google Sheets
تنظیم جدول Google Sheets
برای اینکه این سیستم به درستی کار کند، جدول شما باید شامل اطلاعات زیر باشد:
Name | Phone | Gift Code |
---|---|---|
مشتری اول | 989123456789 | 1000001 |
مشتری دوم | 989121111111 | 1000002 |
مشتری سوم | 989121234567 | 1000003 |
نکات مهم:
- نام شیت (Sheet Name) در Google Sheets باید دقیقاً مشخص باشد.
- در مثال ما نام آن “Sheet1“ است.
- ستونهای Name، Phone و Gift Code باید در جای درست باشند.
- اگر نام شیت یا نام ستونها متفاوت باشد، باید کد را تغییر دهید
تنظیم API پیامکی
- appkey
- authkey
- API URL
افزودن کد در Google Apps Script
مراحل:
- Google Sheets را باز کنید.
- از منوی Extensions گزینه Apps Script را انتخاب کنید.
- کد زیر را کپی و جایگذاری کنید.
- مقدار appKey، authKey و apiUrl را با مقادیر واقعی خود جایگزین کنید.
نکته : ساختار و اسم به صورت زیر باشد
نمونه کد:
function sendMessagesWithRandomDelay() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var data = sheet.getDataRange().getValues();
var appKey = "58a3fe32-00b9-4081-b4cd-9b0b07548cad";
var authKey = "e1Hh5vkApcu2hLKOB6fwcWr3dpaHzwi66djDNMUEv0d6T3PpyO";
var apiUrl = "https://app.wallmessage.com/api/sendMessage";
for (var i = 1; i < data.length; i++) {
var name = data[i][0];
var phone = data[i][1];
var giftCode = data[i][2];
var message = `مشتری عزیز ${name}،\nبه پاس همراهی شما، کد تخفیف ${giftCode} برای شما فعال گردید.`;
// ارسال پیام و دریافت نتیجه
var resultMessage = sendMessageToAPI(apiUrl, appKey, authKey, phone, message);
// نوشتن نتیجه در ستون چهارم (ستون D)
sheet.getRange(i + 1, 4).setValue(resultMessage);
// تأخیر تصادفی بین 10 تا 40 ثانیه
var randomDelay = Math.floor(Math.random() * 30000) + 10000;
Utilities.sleep(randomDelay);
}
}
function sendMessageToAPI(apiUrl, appKey, authKey, phone, message) {
var payload = {
appkey: appKey,
authkey: authKey,
to: phone,
message: message
};
var options = {
method: "post",
contentType: "application/json",
payload: JSON.stringify(payload),
muteHttpExceptions: true
};
try {
var response = UrlFetchApp.fetch(apiUrl, options);
var responseText = response.getContentText();
Logger.log("📦 API Response: " + responseText);
var json = JSON.parse(responseText);
if (json.message_status === "Success") {
return "✅ ارسال شد";
} else if (json.data && json.data.message) {
return "❌ " + json.data.message;
} else if (json.error) {
return "❌ " + json.error;
} else {
return "❌ خطای ناشناخته در پاسخ API";
}
} catch (e) {
return "❌ استثناء: " + e.toString();
}
}