WhatsApp मार्केटिंग टेम्पलेट
मार्केटिंग टेम्पलेट में प्रचार वाली सामग्री होती है, जैसे कोई ऑफ़र, उत्पाद की घोषणा या कूपन। भेजने से पहले स्वीकृत सामग्री और प्राप्तकर्ता की अनुमति तैयार रखें, और जवाबों व ऑप्ट-आउट को संभालने का स्पष्ट तरीका तय करें।
भेजने से पहले
Bird के प्रबंधित कैटलॉग में कोई मार्केटिंग टेम्पलेट नहीं है। इसलिए मार्केटिंग संदेश भेजने के लिए हमेशा वही टेम्पलेट इस्तेमाल होता है जिसे आपके वर्कस्पेस ने बनाया हो, और वह आपके अपने WhatsApp Business Account पर होना चाहिए:
- एक WhatsApp Business Account और अपना एक नंबर कनेक्ट करें। फ़ोन नंबर सेटअप देखें।
marketingश्रेणी वाला टेम्पलेट बनाएँ और उसे समीक्षा के लिए जमा करें। कौन-सा टेम्पलेट स्वीकृत होता है, यह जानने के लिए टेम्पलेट दिशानिर्देश देखें।- उसी WhatsApp Business Account के नंबर से भेजें जिस पर टेम्पलेट है। मार्केटिंग संदेश भेजने के लिए
fromआवश्यक है। किसी दूसरे अकाउंट का सेंडर कोई शुल्क लगने से पहले ही422E15023WhatsAppSenderWABAMismatchके साथ अस्वीकार कर दिया जाता है।
मार्केटिंग टेम्पलेट भेजना
from सेट करके और आपके अपने स्लग वाले template ऑब्जेक्ट के साथ POST /v1/whatsapp/messages:
const msg = await bird.whatsapp.send({
to: "+16505551234",
from: "+13125550101",
template: {
slug: "summer_sale",
language: "en",
components: [
{
type: "header",
parameters: [{ type: "image", url: "https://cdn.example.com/banners/summer.png" }],
},
{ type: "body", parameters: [{ type: "text", name: "first_name", text: "Pablo" }] },
{ type: "button", parameters: [{ type: "text", text: "SUMMER25" }] },
],
},
});
console.log(msg.id, msg.status);msg = client.whatsapp.send(
to="+16505551234",
from_="+13125550101",
template="summer_sale",
language="en",
components=[
{
"type": "header",
"parameters": [{"type": "image", "url": "https://cdn.example.com/banners/summer.png"}],
},
{"type": "body", "parameters": [{"type": "text", "name": "first_name", "text": "Pablo"}]},
{"type": "button", "parameters": [{"type": "text", "text": "SUMMER25"}]},
],
)
print(msg.id, msg.status)package main
import (
"context"
"fmt"
"log"
"os"
bird "github.com/messagebird/bird-sdk-go"
"github.com/messagebird/bird-sdk-go/option"
)
func main() {
client, err := bird.NewClient(option.WithAPIKey(os.Getenv("BIRD_API_KEY")))
if err != nil {
log.Fatal(err)
}
name := "Pablo"
nameKey := "first_name"
banner := "https://cdn.example.com/banners/summer.png"
coupon := "SUMMER25"
components := []bird.WhatsAppMessageTemplateComponent{
{Type: "header", Parameters: &[]bird.WhatsAppMessageTemplateComponentParameter{{Type: "image", Url: &banner}}},
{Type: "body", Parameters: &[]bird.WhatsAppMessageTemplateComponentParameter{{Type: "text", Name: &nameKey, Text: &name}}},
{Type: "button", Parameters: &[]bird.WhatsAppMessageTemplateComponentParameter{{Type: "text", Text: &coupon}}},
}
msg, err := client.Whatsapp.Send(context.Background(), bird.WhatsappSendParams{
To: "+16505551234",
From: "+13125550101",
Template: "summer_sale",
Language: "en",
Components: components,
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$components = [
(new WhatsAppMessageTemplateComponent())
->setType('header')
->setParameters([
(new WhatsAppMessageTemplateComponentParameter())->setType('image')->setUrl('https://cdn.example.com/banners/summer.png'),
]),
(new WhatsAppMessageTemplateComponent())
->setType('body')
->setParameters([
(new WhatsAppMessageTemplateComponentParameter())->setType('text')->setName('first_name')->setText('Pablo'),
]),
(new WhatsAppMessageTemplateComponent())
->setType('button')
->setParameters([
(new WhatsAppMessageTemplateComponentParameter())->setType('text')->setText('SUMMER25'),
]),
];
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13125550101',
template: 'summer_sale',
language: 'en',
components: $components,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13125550101 \
--components '[{"parameters":[{"type":"image","url":"https://cdn.example.com/banners/summer.png"}],"type":"header"},{"parameters":[{"name":"first_name","text":"Pablo","type":"text"}],"type":"body"},{"parameters":[{"text":"SUMMER25","type":"text"}],"type":"button"}]' \
--language en \
--template summer_sale \
--to +16505551234curl -X POST "https://us1.platform.bird.com/v1/whatsapp/messages" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+16505551234",
"from": "+13125550101",
"template": {
"slug": "summer_sale",
"language": "en",
"components": [
{
"type": "header",
"parameters": [
{
"type": "image",
"url": "https://cdn.example.com/banners/summer.png"
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"name": "first_name",
"text": "Pablo"
}
]
},
{
"type": "button",
"parameters": [
{
"type": "text",
"text": "SUMMER25"
}
]
}
]
}
}'- बॉडी पैरामीटर नाम वाले होते हैं, ठीक यूटिलिटी की तरह। हर पैरामीटर में एक
nameहोता है, और ऐरे में उनके क्रम का कोई अर्थ नहीं होता। - कूपन बटन का कोड एक सामान्य
textपैरामीटर होता है, ठीक ऊपर वाले बटन की तरह। कूपन कोड के लिए कोई अलग पैरामीटर प्रकार नहीं है। gifहेडरgifपैरामीटर लेता है,videoयाimageनहीं। मार्केटिंग ही एकमात्र श्रेणी है जो एनिमेटेड GIF हेडर स्वीकार करती है।- कैरोसेल के मान
cardsपर जाते हैं,parametersपर नहीं, और भेजते समय ठीक उतने ही कार्ड देने होते हैं जितनों के साथ टेम्पलेट स्वीकृत हुआ था।
Bird हर मार्केटिंग संदेश को अपने-आप Meta के Marketing Messages API से भेजता है; आपको इसके लिए ऑप्ट-इन नहीं करना पड़ता और हर संदेश के लिए कोई अलग स्विच नहीं है। उस API के साथ बिज़नेस अकाउंट की ऑनबोर्डिंग स्थिति डिलीवरी को नहीं, बल्कि Meta के ऑप्टिमाइज़ेशन को नियंत्रित करती है। इसका एक अपवाद है: gif हेडर के लिए ऑनबोर्ड किया गया अकाउंट ज़रूरी है, वरना संदेश WhatsApp पर विफल हो जाता है। अकाउंट की स्थिति, ऑनबोर्डिंग से क्या उपलब्ध होता है और किन देशों में मार्केटिंग सीमित है, यह जानने के लिए मार्केटिंग टेम्पलेट देखें।
ऑप्ट-आउट
जब Bird को Meta से मार्केटिंग रोकने का कोई मान्य इवेंट मिलता है, तो वह उस बिज़नेस अकाउंट के लिए प्राप्तकर्ता की प्राथमिकता दर्ज करता है। यह प्राथमिकता सभी संदेशों वाले सप्रेशन से अलग है। भेजने से पहले दोनों रिकॉर्ड जाँचें। डिलीवरी विफलता मेल खाने वाले प्राथमिकता इवेंट से पहले भी आ सकती है; ऐसे में फिर से प्रयास करने के बजाय प्राप्तकर्ता की पसंद बनाए रखें और उस इतिहास की जाँच करें। इन रिकॉर्ड को दर्ज करने और पढ़ने के लिए प्राथमिकताएँ देखें।
लागत
गंतव्य और मुद्रा के लिए प्रकाशित मार्केटिंग दर का उपयोग करें। Bird अपना आउटबाउंड शुल्क सबमिशन से पहले लेता है; बिल योग्य डिलीवरी या पढ़े जाने का परिणाम Meta का शुल्क जोड़ सकता है। लागत और बिलिंग और WhatsApp मूल्य निर्धारण देखें।
ध्यान देने योग्य बातें
- Meta टेम्पलेट को मार्केटिंग श्रेणी में बदल सकता है, उससे बाहर कभी नहीं, और इसका मतलब कीमत में बदलाव है। जिस टेम्पलेट को Meta सामग्री के आधार पर प्रचारात्मक मानता है, वह आपकी सबमिट की गई श्रेणी चाहे जो हो,
marketingबन जाता है, और संदेश नई, ऊँची कीमत पर भेजे जाते रहते हैं। इससे ऑप्ट-आउट करने या श्रेणी को वापस बदलने का कोई तरीका नहीं है; इसका उपाय नया टेम्पलेट है। 131049डिलीवरी पर रोक है, आपकी कॉन्फ़िगर की गई दर सीमा नहीं, और फिर से प्रयास करने से स्थिति बिगड़ती है। Meta, US में पूरी तरह लगाई गई रोक और प्रति-उपयोगकर्ता मार्केटिंग सीमा, दोनों के लिए131049रिपोर्ट करता है, और उसका अपना निर्देश है कि दोबारा भेजने से पहले लगभग एक दिन प्रतीक्षा करें। जल्दी दोबारा भेजने से अकाउंट उस प्राप्तकर्ता के लिए और लंबे समय तक अनुपलब्ध रह सकता है और आपकी डिलीवरी दर भी बिगड़ती है। Bird इस विफलता कोrate_limitedके रूप में रिपोर्ट करता है।131050का मतलब है कि प्राप्तकर्ता ने "Offers and announcements" बंद कर दिया है, और इसके लिए कभी फिर से प्रयास नहीं करना चाहिए। Meta संदेश स्वीकार करता है और फिर उसे डिलीवर करने से मना कर देता है। सही कदम दोबारा भेजना नहीं, बल्कि मैसेजिंग प्राथमिकताओं वाला तरीका है: प्राप्तकर्ता को खुद सप्रेस करें, या उनके डिलीवरी फिर से चालू करने की प्रतीक्षा करें। Bird को इसकी जानकारी उसी प्राथमिकता तंत्र से मिलती है जिसने रोक की सूचना दी थी। प्राथमिकताएँ देखें।132015और132016का अर्थ है कि टेम्पलेट रोका गया है, प्राप्तकर्ता में कोई समस्या नहीं है।132015कम गुणवत्ता के कारण लगाई गई रोक है;132016बार-बार रोके जाने के बाद स्थायी रूप से निष्क्रिय करना है, और इसका एकमात्र उपाय अलग सामग्री वाला नया टेम्पलेट है। टेम्पलेट की स्थिति के बजाय उस भाषा की अपनी स्थिति जाँचें, क्योंकि रोकी गई भाषा में भेजना तुरंत बंद हो जाता है।- गलत WhatsApp Business Account पर मौजूद प्रेषक को कोई शुल्क लगने से पहले ही अस्वीकार कर दिया जाता है।
fromका टेम्पलेट वाले ही अकाउंट पर होना ज़रूरी है, अन्यथा भेजना422E15023WhatsAppSenderWABAMismatchके साथ विफल हो जाता है।
अगले कदम
- WhatsApp टेम्पलेट: कैटलॉग ब्राउज़ करना और टेम्पलेट से भेजने का साझा अनुबंध
- मार्केटिंग टेम्पलेट: Marketing Messages API, ऑनबोर्डिंग स्थिति, और मार्केटिंग कहाँ सीमित है
- प्राथमिकताएँ: प्राप्तकर्ता के कथनों को दर्ज करना और पढ़ना
- यूटिलिटी टेम्पलेट: ऑर्डर अपडेट, अपॉइंटमेंट रिमाइंडर और अकाउंट सूचनाएँ
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।