පුරනය වන්නනොමිලේ trial කාලය ආරම්භ කරන්න
Meta Tech Provider

WhatsApp පණිවිඩ Google Sheets වෙත සටහන් කර, sheet එකකින් යවන්න

අංකයේ webhook destination එක n8n workflow එකකට යොමු කරන්න. එහි Google Sheets node එක සෑම පණිවිඩයකටම පේළියක් එක් කරයි: යවන්නා, නම, පෙළ, පණිවිඩ id සහ වේලාව. sheet එකකින් යැවීමට, Apps Script function එකකට පේළි හරහා ගොස් අංකයේ phone_number_id සහ token එක භාවිතයෙන් UrlFetchApp මගින් Cloud API අමතිය හැක. කණ්ඩායම WhatsApp Business යෙදුමෙන් පිළිතුරු දීම දිගටම කරයි.

60 / min

Google Sheets API හි පරිශීලකයෙකුට විනාඩියකට අවසර ඇති write request ගණන; project එකකට 300.

20,000 / day

පාරිභෝගික Google ගිණුමකට Apps Script URL Fetch ඇමතුම් සීමාව; Workspace ගිණුම්වලට 100,000 ලැබේ.

6 min

තනි Apps Script execution එකක් නවත්වන තුරු ධාවනය විය හැකි උපරිම කාලය.

සෑම WhatsApp පණිවිඩයක්ම පේළියක් බවට පත්වන්නේ කෙසේද?

Meta විසින් අංකයේ සෑම පණිවිඩයක්ම ඔබ සකසා ඇති webhook destination එකට යවයි. මෙහි එය n8n Webhook node එකකි, එය Meta ගේ සත්‍යාපන request එකටද ප්‍රතිචාර දක්වයි. ඊළඟ node එක Append Row operation සහිත Google Sheets වන අතර, payload එකේ ක්ෂේත්‍ර තීරු වලට සිතියම්ගත කරයි: යවන්නාගේ අංකය, profile නම, පෙළ, WhatsApp පණිවිඩ id, timestamp සහ පණිවිඩය ලැබුණු phone_number_id.

retry ආරක්ෂිත වීමට සරල append වෙනුවට පණිවිඩ id මත key කළ Append or Update Row භාවිත කරන්න. delivery අසාර්ථක යැයි Meta සිතන විට පණිවිඩය නැවත යවයි. id මත key කළ විට දෙවන delivery එක එම පේළියම යාවත්කාලීන කිරීමක් බවට පත්වේ.

Coexistence අංකයක WhatsApp Business යෙදුමෙන් ටයිප් කරන පිළිතුරු smb_message_echoes event ලෙස එම webhook එකටම ලැබේ. direction තීරුවක් සමඟ ඒවා සටහන් කළහොත් sheet එකේ දෙපස්ම තිබේ.

Sheets quota එක බාධාවක් වන්නේ කොතැනද?

පරිශීලකයෙකුට අදාළ write සීමාවේ. Sheets API මගින් project එකකට විනාඩියකට write request 300ක් සහ project එකකට පරිශීලකයෙකුට විනාඩියකට 60ක් ලබා දේ. n8n credential එකක් යනු එක් පරිශීලකයෙකි. එබැවින් පණිවිඩයකට පේළියක් එක් කරන workflow එකකට අඛණ්ඩව තත්පරයකට පණිවිඩයක් පමණ හසුරුවිය හැක.

බොහෝ කඩ අංක සඳහා එය ප්‍රමාණවත්ය. නමුත් broadcast template එකකින් පසු, පාරිභෝගිකයන් සිය ගණනක් විනාඩි කිහිපයක් තුළ පිළිතුරු දෙන විට එය ප්‍රමාණවත් නොවේ. එවිට API එක 429 Too Many Requests ප්‍රතිචාරය දෙන අතර, retry නොමැති නම් පේළි නැති වේ.

යෝජනා දෙකක් ඇත, ඒවායින් එකක් ප්‍රමාණවත්ය. Google Sheets node එකේ wait සහිත retry සක්‍රිය කරන්න, එය exponential ලෙස back off කරන ලෙස Google ගේම උපදෙසට ගැළපේ. නැතහොත් batch කරන්න: n8n මගින් තත්පර තිහක් පණිවිඩ රැස් කර එක් request එකකින් එක් කරයි, එවිට write බොහොමයක් එකක් බවට පත්වේ.

sheet එකකින් template යවන්නේ කෙසේද?

Apps Script සමඟ, sheet එකේ Extensions මෙනුවෙන්. function එකක් තවම නොයවූ පේළි කියවයි, ඒ සෑම එකකටම UrlFetchApp මගින් Cloud API හි /messages endpoint එක අමතයි, ආපසු ලැබෙන පණිවිඩ id සහ වේලාව පේළියේ ලියයි. time-driven trigger එකකින් එය විනාඩි කිහිපයකට වරක් ධාවනය කළ හැක, නැතහොත් custom මෙනුවකින් අතින් ධාවනය කළ හැක.

