WhatsApp Template API
আপনার নিজস্ব সিস্টেম থেকে এক API কলে অনুমোদিত WhatsApp টেমপ্লেট পাঠান; এরপর কথোপকথন MonoChat-এ চলতে থাকে।
ওভারভিউ
WhatsApp Template API আপনার CRM, ERP, ই-কমার্স সাইট বা যেকোনো ব্যাকএন্ডকে MonoChat-এর মাধ্যমে গ্রাহকের কাছে একটি অনুমোদিত WhatsApp টেমপ্লেট মেসেজ পাঠাতে দেয়। একটি অনুরোধেই জানানো হয় কোন WhatsApp নম্বর থেকে পাঠানো হবে, গ্রাহকের ফোন নম্বর, টেমপ্লেট এবং তার ভেরিয়েবল।
গ্রাহক উত্তর দিলে কথোপকথন অন্য যেকোনো কথোপকথনের মতোই আপনার MonoChat ইনবক্সে আসে। অ্যাপটির নিজস্ব কোনো স্ক্রিন নেই: সবকিছু তিনটি API এন্ডপয়েন্টের মাধ্যমে হয়।
হাইলাইট
- একটি API কল। নাম ও ভাষা দিয়ে একটি টেমপ্লেট পাঠান, আপনার ডেটা থেকে হেডার, বডি, বোতাম ও ক্যারোসেল ভেরিয়েবল পূরণ করে।
- সরাসরি চ্যাটে। প্রতিটি পাঠানোর ফলাফলে কথোপকথনের আইডি এবং MonoChat-এ সেটির সরাসরি লিংক আসে।
- নতুন গ্রাহকদের স্বাগত। ফোন নম্বরটি এখনো গ্রাহক না হলে আপনার পাঠানো নামে গ্রাহক তৈরি হয়।
ইনস্টল ও সেট আপ
- আপনার WhatsApp Business নম্বর MonoChat-এ সংযুক্ত করুন এবং নিশ্চিত করুন সেটি যাচাইকৃত ও Meta কর্তৃক অনুমোদিত টেমপ্লেট আছে।
- সেটিংস › MonoStore › অ্যাপ থেকে WhatsApp Template API ইনস্টল করুন, অথবা ইনস্টল লিংক app.monochat.ai/apps/K6u29LpbwCHBozZ8o খুলুন। MonoChat অ্যাকাউন্ট না থাকলে লিংকটি আগে সাইন আপ করার সুযোগ দেয় এবং আপনার জন্য অ্যাপটি ইনস্টল করে দেয়।
- প্রোফাইল › API টোকেন-এর অধীনে একটি API টোকেন তৈরি করুন। টোকেন শুধু একবারই দেখানো হয়, তাই সঙ্গে সঙ্গে কপি করে নিন।
- আপনার অনুমোদিত টেমপ্লেট ও তাদের ভেরিয়েবল দেখতে
template/list.jsকল করুন। - আপনার প্রথম টেমপ্লেট পাঠাতে গ্রাহকের নম্বর ও ভেরিয়েবলের মান দিয়ে
template/send.jsকল করুন।


