WhatsApp प्राथमिकताएँ
प्राथमिकता इस बारे में एक कथन है कि कोई व्यक्ति क्या चाहता है, जो किसी एक चैनल पर उसके हैंडल के साथ दर्ज होता है। WhatsApp पर हैंडल E.164 प्रारूप में एक फ़ोन नंबर होता है। यह सप्रेशन से अलग रिकॉर्ड है, और भेजने से पहले दोनों की जाँच होती है।
प्राथमिकताएँ आपके वर्कस्पेस तक तीन तरीकों से पहुँचती हैं: WhatsApp कोई प्राथमिकता रिपोर्ट करता है, कोई प्राप्तकर्ता कोई कीवर्ड टाइप करता है, या आप स्वयं कोई प्राथमिकता दर्ज करते हैं। हर एक के बारे में आप क्या कर सकते हैं, यह इस पर निर्भर करता है कि उसे किसने बताया।
प्राथमिकता में क्या होता है
कोई कथन या तो revoked होता है, यानी ऑप्ट-आउट, या granted, यानी सहमति।
इसमें एक दायरा भी होता है, जो तय करता है कि यह कितना ट्रैफ़िक रोकेगा। non_transactional मार्केटिंग और अन्य गैर-ज़रूरी संदेशों पर लागू होता है, जबकि रसीद और सत्यापन कोड जैसे लेन-देन संबंधी संदेश जाते रहते हैं। all हर संदेश पर लागू होता है। Preferences टैब इन्हें अपने Covers कॉलम में Non-transactional और All messages के रूप में दिखाता है।
कोई कथन sender_scope के ज़रिए किसी एक प्रेषक तक सीमित हो सकता है, जो WhatsApp पर बिज़नेस खाते की पहचान करता है। इसके बिना कथन आपके पूरे वर्कस्पेस में उस चैनल पर लागू होता है, उन खातों समेत जिन्हें आप बाद में जोड़ते हैं।
किसी व्यक्ति की एक चैनल पर कई पंक्तियाँ हो सकती हैं, जैसे पूरे चैनल का ऑप्ट-आउट और उसके साथ किसी एक प्रेषक तक सीमित ऑप्ट-आउट। संदेश जाएगा या नहीं, यह सबसे प्रतिबंधात्मक कथन तय करता है।
Bird आपके लिए जो प्राथमिकताएँ दर्ज करता है
जब Bird को Meta से यह इवेंट मिलता है कि किसी प्राप्तकर्ता ने मार्केटिंग संदेश बंद कर दिए हैं, तो वह उस WhatsApp Business Account के लिए प्राप्तकर्ता की ओर से आई प्राथमिकता दर्ज करता है। यह प्राथमिकता लेन-देन से इतर संदेशों पर लागू होती है। इससे सभी संदेशों वाला सप्रेशन नहीं बनता, और न ही वह व्यक्ति आपके वर्कस्पेस के हर खाते से ऑप्ट-आउट होता है।
कोई प्राप्तकर्ता STOP लिखकर जवाब देकर भी यही बात कह सकता है। यह प्राथमिकता, ऊपर वाली की तरह, उसी बिज़नेस खाते तक सीमित होती है जिसे उन्होंने संदेश भेजा था। यह सभी संदेशों पर लागू होती है, क्योंकि टाइप किया गया STOP, WhatsApp के मार्केटिंग ऑप्ट-आउट से व्यापक है। Bird किन शब्दों को पहचानता है और जवाब कैसे बदलें, यह जानने के लिए कीवर्ड नियम देखें।
बाद में आने वाला फिर से शुरू करने का इवेंट उस खाते की प्राथमिकता को अपडेट करता है। सप्रेशन और अन्य लागू प्राथमिकताएँ फिर भी लागू रहती हैं, इसलिए केवल फिर से शुरू करने का इवेंट यह साबित नहीं करता कि संदेश भेजा जा सकता है।
आपके द्वारा दर्ज की गई प्राथमिकताएँ
Suppressions पेज खोलें और Preferences टैब पर जाएँ। वहाँ Every business account in the workspace के साथ प्राथमिकता दर्ज करने पर उस पते को आपके सभी खातों से WhatsApp संदेश मिलना बंद हो जाता है, जिनमें बाद में जोड़े गए खाते भी शामिल हैं।

उस टैब पर Record opt-out डायलॉग सभी संदेशों वाला दायरा दर्ज करता है।