script බැලිය හැකි ඕනෑම අයෙකුට access token එක නොපෙනෙන ලෙස, එය කේතයේ නොව script properties තුළ ගබඩා කරන්න.

quota මතක තබා ගන්න. පාරිභෝගික Google ගිණුමකට දිනකට URL Fetch ඇමතුම් 20,000ක් ද Workspace ගිණුමකට 100,000ක් ද ලැබේ, සෑම execution එකක්ම විනාඩි හයකට පසු නතර වේ. පේළි කොටස් වශයෙන් සකසා, ඉදිරියට යාමට පෙර සෑම එකක්ම යවා ඇති බව සලකුණු කරන්න. එවිට නතර වූ ධාවනයක් දෙවරක් යැවීමකින් තොරව නතර වූ තැනින් නැවත ආරම්භ වේ.

Apps Script: send one approved template per unsent row
function sendPending() {
  const token = PropertiesService.getScriptProperties().getProperty("WHATSAPP_TOKEN");
  const sheet = SpreadsheetApp.getActive().getSheetByName("Send");
  const rows = sheet.getDataRange().getValues();
  for (let i = 1; i < rows.length; i++) {
    const [phone, name, sentAt] = rows[i];
    if (sentAt) continue;
    const res = UrlFetchApp.fetch("https://graph.facebook.com/v23.0/<PHONE_NUMBER_ID>/messages", {
      method: "post",
      contentType: "application/json",
      headers: { Authorization: "Bearer " + token },
      payload: JSON.stringify({
        messaging_product: "whatsapp", to: String(phone), type: "template",
        template: { name: "order_ready", language: { code: "en" },
          components: [{ type: "body", parameters: [{ type: "text", text: name }] }] },
      }),
    });
    sheet.getRange(i + 1, 3).setValue(new Date());
  }
}

සාමාන්‍ය වැරදි

  • පණිවිඩ id මත key නොමැතිව append කිරීම. එවිට Meta ගේ retry මගින් එකම පණිවිඩය පේළි දෙකක ලියවේ.
  • පිළිතුරු රැල්ලක් අතරතුර තනි credential එකකින් පණිවිඩයකට පේළියක් ලිවීම. පරිශීලකයෙකුට විනාඩියකට write 60 සීමාව නිසා 429 ලැබී පේළි නැති වේ.
  • පැය 24ක් තුළ ලියා නැති අයට sheet එකෙන් නිදහස් පෙළ යැවීම. එම කාල සීමාවෙන් පිටත ලබා දෙන්නේ අනුමත template පමණි.
EasyCoexistence සමඟ මෙය කිරීම

easycoexistence.com හි අංකය සම්බන්ධ කර, එහි webhook destination එක n8n workflow එකට යොමු කර, phone_number_id සහ token එක script එකට පිටපත් කරන්න. අංකයකට මසකට US$ 9 සිට, අංක එකතු කරන විට US$ 1 දක්වා අඩු වේ, පළමු දින 3 නොමිලේ trial කාලය වේ.

නිතර අසන ප්‍රශ්න

n8n වෙනුවට Make හෝ Zapier භාවිත කළ හැකිද?

ඔව්. Make custom webhook එකක් හෝ Zapier catch hook එකක් පණිවිඩය ලබාගන්නා අතර, ඒවායේ Google Sheets පියවර මගින් පේළිය එක් කරයි.

n8n ලියන්නේ කුමන Google ගිණුමෙන්ද?

n8n Google credential එක අනුමත කළ ගිණුමෙනි. එම ගිණුමට sheet එකට edit access අවශ්‍ය වන අතර, workflow එක වැය කරන්නේ එහි පරිශීලක write quota එකයි.

දුරකථන අංක තීරුව නිවැරදිව ආකෘතිගත කර තිබේද?

අංක සරල පෙළ ලෙස ගබඩා කරන්න: රට කේතය සහිත ඉලක්කම්, + ලකුණ නොමැතිව, Meta යවන ආකාරයටම. නැතහොත් Sheets ඒවා සංඛ්‍යා ලෙස සලකා, ආරම්භක + ඉවත් කර දිගු අගයන් නැවත ආකෘතිගත කළ හැක.

EasyCoexistence පණිවිඩවල පිටපතක් තබා ගනීද?

නැත. Meta සෑම webhook එකක්ම ඔබේ n8n URL එකට ලබා දෙන අතර, sheet එක ඇති එකම පිටපතයි.

තවදුරටත් කියවන්න

ආරම්භ කිරීමට සූදානම්ද?

WhatsApp Coexistence මිනිත්තු කිහිපයකින් සකසන්න, මාස ගණනකින් නොව. යෙදුම දුරකථනයේ දිගටම ක්‍රියා කරයි.

නොමිලේ trial කාලය ආරම්භ කරන්න

සත්‍යාපනය කළේ

WhatsApp සහ Google Sheets, Cloud API මත