डेवलपर

PUT/tcr/v2/campaign/{campaignId}

संदेश अभियान अपडेट करें

अभियान की सामग्री संशोधित करें, सहेजे गए परिणाम की पुष्टि करें और समीक्षा अनुरोधों तथा नवीनीकरण संबंधी निर्णयों को स्पष्ट रखें।

इस पृष्ठ पर
  1. नया पंजीकरण बनाए बिना अभियान में सुधार करें
  2. केवल वास्तव में बदले गए फ़ील्ड चुनें
  3. विशिष्ट सुधार सबमिट करें
  4. अभियान को दोबारा पढ़ें
  5. प्रतिबंधों और अनिश्चित परिणामों को सँभालें

नया पंजीकरण बनाए बिना अभियान में सुधार करें

किसी मौजूदा अभियान के विवरण, संदेश उदाहरणों, सहमति के स्पष्टीकरण या समर्थित सामग्री विशेषताओं को संशोधित करने के लिए इस रूट का उपयोग करें। अभियान की आईडी और उसका वर्तमान ब्रांड/उपयोग का मामला बनाए रखें। किसी मौजूदा अभियान में सुधार के लिए दोबारा प्रयास करने का तरीका नया पंजीकरण करना नहीं है।

अनुमत स्रोत आईपी पते से HTTPS के माध्यम से सक्षम API खाते का उपयोग करके प्रमाणीकरण करें। केवल उसी खाते के स्वामित्व वाला अभियान उपलब्ध होता है। बदलाव तैयार करने से पहले उसकी वर्तमान स्थिति पढ़ें; जिन अभियानों की अवधि समाप्त हो चुकी है, उन्हें इस कार्यप्रवाह से अपडेट नहीं किया जा सकता।

curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
  "https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"

केवल वास्तव में बदले गए फ़ील्ड चुनें

समर्थित बदलावों वाली campaign-update.json तैयार करें। वर्तमान पोर्टल केवल अभियान के बदले गए फ़ील्ड भेजता है और brandId, usecase, campaignId या केवल प्रतिक्रिया में मिलने वाली स्थिति की जानकारी नहीं भेजता। सीधे API से किए जाने वाले अपडेट भी फ़ील्ड के JSON ऑब्जेक्ट का उपयोग करते हैं, पोर्टल के changes/version आवरण का नहीं।

अभियान अपडेट के फ़ील्ड
फ़ील्डक्या देना है
description, messageFlowसेवा का सटीक विवरण और यह जानकारी कि लोग कैसे सहमति देते हैं, संदेश प्राप्त करते हैं और सहमति वापस लेते हैं। प्रत्येक फ़ील्ड में 40–4096 वर्ण हो सकते हैं।
sample1–sample5इस अभियान के लिए वास्तविक उपयोग जैसे नमूने दें; प्रत्येक गैर-खाली नमूने में 20–1024 वर्ण हों। पात्रता प्राप्त उपयोग के मामले के लिए आवश्यक नमूनों की संख्या बनाए रखें; असंबंधित संदेश न भेजें।
helpMessage, optinMessage, optoutMessageप्राप्तकर्ता को दिखाई जाने वाली लागू प्रतिक्रियाएँ दें, जिनमें अधिकतम 1024 वर्ण हों। जहाँ आवश्यक हो, न्यूनतम 20 वर्ण की शर्त पूरी करें और वास्तविक सेवा समझाएँ। किसी फ़ील्ड को खाली करने से पहले सहमति की वर्तमान आवश्यकताओं की समीक्षा करें।
optinKeywords, optoutKeywords, helpKeywordsबिना स्पेस के, अल्पविराम से अलग किए गए कीवर्ड दें, जिनमें अधिकतम 255 वर्ण हों। प्रतिक्रियाओं और सेवा के संचालन में कीवर्ड संसाधित करने के तरीके में संगति बनाए रखें।
privacyPolicyLink, termsAndConditionsLinkइस सेवा की वास्तविक कार्यप्रणालियों का वर्णन करने वाले प्रासंगिक सार्वजनिक वेब पते दें, जिनमें अधिकतम 2048 वर्ण हों।
embeddedLinkSampleसंदेशों में शामिल होने वाले लिंक का प्रतिनिधि उदाहरण दें, जिसमें अधिकतम 255 वर्ण हों।
numberPool, embeddedLink, embeddedPhone, ageGated, directLendingअभियान की वास्तविक विशेषताएँ JSON बूलियन मानों के रूप में दें। किसी विशेषता को बंद करते समय false का उपयोग करें, स्ट्रिंग "false" का नहीं।
autoRenewalसार्वजनिक API स्कीमा इस JSON बूलियन मान का समर्थन करता है, हालाँकि पोर्टल के सामान्य अभियान-सामग्री संपादक में इसका विकल्प उपलब्ध नहीं है। नवीनीकरण बंद करने से मौजूदा न्यूनतम प्रतिबद्धता रद्द नहीं होती और पहले से देय शुल्क समाप्त नहीं होते।
resellerIdस्कीमा पुनर्विक्रेता से संबद्ध करने की सुविधा भी देता है। यह पोर्टल के सामान्य सामग्री-सुधार फ़ॉर्म का हिस्सा नहीं है। किसी अभियान को एक ग्राहक से दूसरे ग्राहक के पास स्थानांतरित करने के लिए इस फ़ील्ड का उपयोग न करें और यह न मानें कि API किसी दूसरे पुनर्विक्रेता के लिए दूरसंचार प्रदाता की सेवा कॉन्फ़िगर करेगा।

