WhatsApp मार्केटिंग टेम्पलेट
मार्केटिंग टेम्प्लेट प्रचार सामग्री भेजता है, जैसे कोई ऑफ़र, प्रोडक्ट घोषणा, या कूपन। भेजने से पहले स्वीकृत सामग्री, प्राप्तकर्ता की अनुमति, और जवाबों तथा ऑप्ट-आउट को संभालने का एक स्पष्ट तरीका तैयार रखें।
भेजने से पहले
Bird के प्रबंधित कैटलॉग में कोई मार्केटिंग टेम्पलेट नहीं है, इसलिए मार्केटिंग भेजने के लिए हमेशा आपके वर्कस्पेस द्वारा बनाया गया टेम्पलेट उपयोग होता है, आपके अपने WhatsApp Business Account पर:
- अपना एक WhatsApp Business Account और एक नंबर कनेक्ट करें। फ़ोन नंबर सेटअप देखें।
- कैटेगरी
marketingके साथ एक टेम्पलेट बनाएँ और रिव्यू के लिए सबमिट करें। क्या स्वीकार होता है, इसके लिए देखें टेम्पलेट गाइडलाइंस। - टेम्पलेट वाले WhatsApp Business Account के ही नंबर से भेजें। मार्केटिंग भेजने पर
fromअनिवार्य है, और किसी दूसरे अकाउंट का सेंडर कोई भी चार्ज लगने से पहले422E15023WhatsAppSenderWABAMismatchके साथ अस्वीकार कर दिया जाता है।
मार्केटिंग टेम्पलेट भेजना
POST /v1/whatsapp/messages जिसमें from सेट हो और एक template ऑब्जेक्ट हो जो आपके अपने slug को नाम दे:
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 पर विफल होता है। अकाउंट की स्थिति, ऑनबोर्डिंग क्या अनलॉक करता है, और देश के अनुसार मार्केटिंग कहाँ सीमित है, इसके लिए देखें Marketing templates।
ऑप्ट-आउट
जब Bird को Meta से कोई वैध marketing-stop इवेंट मिलता है, तो वह उस बिज़नेस अकाउंट के लिए प्राप्तकर्ता की प्राथमिकता रिकॉर्ड करता है। यह प्राथमिकता सभी-संदेश दमन (all-message suppression) से अलग होती है। भेजने से पहले दोनों रिकॉर्ड जाँचें। डिलीवरी विफलता, संबंधित प्राथमिकता इवेंट से पहले आ सकती है; प्राप्तकर्ता की पसंद को बनाए रखें और फिर से प्रयास करने के बजाय उस इतिहास की जाँच करें। इन रिकॉर्ड को दर्ज करने और पढ़ने के लिए प्राथमिकताएँ देखें।
लागत
गंतव्य और मुद्रा के लिए प्रकाशित मार्केटिंग दर का उपयोग करें। Bird सबमिशन से पहले अपना आउटबाउंड शुल्क लेता है; बिल-योग्य डिलीवरी या रीड परिणाम पर Meta का शुल्क जुड़ सकता है। लागत और बिलिंग और WhatsApp मूल्य निर्धारण देखें।
ध्यान देने योग्य बातें
- Meta मार्केटिंग में पुनर्वर्गीकृत करता है, कभी बाहर नहीं, और यह एक मूल्य परिवर्तन है। जिस टेम्पलेट को Meta सारतः प्रचारात्मक पाता है वह
marketingबन जाता है, चाहे आपने कोई भी कैटेगरी सबमिट की हो, और भेजना नई, ऊँची कीमत पर जारी रहता है। इससे ऑप्ट-आउट नहीं है और कैटेगरी वापस एडिट करने का कोई तरीका नहीं; उपाय एक नया टेम्पलेट है। 131049डिलीवरी पॉज़ है, आपकी कॉन्फ़िगर की गई दर सीमा नहीं, और फिर से प्रयास करना इसे बदतर बनाता है। Meta131049अपने व्यापक US पॉज़ और प्रति-उपयोगकर्ता मार्केटिंग कैप दोनों के लिए रिपोर्ट करता है, और इसका अपना मार्गदर्शन है कि दोबारा भेजने से पहले लगभग एक दिन प्रतीक्षा करें। जल्दी दोबारा भेजने से उस प्राप्तकर्ता के लिए अकाउंट लंबे समय तक अनुपलब्ध हो सकता है और आपकी अपनी डिलीवरी दर प्रभावित होती है। Bird विफलता कोrate_limitedके रूप में रिपोर्ट करता है।131050का मतलब है कि प्राप्तकर्ता ने "Offers and announcements" बंद कर दिया है, और इसे कभी दोबारा नहीं भेजना चाहिए। Meta भेजने की अनुमति देता है और फिर डिलीवरी अस्वीकार कर देता है। सही प्रतिक्रिया messaging-preferences पथ है, दोबारा भेजना नहीं: प्राप्तकर्ता को स्वयं दबाएँ (suppress करें), या उनके डिलीवरी पुनः सक्षम करने की प्रतीक्षा करें, जिसकी जानकारी Bird को उसी प्राथमिकता तंत्र से मिलती है जिसने रुकने की सूचना दी थी। प्राथमिकताएँ देखें।132015और132016टेम्पलेट पॉज़िंग हैं, प्राप्तकर्ता की समस्या नहीं।132015निम्न गुणवत्ता के लिए पॉज़ है;132016बार-बार पॉज़ के बाद टेम्पलेट का स्थायी रूप से बंद होना है, और इसका एकमात्र उपाय अलग कंटेंट वाला एक नया टेम्पलेट है। टेम्पलेट की बजाय भाषा की अपनी स्थिति जाँचें, क्योंकि पॉज़ की गई भाषा तुरंत भेजना बंद कर देती है।- गलत WhatsApp Business Account पर सेंडर कोई चार्ज लगने से पहले अस्वीकार कर दिया जाता है।
fromको टेम्पलेट वाले ही अकाउंट पर होना चाहिए, अन्यथा भेजना422E15023WhatsAppSenderWABAMismatchके साथ विफल होता है।
अगले कदम
- WhatsApp templates: कैटलॉग ब्राउज़ करना और साझा send-by-template अनुबंध
- Marketing templates: Marketing Messages API, ऑनबोर्डिंग स्थिति, और मार्केटिंग कहाँ सीमित है
- प्राथमिकताएँ: प्राप्तकर्ता के कथनों को रिकॉर्ड करना और पढ़ना
- Utility templates: ऑर्डर अपडेट, अपॉइंटमेंट रिमाइंडर, और अकाउंट नोटिस
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।