केवल मार्केटिंग संदेश रोकने वाली प्राथमिकता दर्ज करने के लिए पूरे वर्कस्पेस वाले Contacts > Preferences पेज का उपयोग करें। उसके डायलॉग में All messages के साथ Marketing messages का विकल्प भी मिलता है।
कोड से प्राथमिकताएँ पढ़ना
GET /v1/preferences वर्कस्पेस की दर्ज प्राथमिकताएँ लौटाता है, सबसे हाल में बनाई गई सबसे पहले। केवल इस चैनल की प्राथमिकताएँ पाने के लिए channel=whatsapp पास करें। किसी नंबर को संदेश भेजने से पहले उसके लिए दर्ज सब कुछ देखने के लिए इसके साथ handle भी पास करें:
for await (const preference of bird.preferences.list({
channel: "whatsapp",
handle: "+15550001234",
})) {
console.log(preference.status, preference.coverage, preference.sender_scope);
}for preference in client.preferences.list(channel="whatsapp", handle="+15550001234"):
print(preference.status, preference.coverage, preference.sender_scope)for pref, err := range client.Preferences.List(context.Background(), bird.PreferencesListParams{
Channel: bird.PreferenceChannelWhatsapp,
Handle: "+15550001234",
}) {
if err != nil {
log.Fatal(err)
}
fmt.Println(*pref.Status, *pref.Coverage)
}foreach ($bird->preferences->list(['channel' => 'whatsapp', 'handle' => '+15550001234']) as $preference) {
echo $preference->getStatus(), ' ', $preference->getCoverage(), PHP_EOL;
}bird preferences list --channel whatsapp --handle +15550001234curl "https://us1.platform.bird.com/v1/preferences?channel=whatsapp&handle=%2B15550001234" \
-H "Authorization: Bearer $BIRD_API_KEY"handle के लिए channel ज़रूरी है, क्योंकि एक ही हैंडल एक से अधिक चैनल पर मौजूद हो सकता है।
कोड से प्राथमिकता दर्ज करना
POST /v1/preferences एक कथन दर्ज करता है। लिखना एक अपसर्ट है, जिसकी कुंजी चैनल, हैंडल और प्रेषक का दायरा है, इसलिए नया कथन उस कुंजी के मौजूदा कथन की जगह ले लेता है:
const result = await bird.preferences.create({
channel: "whatsapp",
handle: "+15550001234",
status: "revoked",
coverage: "non_transactional",
});
console.log(result.applied, result.preference?.id);result = client.preferences.create(
channel="whatsapp",
handle="+15550001234",
status="revoked",
coverage="non_transactional",
)
print(result.applied, result.preference.id)result, err := client.Preferences.Create(context.Background(), bird.PreferencesCreateParams{
Channel: bird.PreferenceChannelWhatsapp,
Handle: "+15550001234",
Status: bird.PreferenceStatusRevoked,
Coverage: bird.PreferenceCoverageNonTransactional,
})
if err != nil {
log.Fatal(err)
}
// A newer statement already on file answers Applied false instead of an
// error, with the surviving statement in Preference.
if result.Applied != nil && *result.Applied {
fmt.Println("opt-out recorded")
}$result = $bird->preferences->create(
channel: 'whatsapp',
handle: '+15550001234',
status: 'revoked',
coverage: 'non_transactional',
);
echo var_export($result->getApplied(), true);bird preferences create \
--channel whatsapp \
--handle +15550001234 \
--status revoked \
--coverage non_transactionalcurl -X POST https://us1.platform.bird.com/v1/preferences \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"channel":"whatsapp","handle":"+15550001234","status":"revoked","coverage":"non_transactional"}'कथनों का क्रम इस बात से तय होता है कि वे कब किए गए, न कि वे कब पहुँचे। API ऐसे कथन को अस्वीकार करता है जिसकी तारीख कुंजी के मौजूदा कथन से पहले की हो, और बचे हुए कथन के साथ applied: false लौटाता है। यह अस्वीकृति कुंजी के इतिहास में बनी रहती है।
201 का अर्थ है कि कुंजी का कोई रिकॉर्ड नहीं था और इस कथन ने एक रिकॉर्ड बनाया। 200 कुंजी का बचा हुआ रिकॉर्ड लौटाता है, चाहे इस कथन ने उसे बदला हो, दोहराया हो या उसे अस्वीकार किया गया हो।
आप क्या पलट सकते हैं
जब प्राप्तकर्ता आपसे फिर से भेजना शुरू करने को कहे, तो आपके द्वारा दर्ज की गई प्राथमिकता को आप Preferences टैब से या DELETE /v1/preferences/{preference_id} से हटा सकते हैं।
जो कथन व्यक्ति ने स्वयं किया है, उसे पलटने का अधिकार उसी का है। अनसब्सक्राइब या स्टॉप कीवर्ड तब समाप्त होता है जब वह फिर से ऑप्ट-इन करता है, और हटाने का अनुरोध 422 लौटाता है। उसकी सहमति से संदेश भेजना फिर शुरू करने के लिए granted कथन दर्ज करें, जिसमें consented_at हो, यानी वह क्षण जब उसने सहमति दी। यह अनुमति तब लागू होती है जब वह क्षण उस ऑप्ट-आउट से बाद का हो जिसे वह पलटती है। इस तरह यह मूल कथन को मिटाने के बजाय मन बदलने को दर्ज करती है।
हटाने के अनुरोध का क्रम भी किसी अन्य कथन की तरह तय होता है, इसके लिए उसके प्राप्त होने का समय लिया जाता है। यदि रिकॉर्ड में उस क्षण के बाद किया गया कथन है, तो हटाने का अनुरोध अस्वीकार हो जाता है और बचे हुए रिकॉर्ड के साथ applied: false लौटाया जाता है।
जब डिलीवरी त्रुटि पहले पहुँचे
प्रदाता की डिलीवरी त्रुटि किसी स्टॉप की सूचना तब भी दे सकती है जब Bird ने उससे मेल खाने वाली घटना अभी दर्ज न की हो। स्थानीय रिकॉर्ड न होने को भेजने की अनुमति न मानें। प्राप्तकर्ता की पसंद बनाए रखें और प्राथमिकता तथा घटनाओं के इतिहास की जाँच करें।
अगले कदम
- सप्रेशन: वे पते जिन्हें आपका वर्कस्पेस सीधे ब्लॉक करता है।
- कीवर्ड नियम: वे शब्द जो आपके नंबरों पर प्राथमिकता दर्ज करते हैं।
- संदेश स्थिति वेबहुक: ब्लॉक किए गए भेजे गए संदेश से बनने वाला
whatsapp.rejectedपेलोड।
संबंधित संसाधन
इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।