अपडेट स्कीमा में brandId, usecase, subscriberOptin, subscriberOptout या subscriberHelp बदलने योग्य फ़ील्ड के रूप में उपलब्ध नहीं हैं। अभियान बनाने का पूरा पेलोड किसी अपडेट में कॉपी न करें। वर्तमान पात्रता को संदेश संबंधी आवश्यकताओं की समीक्षा करते समय देखें।

विशिष्ट सुधार सबमिट करें

यह उदाहरण समझाने के लिए दी गई अपॉइंटमेंट अनुस्मारक सेवा का वर्णन करता है। इसका उपयोग करने से पहले इसे अभियान की वास्तविक सेवा और सहमति प्रक्रिया के अनुरूप ढालें।

{
  "description": "Appointment reminders requested by customers of the registered business.",
  "sample1": "Example business: Your requested appointment reminder is ready. Reply STOP to opt out."
}
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
  --request PUT \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --data-binary @campaign-update.json \
  "https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"

उसी अपेक्षित सबमिशन के लिए वही कुंजी रखें और विधि, पथ, क्वेरी तथा बॉडी के बाइट बिल्कुल समान रखें। बदली हुई सामग्री के लिए अलग से समीक्षित अनुरोध आवश्यक है; समय समाप्त होने के बाद बिना सोचे-समझे कुंजियाँ न बदलें। पूरा हो चुका अनुरोध कैश की गई त्रुटि दोबारा लौटा सकता है, और संसाधित हो रहे अनुरोध की प्रतिलिपि Retry-After के साथ 409 लौटा सकती है।

अभियान को दोबारा पढ़ें

HTTP 200 सीधे अभियान का JSON ऑब्जेक्ट लौटाता है। campaignId की पुष्टि करें, फिर उसी अभियान को GET से पढ़ें और अपेक्षित फ़ील्ड की तुलना करें। सफलतापूर्वक सहेजने से अपने-आप दूरसंचार प्रदाता की दूसरी समीक्षा का अनुरोध नहीं होता, नंबरों का आवंटन नहीं बदलता, संदेश भेजने की सुविधा सक्रिय नहीं होती और कोई संदेश नहीं भेजा जाता।

पोर्टल सहेजने से पहले फ़ॉर्म के संस्करण की जाँच करता है और बाद में अभियान को दोबारा पढ़ता है। सार्वजनिक PUT एंडपॉइंट पोर्टल के उस संस्करण की जाँच लागू नहीं करता: एक ही समय होने वाले संपादनों के बीच समन्वय करें। इडेम्पोटेंसी कुंजी किसी दूसरे संपादक के अपडेट का पता नहीं लगाती।

यदि पोर्टल में समीक्षा की अस्वीकृति अब भी अनसुलझी दिखाई देती है, तो पहले सामग्री ठीक करें, फिर उपलब्ध होने पर समीक्षा का अनुरोध करने वाली अलग कार्रवाई का उपयोग करें। वह कार्रवाई वास्तविक संचालन परिवेश के वर्तमान अभियान और साझा करने की स्थिति की जाँच करती है। केवल सामग्री सहेजने से वह कार्रवाई नहीं होती, और अभियान की आईडी मौजूद होने से स्वीकृति सिद्ध नहीं होती।

वर्तमान सेवा में अभियान के सामान्य PUT अपडेट अभियान-पंजीकरण के लिए अलग से राशि काटने की कार्रवाई नहीं भेजते। मौजूदा मासिक शुल्क, न्यूनतम प्रतिबद्धताएँ, नंबर का किराया और संदेश उपयोग के शुल्क लागू रहते हैं। अभियान की वर्तमान में कॉन्फ़िगर की गई दरों के लिए देखें: अभियान शुल्क।

प्रतिबंधों और अनिश्चित परिणामों को सँभालें

HTTP 400 के लिए, फ़ील्ड-स्तर की त्रुटि पढ़ें और लंबाई, सहमति के पाठ तथा अभियान की स्थिति की जाँच करें। 401, 403 या 404 के लिए, API क्रेडेंशियल, अनुमत स्रोत आईपी और स्वामित्व की जाँच करें। 429 के लिए, Retry-After का पालन करें। 500, 502 या बाधित अनुरोध की स्थिति में, अभियान की आईडी और उपलब्ध किसी भी requestId को सुरक्षित रखें, फिर दोबारा सबमिट करने से पहले मौजूदा रिकॉर्ड का मिलान करके स्थिति स्पष्ट करें।

स्थानीय स्नैपशॉट लौटाई गई बॉडी पर निर्भर करता है। गैर-खाली आंशिक प्रतिक्रिया में नवीनीकरण के मेटाडेटा सहित पुराने फ़ील्ड छूट सकते हैं; खाली प्रतिक्रिया पुराने मान बनाए रख सकती है। केवल सफलता को सभी फ़ील्ड सुरक्षित रहने का प्रमाण मानने के बजाय पूरे GET परिणाम की पुष्टि करें। जिन अंतरों का समाधान न हो, उनकी जानकारी सहायता सेवा को दें। यह रूट दूरसंचार प्रदाता के आवंटनों को एक अविभाज्य कार्रवाई में अपडेट नहीं करता और न ही प्रदाता की सेवा सक्रिय करने में आई समस्या से उबरने की कोई सामान्य कार्रवाई उपलब्ध कराता है।