- MonoChat থেকে পাঠানো যেকোনো টেমপ্লেট মেসেজের মতোই প্রতিটি মেসেজের বিল হয়।
- WhatsApp ফাইলটি নামিয়ে না নেওয়া পর্যন্ত মিডিয়া URL সচল থাকতে হবে।
- যেসব গ্রাহক আপনার কাছ থেকে বার্তা পেতে সম্মত হয়েছেন শুধু তাদের পাঠান: যেসব নম্বরের বার্তা ব্লক বা রিপোর্ট করা হয়, WhatsApp সেগুলোর ওপর সীমা আরোপ করতে পারে।
ফিচার
টেমপ্লেটের তালিকা
একটি WhatsApp নম্বরের অনুমোদিত টেমপ্লেট, তাদের ভাষা, ক্যাটাগরি, স্ট্যাটাস ও ভেরিয়েবলসহ, যাতে আপনার সিস্টেম জানে কী পাঠানো যায়।
টেমপ্লেট পাঠান
টেমপ্লেটের নাম ও ভাষা দিয়ে, হেডার, বডি, বোতাম ও ক্যারোসেল ভেরিয়েবলসহ। কোনো মান বাদ পড়লে পাঠানো থেমে যায়, তাই অর্ধেক পূরণ করা কিছু গ্রাহকের কাছে পৌঁছায় না।
এজেন্টকে দায়িত্ব দিন
একজন এজেন্টের ইমেইল দিন, কথোপকথনটি তাঁর নামে খোলা হবে।
মিডিয়া হেডার
স্বল্পমেয়াদি আপলোড ক্রেডেনশিয়াল নিন, MonoChat-এর স্টোরেজে একটি ছবি, ভিডিও বা ডকুমেন্ট রাখুন এবং এর URL টেমপ্লেটের হেডার হিসেবে ব্যবহার করুন।
কথোপকথনের লিংক
প্রতিটি পাঠানোর ফলাফলে সেশন আইডি, মেসেজ আইডি এবং MonoChat-এ কথোপকথন খোলার একটি লিংক আসে।
স্পষ্ট ত্রুটির বার্তা
ব্যর্থ কল জানায় কী ভুল হয়েছে, যেমন “Channel not found” বা “Variable missing”।
শুরু করার আগে
- আপনার WhatsApp Business নম্বর MonoChat-এ সংযুক্ত ও যাচাইকৃত। দেখুন চ্যানেল।
- আপনি যে টেমপ্লেটগুলো পাঠাতে চান সেগুলো Meta কর্তৃক অনুমোদিত। টেমপ্লেটের মাধ্যমেই আপনি আগে লিখতে পারেন, বা 24 ঘণ্টার উইন্ডোর বাইরে কোনো গ্রাহকের কাছে পৌঁছাতে পারেন। দেখুন টেমপ্লেট মেসেজ।
- প্রোফাইল › API টোকেন থেকে নেওয়া একটি API টোকেন আপনার আছে। দেখুন API টোকেন।
- আপনি আপনার টেন্যান্ট স্লাগ জানেন: আপনার MonoChat ঠিকানায়
/tenants/-এর পরের অংশ।https://app.monochat.ai/tenants/mybusiness-এ স্লাগ হলোmybusiness।
API রেফারেন্স
অ্যাপটির নিজস্ব কোনো স্ক্রিন নেই। সবকিছু তিনটি এন্ডপয়েন্টের মাধ্যমে হয়, প্রতিটি JSON বডিসহ একটি POST:
POST https://app.monochat.ai/api/<slug>/custom-functions/template-app/api/<endpoint>
Authorization: Bearer <API_TOKEN>
Content-Type: application/json
| এন্ডপয়েন্ট | কী করে |
|---|---|
template/list.js | আপনার একটি WhatsApp নম্বরের টেমপ্লেট ও তাদের ভেরিয়েবলের তালিকা দেয়। |
template/send.js | গ্রাহকের কাছে একটি টেমপ্লেট পাঠায় এবং কথোপকথনের একটি লিংক ফেরত দেয়। |
upload/get-token.js | হেডারের ছবি, ভিডিও বা ডকুমেন্টের জন্য স্বল্পমেয়াদি আপলোড ক্রেডেনশিয়াল দেয়। |
ফোন নম্বর সবসময় কান্ট্রি কোডসহ এবং + ছাড়া লিখতে হয়, যেমন 905334445566। সফল কল 200 দিয়ে উত্তর দেয় এবং এন্ডপয়েন্টের ডেটা result-এর অধীনে থাকে।
1. টেমপ্লেটের তালিকা
POST /api/<slug>/custom-functions/template-app/api/template/list.js
নির্দিষ্ট WhatsApp Business নম্বরের প্রতিটি টেমপ্লেট তালিকাভুক্ত করে: নাম, ভাষার কোড, ক্যাটাগরি, কম্পোনেন্ট (হেডার, বডি, ফুটার, বোতাম), ভেরিয়েবলের ধরন ও অনুমোদনের অবস্থা।
| ফিল্ড | আবশ্যক | বিবরণ |
|---|---|---|
phoneNumber | হ্যাঁ | MonoChat-এ আপনার WhatsApp Business নম্বর, কান্ট্রি কোডসহ, + ছাড়া। |
options | না | পেজিং ও ফিল্টার, যেমন { "pagination": { "currentPage": 1, "pageItems": 50 } }। |
POST /api/<slug>/custom-functions/template-app/api/template/list.js
Content-Type: application/json
Authorization: Bearer <API_TOKEN>
{
"phoneNumber": "905334445566"
}
রেসপন্স (সংক্ষিপ্ত):
{
"result": {
"templateMessages": [
{
"name": "new_product_announcement",
"languageCode": "tr-TR",
"category": "MARKETING",
"components": [
{
"type": "HEADER",
"format": "IMAGE",
"variables": [
{ "type": "IMAGE", "value": null, "exampleValue": "https://.../sample-image.png" }
]
},
{
"type": "BODY",
"text": "Merhaba {{1}}, yeni ürünümüz {{2}} çıktı!",
"sampleText": "Merhaba [Ayşe], yeni ürünümüz [XYZ Telefon] çıktı.",
"variables": [
{ "type": "TEXT", "value": null, "exampleValue": "[Ayşe]" },
{ "type": "TEXT", "value": null, "exampleValue": "[XYZ Telefon]" }
]
},
{
"type": "FOOTER",
"text": "Teşekkürler",
"sampleText": "Teşekkürler"
}
],
"status": "APPROVED"
}
],
"options": {
"pagination": { "totalCount": 12, "currentPage": 1, "pageItems": 12, "totalPages": 1 }
}
}
}
কীভাবে পড়বেন:
name: যে সিস্টেম নাম দিয়ে আপনি টেমপ্লেটটি পাঠান।languageCode: যে ভাষায় এটি পাঠানো হবে।category: WhatsApp ক্যাটাগরি (MARKETING,UTILITY,AUTHENTICATION)।components: টেমপ্লেটটি যে অংশগুলো দিয়ে তৈরি।
| কম্পোনেন্ট | বিষয়বস্তু | বিবরণ |
|---|---|---|
HEADER | IMAGE, VIDEO, DOCUMENT বা টেক্সট | মিডিয়ার ক্ষেত্রে format দেওয়া থাকে; ভেরিয়েবল variables-এর অধীনে আসে। |
BODY | ভেরিয়েবলসহ টেক্সট | মেসেজের মূল অংশ, {{1}}, {{2}}-এর মতো প্লেসহোল্ডারসহ। |
FOOTER | টেক্সট | সাধারণত ভেরিয়েবল থাকে না। |
BUTTONS | URL, কুইক রিপ্লাই… | বোতামের লেখা ও তাদের ভেরিয়েবল, থাকলে। |
উপরের উদাহরণ টেমপ্লেটটির হেডারের জন্য একটি ছবি এবং বডির জন্য দুটি টেক্সট (গ্রাহকের নাম ও পণ্যের নাম) লাগে। ফুটার নির্দিষ্ট ("Teşekkürler") এবং কোনো বোতাম নেই।
2. টেমপ্লেট পাঠান
POST /api/<slug>/custom-functions/template-app/api/template/send.js
গ্রাহকের কাছে একটি অনুমোদিত টেমপ্লেট পাঠায়। ফোন নম্বরটি এখনো গ্রাহক না হলে গ্রাহক তৈরি হয়; কথোপকথন খোলা হয় (বা আগেরটিই ব্যবহার হয়) এবং তাতে টেমপ্লেটটি পাঠানো হয়।
| ফিল্ড | আবশ্যক | বিবরণ |
|---|---|---|
phoneNumber | হ্যাঁ | যে WhatsApp Business নম্বর থেকে পাঠানো হবে। এটি MonoChat-এ সংযুক্ত ও যাচাইকৃত হতে হবে। |
templateMessageName | হ্যাঁ | টেমপ্লেটের name, তালিকা যেভাবে ফেরত দেয় ঠিক সেভাবে। |
languageCode | হ্যাঁ | টেমপ্লেটের ভাষা, তালিকা যেভাবে ফেরত দেয় সেভাবে (যেমন tr-TR)। |
customerPhoneNumber | হ্যাঁ | গ্রাহকের WhatsApp নম্বর। |
variables | টেমপ্লেটে ভেরিয়েবল থাকলে | টেমপ্লেটের ভেরিয়েবলের মান (নিচে দেখুন)। |
customerFirstName, customerLastName | না | গ্রাহক MonoChat-এ নতুন হলে ব্যবহৃত হয়। |
agentEmailAddress | না | এই ইমেইলের এজেন্টকে কথোপকথনটির দায়িত্ব দেয়। |
ভেরিয়েবল। variables অ্যারের প্রতিটি আইটেমে একটি type এবং parameters-এর একটি তালিকা থাকে, টেমপ্লেটের প্লেসহোল্ডারের ক্রমে দেওয়া:
type | parameters |
|---|---|
HEADER | হেডারের টেক্সট ভেরিয়েবল, অথবা হেডারের ছবি, ভিডিও বা ডকুমেন্টের পাবলিক URL। |
BODY | বডির {{1}}, {{2}}, … ক্রমানুসারে। |
BUTTONS | ভেরিয়েবল আছে এমন প্রতিটি বোতামের জন্য একটি মান (যেমন URL বোতামের পরিবর্তনশীল অংশ বা কুপন কোড), বোতামের ক্রমে। |
CAROUSEL | parameters-এর বদলে একটি cards অ্যারে, প্রতিটি ক্যারোসেল কার্ডের জন্য একটি এন্ট্রি, প্রতিটিতে নিজস্ব components। |
{ "type": "CAROUSEL", "cards": [ { "components": [ { "type": "HEADER", "parameters": ["https://…/1.jpg"] }, { "type": "BODY", "parameters": ["…"] } ] } ] }
কোনো মান বাদ পড়লে Variable missing দিয়ে পাঠানো থেমে যায়, তাই অর্ধেক পূরণ করা কিছু গ্রাহকের কাছে পৌঁছায় না। FOOTER-এ ভেরিয়েবল কদাচিৎ থাকে।
POST /api/<slug>/custom-functions/template-app/api/template/send.js
Content-Type: application/json
Authorization: Bearer <API_TOKEN>
{
"phoneNumber": "905334445566",
"templateMessageName": "new_product_announcement",
"languageCode": "tr-TR",
"customerPhoneNumber": "905306667788",
"customerFirstName": "Ayşe",
"agentEmailAddress": "sarah@yourcompany.com",
"variables": [
{ "type": "HEADER", "parameters": ["https://…/product.jpg"] },
{ "type": "BODY", "parameters": ["Ayşe", "XYZ Phone"] }
]
}
রেসপন্স:
{
"result": {
"url": "https://app.monochat.ai/tenants/<slug>?tab=messages&sessionTab=all&filter=…&_id=<sessionId>",
"sessionId": "…",
"messageId": "…"
}
}
url: MonoChat-এ কথোপকথন খোলে, যারা সাইন ইন করা আছেন এবং সেটি দেখার অনুমতি আছে তাদের জন্য।sessionId: কথোপকথনের আইডি।messageId: MonoChat-এ মেসেজের আইডি। এর ডেলিভারি ও পড়ার অবস্থা অন্য যেকোনো মেসেজের মতোই চ্যাটে দেখা যায়।
টেমপ্লেটে মিডিয়া। WhatsApp আপনার দেওয়া URL থেকে হেডার মিডিয়া নামিয়ে নেয়, তাই URL বৈধ ও সর্বসাধারণের জন্য পৌঁছানোর যোগ্য হতে হবে। লগইন লাগে এমন লিংক কাজ করে না। upload/get-token.js দিয়ে ফাইল আপলোড করলে সেই উত্তর থেকে তৈরি করা ফাইলের URL ব্যবহার করুন।
3. হেডারের জন্য মিডিয়া আপলোড
POST /api/<slug>/custom-functions/template-app/api/upload/get-token.js
টেমপ্লেটের হেডার ছবি, ভিডিও বা ডকুমেন্ট হলে ফাইলটির একটি পাবলিক ঠিকানা দরকার, যেখান থেকে WhatsApp এটি নামাতে পারে। এই এন্ডপয়েন্ট আপনাকে MonoChat-এর স্টোরেজে ফাইল রাখার স্বল্পমেয়াদি অনুমতি দেয়।
| ফিল্ড | আবশ্যক | বিবরণ |
|---|---|---|
fileName | হ্যাঁ | এক্সটেনশনসহ ফাইলের নাম, যেমন product.jpg বা promo.pdf। |
ফাইল সবসময় আপনার ওয়ার্কস্পেসের chat-assets ফোল্ডারে জমা হয়; key ফিল্ড পাঠায় এমন পুরোনো উদাহরণগুলো আগের মতোই কাজ করে, মানটির দরকার নেই।
POST /api/<slug>/custom-functions/template-app/api/upload/get-token.js
Content-Type: application/json
Authorization: Bearer <API_TOKEN>
{
"fileName": "product.jpg"
}
উত্তরে বলা হয় ফাইলটি কোথায় রাখতে হবে এবং তা করার ক্রেডেনশিয়াল দেওয়া হয়:
| ফিল্ড | বিবরণ |
|---|---|
bucket, region, path | ফাইলটি কোথায় যাবে। |
temporaryCredentials | শুধু সেই একটি পাথের জন্য আপলোড-অনলি ক্রেডেনশিয়াল, 15 মিনিট বৈধ। |
baseUrl | স্টোরেজের পাবলিক ঠিকানা। ফাইলের URL হলো baseUrl + / + path। |
এই ক্রেডেনশিয়াল দিয়ে যেকোনো S3 ক্লায়েন্ট ব্যবহার করে সঙ্গে সঙ্গে ফাইলটি আপলোড করুন, তারপর টেমপ্লেট পাঠানোর সময় এর URL HEADER প্যারামিটার হিসেবে দিন। অতি বড় ফাইল বা WhatsApp সমর্থন করে না এমন ফরম্যাট ব্যর্থ হয় (এটি প্রচলিত ছবি, ভিডিও ও PDF ফরম্যাট গ্রহণ করে)।
উদাহরণ: ছবির হেডারসহ একটি টেমপ্লেট
ধরুন আপনার একটি অনুমোদিত টেমপ্লেট new_product_announcement আছে, যার একটি ছবির হেডার ও দুটি বডি ভেরিয়েবল (গ্রাহকের নাম ও পণ্যের নাম), এবং আপনি এটি কোনো গ্রাহককে পাঠাতে চান।
- টেমপ্লেটের তালিকা নিন। আপনার WhatsApp নম্বর দিয়ে
template/list.jsকল করুন এবংnew_product_announcementখুঁজে নিন। এর কম্পোনেন্টে হেডারে একটিIMAGEভেরিয়েবল এবং বডিতে দুটিTEXTভেরিয়েবল দেখা যাবে। - ছবি আপলোড করুন।
{ "fileName": "urun.jpg" }দিয়েupload/get-token.jsকল করুন, ফেরত আসা ক্রেডেনশিয়াল দিয়ে ফাইল আপলোড করুন এবংbaseUrlওpathথেকে এর URL তৈরি করুন। - টেমপ্লেট পাঠান। ফাইলের URL
HEADERপ্যারামিটার হিসেবে এবংBODYপ্যারামিটার হিসেবে["Ayşe", "XYZ Telefon"]দিয়েtemplate/send.jsকল করুন ({{1}}→ Ayşe,{{2}}→ XYZ Telefon)। টেমপ্লেটে বোতামের ভেরিয়েবল থাকলে একইভাবে একটিBUTTONSআইটেম যোগ করতে হতো। - চ্যাট খুলুন। উত্তরের
urlকথোপকথন খোলে; গ্রাহক উত্তর দিলে তা আপনার MonoChat ইনবক্সে চলতে থাকে।
ত্রুটি
ব্যর্থ কল একটি ত্রুটির স্ট্যাটাস ও কী ভুল হয়েছে তা বলে দেওয়া একটি বার্তা দিয়ে উত্তর দেয়। এই বার্তাগুলো আপনার সিস্টেমে লগ করুন এবং প্রয়োজনে আপনার ব্যবহারকারীদের অর্থবহ বার্তা দেখান।
| বার্তা | কারণ |
|---|---|
phoneNumber field is required | phoneNumber ছাড়াই template/list.js কল করা হয়েছে। |
phoneNumber, templateMessageName, customerPhoneNumber fields are required | template/send.js-এর একটি আবশ্যক ফিল্ড নেই। |
Channel not found | phoneNumber আপনার ওয়ার্কস্পেসের কোনো WhatsApp নম্বর নয়। |
Channel is not verified | WhatsApp নম্বরটি সংযুক্ত কিন্তু যাচাইকৃত নয়। |
Template message not found | নম্বরটিতে সেই নাম ও ভাষার কোনো অনুমোদিত টেমপ্লেট নেই। বানান ও languageCode দেখে নিন। |
Template message is not approved | টেমপ্লেটটি আছে কিন্তু Meta কর্তৃক অনুমোদিত নয়। |
Variable missing: … | variables টেমপ্লেটের সঙ্গে মেলে না, যেমন টেমপ্লেটে দুটি বডি মান লাগে কিন্তু আপনি একটি পাঠিয়েছেন। |
Agent user not found | agentEmailAddress-এর ইমেইলের কোনো এজেন্ট নেই। |
Customer Channel not found | গ্রাহকের WhatsApp পরিচয় তৈরি বা খুঁজে পাওয়া যায়নি। |
আপনি যেসব HTTP স্ট্যাটাস কোড দেখতে পারেন:
- 401 Unauthorized:
Authorization: Bearer <API_TOKEN>হেডার নেই, অথবা টোকেন ভুল বা মেয়াদোত্তীর্ণ। আপনার অ্যাকাউন্ট থেকে একটি বৈধ টোকেন ব্যবহার করুন। - 403 Forbidden: টোকেনটির এই ওয়ার্কস্পেস বা অ্যাপে অ্যাক্সেস নেই, যেমন টেন্যান্ট স্লাগ ভুল।
- 404 Not Found: এন্ডপয়েন্টের ঠিকানা ভুল। পূর্ণ পাথ
/api/<slug>/custom-functions/template-app/api/...দেখে নিন। - 500 Internal Server Error: MonoChat বা WhatsApp প্রদানকারীর দিকে অপ্রত্যাশিত সমস্যা, অথবা WhatsApp-এর দিক থেকে প্রত্যাখ্যান (নম্বরটি WhatsApp-এ নেই, গ্রাহক আপনাকে ব্লক করেছেন, কোয়ালিটি বা রেট সীমা)। পরে আবার চেষ্টা করুন এবং সমস্যা থাকলে MonoChat সাপোর্টের সঙ্গে যোগাযোগ করুন।
স্ক্রিনশট
MonoChat-এর মাধ্যমে এক API কলে CRM, ERP বা ই-কমার্স সিস্টেম থেকে একটি অনুমোদিত WhatsApp টেমপ্লেট পাঠানো
অনুমোদিত WhatsApp টেমপ্লেটের তালিকা, তাদের ভেরিয়েবলসহ
নতুন নম্বরে টেমপ্লেট পাঠালে গ্রাহক স্বয়ংক্রিয়ভাবে তৈরি হয়
একটি টেমপ্লেট একাধিক ভাষায় পাঠানো
ছবি, ভিডিও, ডকুমেন্ট ও PDF হেডারসহ টেমপ্লেটFAQ
WhatsApp Template API-তে কি ইউজার ইন্টারফেস আছে?
না। এটি শুধু API-ভিত্তিক অ্যাপ, যার তিনটি এন্ডপয়েন্ট: টেমপ্লেটের তালিকা, টেমপ্লেট পাঠানো এবং মিডিয়া হেডারের জন্য আপলোড ক্রেডেনশিয়াল নেওয়া।
ব্যবহার করার আগে আমার কী লাগবে?
MonoChat-এ যুক্ত ও যাচাইকৃত একটি WhatsApp Business নম্বর, Meta কর্তৃক অনুমোদিত টেমপ্লেট এবং প্রোফাইল › API টোকেন থেকে নেওয়া একটি API টোকেন।
গ্রাহক উত্তর দিলে কী হয়?
কথোপকথন অন্য যেকোনো কথোপকথনের মতোই আপনার MonoChat ইনবক্সে আসে। প্রতিটি পাঠানোর ফলাফলে কথোপকথনের একটি সরাসরি লিংকও আসে, এবং আপনি ইমেইল দিয়ে এটি কোনো এজেন্টকে দায়িত্ব দিতে পারেন।
আমি কি এমন নম্বরে পাঠাতে পারি যা এখনো গ্রাহক নয়?
হ্যাঁ। ফোন নম্বরটি এখনো গ্রাহক না হলে আপনার পাঠানো নামে গ্রাহক তৈরি হয়।
টেমপ্লেট মেসেজের খরচ কত?
MonoChat থেকে পাঠানো যেকোনো টেমপ্লেট মেসেজের মতোই প্রতিটি মেসেজের বিল হয়। Meta ক্যাটাগরি ও প্রাপকের দেশ অনুযায়ী টেমপ্লেটের মূল্য নির্ধারণ করে; একটি পাঠানোর খরচ অনুমান করতে WhatsApp বাল্ক মেসেজিং খরচের ক্যালকুলেটর ব্যবহার করুন।