कंट्रोल ग्रुप्स API
एक कंट्रोल ग्रुप एक एप्लीकेशन के यूज़र्स का एक होल्ड-आउट हिस्सा है जिसे कभी भी मार्केटिंग संदेश नहीं मिलते, ताकि उस पर मैसेजिंग के प्रभाव को मापा जा सके। यह API कंट्रोल ग्रुप्स का प्रबंधन करता है और प्रति-यूज़र सदस्यता का जवाब देता है। इसका उपयोग अपने सिस्टम से कंट्रोल पैनल के सेटिंग्स > कंट्रोल ग्रुप्स एक्शन को मिरर करने के लिए करें, या यह जांचने के लिए करें कि भेजने या इम्पोर्ट करने से पहले विशिष्ट यूज़र आईडी होल्ड आउट हैं या नहीं।
बेस यूआरएल
Anchor link tohttps://rpc-api.svc-nue.pushwoosh.comसभी एंडपॉइंट्स HTTPS पर सर्व किए जाते हैं। अनुरोध और प्रतिक्रियाएं application/json का उपयोग करती हैं जब तक कि अन्यथा उल्लेख न किया गया हो।
प्रमाणीकरण
Anchor link toप्रत्येक अनुरोध में आपके सर्वर API टोकन के साथ एक Authorization हेडर शामिल होना चाहिए:
Authorization: Api YOUR_API_TOKENपरंपराएं
Anchor link to- फ़ील्ड नेमिंग: रिक्वेस्ट बॉडी और क्वेरी/पाथ पैरामीटर
lowerCamelCase(उदाहरण के लिए,controlGroupCode,userIds) स्वीकार करते हैं, और सर्वर किसी भी केसिंग को अनमार्शल करता है। प्रतिक्रियाएं हमेशा प्रोटो फ़ील्ड नामों का उपयोग करकेsnake_case(application_id,in_control_group, इत्यादि) में मार्शल की जाती हैं। नीचे दिए गए प्रतिक्रिया उदाहरण और कंट्रोल ग्रुप ऑब्जेक्ट संदर्भ उस केसिंग का उपयोग करते हैं। code: प्रत्येक कंट्रोल ग्रुप प्रतिक्रिया अपना स्वयं का कोड ले जाती है, जोCreateपर उत्पन्न होता है। इस कोड कोcontrolGroupCodeके रूप मेंGet,UpdatePercentage,UpdateCountries,Rename,Disable,Reshuffle,ForceUpdateCalculation,GetCalculationStatus,GetAnalytics, औरCheckControlGroupMembershipमें पास करें।- कई ग्रुप: एक एप्लीकेशन में कई कंट्रोल ग्रुप हो सकते हैं। प्रत्येक सक्षम ग्रुप अन्य ग्रुप्स से स्वतंत्र रूप से अपने देशों और टैग के भीतर हर मार्केटिंग सेंड से यूज़र्स को होल्ड आउट करता है, और ग्रुप्स आपस में ओवरलैप कर सकते हैं। सेंड किसी ग्रुप को नहीं चुनता। खाली
nameवाला ग्रुप एप्लीकेशन का मूल ग्रुप है और उसी तरह काम करता है।
त्रुटि प्रतिक्रियाएं
Anchor link to| HTTP स्टेटस | अर्थ |
|---|---|
400 Bad Request | अमान्य तर्क, जैसे percentage 1-20 के बाहर, userIds खाली या 1,000 से अधिक प्रविष्टियाँ, एक अपरिचित देश कोड, scopeTag के बिना सेट किया गया scopeValues, scopeTag में ऐसा टैग जो खाते में मौजूद नहीं है, या scopeValues की ऐसी प्रविष्टि जिसे UpdateSettings अस्वीकार करता है (नीचे देखें)। UpdatePercentage, UpdateCountries, UpdateSettings, Disable, Reshuffle, और Delete द्वारा भी लौटाया जाता है (वायर पर FailedPrecondition के रूप में) एक कंट्रोल ग्रुप पर जो एक कैंपेन के अपने होल्ड-आउट से संबंधित है, नीचे दिए गए सावधानी के अनुसार। अकेले Reshuffle भी इस तरह से एक अक्षम (percentage 0) ग्रुप पर मना कर देता है। |
401 Unauthorized | गुम या अमान्य Authorization हेडर। |
403 Forbidden | एप्लीकेशन या कंट्रोल ग्रुप कॉलर के खाते से संबंधित नहीं है। |
404 Not Found | कंट्रोल ग्रुप या एप्लीकेशन नहीं मिला। |
409 Conflict | Create ने एक ऐसे name का उपयोग किया जो एप्लीकेशन में पहले से मौजूद है। |
500 Internal Server Error | अप्रत्याशित सर्वर-साइड विफलता। |
एंडपॉइंट्स
Anchor link to| मेथड | पाथ | विवरण |
|---|---|---|
GET | /api/applications/{code}/control_groups | एक एप्लीकेशन के कंट्रोल ग्रुप्स की सूची बनाएं |
POST | /api/applications/{code}/control_groups | एक कंट्रोल ग्रुप बनाएं |
GET | /api/applications/{code}/control_groups/{control_group_code} | एक सिंगल कंट्रोल ग्रुप प्राप्त करें |
POST | /api/applications/{code}/control_groups/{control_group_code} | एक कंट्रोल ग्रुप का आकार बदलें |
POST | /api/applications/{code}/control_groups/{control_group_code}/countries | एक कंट्रोल ग्रुप को देशों के एक सेट पर फिर से स्कोप करें |
POST | /api/applications/{code}/control_groups/{control_group_code}/settings | आकार, देश और टैग स्कोप, और लाइफ़टाइम मोड एक ही कॉल में लागू करें |
POST | /api/applications/{code}/control_groups/{control_group_code}/display_name | एक कंट्रोल ग्रुप का नाम बदलें |
POST | /api/applications/{code}/control_groups/{control_group_code}/disable | एक कंट्रोल ग्रुप को अक्षम करें |
POST | /api/applications/{code}/control_groups/{control_group_code}/reshuffle | एक कंट्रोल ग्रुप को फिर से शफल करें |
POST | /api/applications/{code}/control_groups/{control_group_code}/recalculate | एक कंट्रोल ग्रुप के आकार की जबरन पुनर्गणना करें |
GET | /api/applications/{code}/control_groups/{control_group_code}/calculation_status | चल रही आकार गणना को पोल करें |
GET | /api/applications/{code}/control_groups/{control_group_code}/analytics | कंट्रोल-बनाम-ट्रीटमेंट एनालिटिक्स प्राप्त करें |
GET | /api/applications/{code}/control_groups/{control_group_code}/cycles | ग्रुप के बंद हो चुके साइकल की सूची बनाएं |
POST | /api/applications/{code}/control_groups/{control_group_code}/membership | यूज़र आईडी के एक बैच के लिए सदस्यता की जांच करें |
DELETE | /api/applications/{code}/control_groups/{control_group_code} | एक कंट्रोल ग्रुप हटाएं |
सूची
Anchor link toएक एप्लीकेशन के लिए कॉन्फ़िगर किए गए प्रत्येक कंट्रोल ग्रुप की सूची बनाता है, पहले बिना नाम वाला मूल ग्रुप।
GET /api/applications/{code}/control_groups
पाथ पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | विवरण |
|---|---|---|
code | string | जिस एप्लीकेशन कोड के लिए कंट्रोल ग्रुप्स की सूची बनानी है। |
प्रतिक्रिया
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
control_groups | कंट्रोल ग्रुप ऑब्जेक्ट्स का ऐरे | एप्लीकेशन के लिए कॉन्फ़िगर किया गया प्रत्येक कंट्रोल ग्रुप। |
बनाएं
Anchor link toएक एप्लीकेशन के लिए एक नामित कंट्रोल ग्रुप बनाता है और इसे इसके उत्पन्न कोड के साथ लौटाता है। नया ग्रुप एप्लीकेशन के अन्य सक्षम ग्रुप्स के साथ-साथ अपने देशों और टैग के भीतर हर मार्केटिंग सेंड से यूज़र्स को होल्ड आउट करता है।
POST /api/applications/{code}/control_groups
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
code | string | हाँ | वह एप्लीकेशन कोड जिसमें ग्रुप बनाना है। |
name | string | हाँ | ग्रुप का नाम, 64 वर्णों तक और बिना कोलन के। एप्लीकेशन के भीतर अद्वितीय होना चाहिए। सदस्यता कुंजी का हिस्सा है, इसलिए यह कभी नहीं बदलता। |
percentage | integer | हाँ | प्रतिशत के रूप में होल्ड-आउट आकार, 1-20। |
segment | string | नहीं | ग्रुप को मापने के लिए Seglang एक्सप्रेशन। पूरे बेस पर मापने के लिए छोड़ दें। |
countries | strings का ऐरे | नहीं | होल्ड-आउट को स्कोप करने के लिए लोअरकेस ISO-3166-1 अल्फा-2 कंट्री कोड। सभी देशों के लिए छोड़ दें। कोड इनपुट पर केस-असंवेदनशील होते हैं। |
scopeTag | string | नहीं | होल्ड-आउट को स्कोप करने के लिए एक स्ट्रिंग या बूलियन टैग, countries के साथ AND किया जाता है। टैग स्कोप न चाहने पर छोड़ दें। नीचे टैग स्कोप देखें। |
scopeValues | strings का ऐरे | नोट देखें | scopeTag के वे मान जो यूज़र को स्कोप में रखते हैं। scopeTag सेट होने पर आवश्यक है, अन्यथा खाली होना चाहिए। |
displayName | string | नहीं | कंट्रोल पैनल में दिखने वाला नाम, 64 वर्णों तक। name दिखाने के लिए छोड़ दें। |
अनुरोध उदाहरण
Anchor link to{ "code": "XXXXX-XXXXX", "name": "Q3 holdout", "percentage": 10}प्रतिक्रिया
Anchor link to{ "group": { ... } } लौटाता है, नया कंट्रोल ग्रुप ऑब्जेक्ट।
प्राप्त करें
Anchor link toएक कंट्रोल ग्रुप को उसके कोड द्वारा लौटाता है, उसके होल्ड-आउट आकार, जनरेशन और उसके पीछे के यूज़र काउंट के साथ।
GET /api/applications/{code}/control_groups/{control_group_code}
पाथ पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | विवरण |
|---|---|---|
code | string | वह एप्लीकेशन कोड जिससे ग्रुप संबंधित है। |
control_group_code | string | कंट्रोल ग्रुप का कोड। |
प्रतिक्रिया
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
group | कंट्रोल ग्रुप ऑब्जेक्ट | अनुरोधित कंट्रोल ग्रुप। |
total_users | integer | एप्लीकेशन में सभी यूज़र्स। |
control_group_users | integer | वर्तमान में होल्ड आउट किए गए यूज़र्स। |
calculation_status | string | TASK_STATUS_NOT_STARTED, TASK_STATUS_IN_PROGRESS, या TASK_STATUS_COMPLETED। |
has_data | boolean | क्या कैश्ड आकार संख्याएं अभी तक उपलब्ध हैं। |
UpdatePercentage
Anchor link toएक कंट्रोल ग्रुप का होल्ड-आउट प्रतिशत (1-20) सेट करता है। आकार बदलने से प्रत्येक मौजूदा सदस्य बना रहता है: होल्ड-आउट फिर से खींचे जाने के बजाय उनके चारों ओर बढ़ता या सिकुड़ता है। इसकी जगह UpdateSettings आ गया है, जो आकार, स्कोप और लाइफ़टाइम मोड एक ही कॉल में लागू करता है, लेकिन यह अब भी समर्थित है।
POST /api/applications/{code}/control_groups/{control_group_code}
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
percentage | integer | हाँ | प्रतिशत के रूप में नया होल्ड-आउट आकार, 1-20। |
प्रतिक्रिया
Anchor link toसफलता पर एक खाली ऑब्जेक्ट: {}।
UpdateCountries
Anchor link toउन देशों को सेट करता है जिन पर एक कंट्रोल ग्रुप का दायरा सीमित है। दायरा बदलने से अपलिफ्ट माप फिर से शुरू हो जाता है, क्योंकि तुलना की जा रही जनसंख्या बदल जाती है। होल्ड-आउट स्वयं फिर से नहीं खींचा जाता है। इसकी जगह UpdateSettings आ गया है, जो टैग स्कोप भी सेट करता है, लेकिन यह अब भी समर्थित है।
POST /api/applications/{code}/control_groups/{control_group_code}/countries
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
countries | strings का ऐरे | हाँ | लोअरकेस ISO-3166-1 अल्फा-2 कंट्री कोड। एक खाली सूची ग्रुप को वापस सभी देशों तक चौड़ा कर देती है। कोड इनपुट पर केस-असंवेदनशील होते हैं। |
अनुरोध उदाहरण
Anchor link to{ "countries": ["us", "ca", "gb"]}प्रतिक्रिया
Anchor link toसफलता पर एक खाली ऑब्जेक्ट: {}।
UpdateSettings
Anchor link toएक कंट्रोल ग्रुप का आकार, देश और टैग स्कोप, और लाइफ़टाइम मोड एक ही कॉल में लागू करता है। जो बदलाव यह तय करता है कि किसे और कितने समय के लिए होल्ड आउट किया जाए (आकार, स्कोप, मोड, रिफ़्रेश अवधि, या समाप्ति तिथि), वह चल रहे साइकल को बंद करके नया साइकल शुरू करता है। मौजूदा मान भेजने से कुछ नहीं बदलता। यह उस कंट्रोल ग्रुप को अस्वीकार करता है जो किसी कैंपेन के अपने होल्ड-आउट से संबंधित है, ठीक UpdatePercentage की तरह।
POST /api/applications/{code}/control_groups/{control_group_code}/settings
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
percentage | integer | हाँ | प्रतिशत के रूप में होल्ड-आउट आकार, 1-20। |
countries | strings का ऐरे | नहीं | लोअरकेस ISO-3166-1 अल्फा-2 कंट्री कोड। एक खाली सूची ग्रुप को वापस सभी देशों तक चौड़ा कर देती है। |
scopeTag | string | नहीं | होल्ड-आउट को स्कोप करने के लिए एक स्ट्रिंग या बूलियन टैग, countries के साथ AND किया जाता है। खाली होने पर टैग स्कोप हट जाता है। नीचे टैग स्कोप देखें। |
scopeValues | strings का ऐरे | नोट देखें | scopeTag के वे मान जो यूज़र को स्कोप में रखते हैं। scopeTag सेट होने पर आवश्यक है, अन्यथा खाली होना चाहिए। |
mode | string | नहीं | सदस्यता का जीवनकाल: CONTROL_GROUP_MODE_PERMANENT (डिफ़ॉल्ट), CONTROL_GROUP_MODE_AUTO_REFRESH, या CONTROL_GROUP_MODE_EXPERIMENT। |
refreshPeriodDays | integer | नोट देखें | दोबारा खींचने के बीच के दिन, 7-365। CONTROL_GROUP_MODE_AUTO_REFRESH के साथ आवश्यक है, अन्यथा छोड़ देना चाहिए। |
endsAt | string (RFC 3339) | नोट देखें | एक्सपेरिमेंट कब बंद होता है, कम से कम 30 दिन आगे। CONTROL_GROUP_MODE_EXPERIMENT के साथ आवश्यक है, अन्यथा छोड़ देना चाहिए। |
हर फ़ील्ड जैसी भेजी जाती है वैसी ही लागू होती है, ठीक UpdateCountries की तरह: खाली countries ग्रुप को वापस सभी देशों तक चौड़ा कर देता है, और खाली scopeTag टैग स्कोप हटा देता है।
प्रतिक्रिया
Anchor link to{ "group": { ... } } लौटाता है, अपडेट किया गया कंट्रोल ग्रुप ऑब्जेक्ट।
टैग स्कोप
Anchor link toएक कंट्रोल ग्रुप केवल उन यूज़र्स को होल्ड आउट कर सकता है जिनका किसी एक स्ट्रिंग या बूलियन टैग का मान आपके चुने हुए सेट में है, और दोनों सेट होने पर इसे countries के साथ AND किया जाता है। इसे Create या UpdateSettings से सेट करें।
scopeTagटैग का नाम बताता है; खाली का मतलब है कोई टैग स्कोप नहीं। यहCountryनहीं हो सकता: देश के अनुसार स्कोपcountriesसे होता है, टैग से नहीं।scopeValuesबताता है किscopeTagके कौन से मान स्कोप में हैं।scopeTagसेट होने पर कम से कम एक मान आवश्यक है, और कोई मान दोहराया नहीं जा सकता। स्ट्रिंग टैग के मान खाली स्ट्रिंग नहीं हो सकते। बूलियन टैग का हर मान"true"या"false"होना चाहिए।- जिस डिवाइस में
scopeTagका कोई मान नहीं है वह स्कोप से बाहर है, ठीक उस डिवाइस की तरह जिसमेंCountryटैग नहीं है। - सदस्यता स्वयं नहीं बदलती: यूज़र्स को असाइन करने वाला फ़ॉर्मूला स्कोप से अछूता रहता है। टैग और देश स्कोप दोनों उसके ऊपर प्रति-डिवाइस जांच हैं, जो यह सीमित करते हैं कि चुने गए यूज़र के कौन से डिवाइस वास्तव में बाहर रखे जाते हैं, न कि यह कि फ़ॉर्मूला किसे चुनता है।
- यूज़र-स्तर का टैग सेट होने पर उस यूज़र के हर डिवाइस पर कॉपी हो जाता है, इसलिए ऊपर की डिवाइस-स्तर की जांच यूज़र-स्तर के टैग को भी कवर करती है, केवल डिवाइस-स्तर के टैग को नहीं।
scopeTagबदलने, याscopeValuesको एक सेट के रूप में बदलने (केवल क्रम बदलना गिना नहीं जाता) पर चल रहा साइकलCONTROL_GROUP_CYCLE_CLOSE_REASON_RESCOPEDके साथ बंद हो जाता है, ठीकcountriesबदलने की तरह। किसी ग्रुप को अक्षम करने पर उसका टैग स्कोप बना रहता है, जैसेcountriesपहले से बना रहता है।
नाम बदलें
Anchor link toएक कंट्रोल ग्रुप के लिए कंट्रोल पैनल में दिखने वाला नाम सेट करता है। name सदस्यता कुंजी का हिस्सा है और नहीं बदलता, इसलिए ग्रुप के वही यूज़र्स और चल रहा साइकल बने रहते हैं।
POST /api/applications/{code}/control_groups/{control_group_code}/display_name
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
code | string | हाँ | वह एप्लीकेशन कोड जिससे ग्रुप संबंधित है। |
controlGroupCode | string | हाँ | कंट्रोल ग्रुप का कोड। |
displayName | string | नहीं | नया नाम, 64 वर्णों तक और एप्लीकेशन के भीतर अद्वितीय। name फिर से दिखाने के लिए खाली स्ट्रिंग भेजें। |
प्रतिक्रिया
Anchor link to{ "group": { ... } } लौटाता है, नाम बदला हुआ कंट्रोल ग्रुप ऑब्जेक्ट।
अक्षम करें
Anchor link toएक कंट्रोल ग्रुप को बंद कर देता है, इसे और इसकी जनरेशन को बनाए रखता है ताकि इसे वापस चालू करने पर एक नया खींचने के बजाय वही होल्ड-आउट बहाल हो जाए।
POST /api/applications/{code}/control_groups/{control_group_code}/disable
प्रतिक्रिया
Anchor link toसफलता पर एक खाली ऑब्जेक्ट: {}।
फिर से शफल करें
Anchor link toएक कंट्रोल ग्रुप के होल्ड-आउट को उसकी जनरेशन को बढ़ाकर फिर से खींचता है। यह एक अलग सैंपल प्राप्त करने का एकमात्र तरीका है: सदस्यता नियतात्मक है, इसलिए अक्षम और पुनः सक्षम करने से बिल्कुल वही पुनरुत्पादित होता है।
POST /api/applications/{code}/control_groups/{control_group_code}/reshuffle
प्रतिक्रिया
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
generation | integer | फिर से शफल के बाद ग्रुप की जनरेशन। |
ForceUpdateCalculation
Anchor link toएक कंट्रोल ग्रुप के आकार की एक नई गिनती शुरू करता है। पहले से कैश्ड नंबर तब तक सर्व किए जाते रहते हैं जब तक कि नई गिनती समाप्त नहीं हो जाती। प्रगति के लिए GetCalculationStatus को पोल करें।
POST /api/applications/{code}/control_groups/{control_group_code}/recalculate
प्रतिक्रिया
Anchor link toसफलता पर एक खाली ऑब्जेक्ट: {}।
GetCalculationStatus
Anchor link toएक आकार गणना चलने के दौरान एक कंट्रोल ग्रुप के केवल बदलते यूज़र काउंट को पोल करता है।
GET /api/applications/{code}/control_groups/{control_group_code}/calculation_status
प्रतिक्रिया
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
total_users | integer | एप्लीकेशन में सभी यूज़र्स। |
control_group_users | integer | होल्ड आउट किए गए यूज़र्स, एप्लीकेशन पर गिने गए। |
calculation_status | string | TASK_STATUS_NOT_STARTED, TASK_STATUS_IN_PROGRESS, या TASK_STATUS_COMPLETED। |
has_data | boolean | क्या कैश्ड आकार संख्याएं उपलब्ध हैं। |
GetAnalytics
Anchor link toएक कंट्रोल ग्रुप के लिए पूर्व-गणना किए गए कंट्रोल-बनाम-ट्रीटमेंट एनालिटिक्स लौटाता है।
GET /api/applications/{code}/control_groups/{control_group_code}/analytics
क्वेरी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
windowDays | string | नहीं | लुकबैक विंडो प्रीसेट: WINDOW_DAYS_3, WINDOW_DAYS_7, या WINDOW_DAYS_30। |
प्रतिक्रिया
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
events | ऑब्जेक्ट्स का ऐरे | प्रति ट्रैक किए गए इवेंट के लिए एक प्रविष्टि, प्रत्येक में event, treatment और control (users, conversions, conversion_rate, events_per_user), uplift_pct, incremental_events, percent_of_treatment, z_score, p_value, confidence_pct, और significance (SIGNIFICANCE_NOT_ENOUGH_DATA, SIGNIFICANCE_NOT_SIGNIFICANT, या SIGNIFICANCE_SIGNIFICANT) के साथ। |
ListControlGroupCycles
Anchor link toएक कंट्रोल ग्रुप के बंद हो चुके साइकल की सूची बनाता है, सबसे नया पहले। हर साइकल वह सदस्यता है जिसके साथ ग्रुप दो सेटिंग बदलावों के बीच चला, साथ में वे सेटिंग्स जिनसे वह खींची गई थी। चल रहा (मौजूदा) साइकल इस सूची में नहीं है। उसकी सेटिंग्स स्वयं कंट्रोल ग्रुप ऑब्जेक्ट पर हैं।
GET /api/applications/{code}/control_groups/{control_group_code}/cycles
प्रतिक्रिया
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
cycles | कंट्रोल ग्रुप साइकल ऑब्जेक्ट्स का ऐरे | सबसे नया पहले। |
कंट्रोल ग्रुप साइकल ऑब्जेक्ट
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
cycle_number | integer | ग्रुप के भीतर क्रमिक; ग्रुप का अपना cycle_number वह है जो यहां बंद हुए आखिरी साइकल के बाद आता है। |
mode | string | इस साइकल के दौरान ग्रुप जिस लाइफ़टाइम मोड में चला: CONTROL_GROUP_MODE_PERMANENT, CONTROL_GROUP_MODE_AUTO_REFRESH, या CONTROL_GROUP_MODE_EXPERIMENT। |
generation | integer | इस साइकल के दौरान ग्रुप की जनरेशन। |
percentage | integer | इस साइकल के दौरान होल्ड-आउट आकार। |
countries | strings का ऐरे | इस साइकल के दौरान देश स्कोप; खाली सभी देश हैं। |
started_at / ended_at | string (RFC 3339) | यह साइकल कब चला। |
close_reason | string | साइकल क्यों खत्म हुआ: CONTROL_GROUP_CYCLE_CLOSE_REASON_ROLLOVER, _EXPIRED, _RESHUFFLED, _RESIZED, _RESCOPED, _MODE_CHANGED, या _DISABLED। |
scope_tag | string | वह टैग जिस पर साइकल का होल्ड-आउट स्कोप किया गया था, countries के साथ AND किया गया। टैग स्कोप न होने पर और टैग स्कोप आने से पहले बंद हुए हर साइकल के लिए खाली, भले ही ग्रुप में बाद में टैग स्कोप रहा हो। |
scope_values | strings का ऐरे | इस साइकल के दौरान scope_tag के वे मान जो यूज़र को स्कोप में रखते हैं; केवल scope_tag के साथ ही सेट होते हैं। |
CheckControlGroupMembership
Anchor link toप्रत्येक यूज़र आईडी के लिए रिपोर्ट करता है कि क्या यह अभी एक कंट्रोल ग्रुप द्वारा होल्ड आउट है। सदस्यता केवल आईडी से गणना की जाती है। कोई यूज़र रिकॉर्ड नहीं पढ़ा जाता है, इसलिए एक आईडी जिसे एप्लीकेशन ने कभी नहीं देखा है, उसका भी उत्तर दिया जाता है, और एक अक्षम ग्रुप त्रुटि के बजाय प्रत्येक आईडी के लिए false उत्तर देता है। देश या टैग स्कोप वाला ग्रुप किसी यूज़र को तभी होल्ड आउट करता है जब उसका कोई डिवाइस उस स्कोप में हो, इसलिए वहां अनदेखा आईडी (जिसका कोई डिवाइस नहीं) false लौटता है, जबकि वही आईडी बिना स्कोप वाले ग्रुप पर true लौटता। पूरे ग्रुप को निर्यात करने के बजाय इसका उपयोग किसी विशिष्ट सेंड या इम्पोर्ट के यूज़र्स की जांच के लिए करें।
POST /api/applications/{code}/control_groups/{control_group_code}/membership
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
userIds | strings का ऐरे | हाँ | जांचने के लिए यूज़र आईडी, प्रति कॉल अधिकतम 1,000। |
अनुरोध उदाहरण
Anchor link to{ "userIds": ["user-1", "user-2", "user-3"]}प्रतिक्रिया
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
users | ऑब्जेक्ट्स का ऐरे | प्रति अनुरोधित आईडी के लिए एक प्रविष्टि, उसी क्रम में जिसमें वे दिए गए थे (डुप्लिकेट शामिल)। प्रत्येक में user_id (स्ट्रिंग) और in_control_group (बूलियन) होता है। |
प्रतिक्रिया उदाहरण
Anchor link to{ "users": [ { "user_id": "user-1", "in_control_group": false }, { "user_id": "user-2", "in_control_group": true }, { "user_id": "user-3", "in_control_group": false } ]}हटाएं
Anchor link toएक कंट्रोल ग्रुप को पूरी तरह से हटा देता है। यह यूज़र्स को होल्ड आउट करना बंद कर देता है, और इसके आँकड़े अब खोले नहीं जा सकते। एप्लीकेशन के अन्य ग्रुप्स काम करते रहते हैं।
DELETE /api/applications/{code}/control_groups/{control_group_code}
प्रतिक्रिया
Anchor link toसफलता पर एक खाली ऑब्जेक्ट: {}।
कंट्रोल ग्रुप ऑब्जेक्ट
Anchor link to| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
code | string | कंट्रोल ग्रुप कोड (प्रारूप XXXXX-XXXXX), ग्रुप के जीवनकाल के लिए स्थिर। |
name | string | ग्रुप का नाम, सदस्यता कुंजी का हिस्सा। खाली एप्लीकेशन का मूल, अनाम ग्रुप है। |
display_name | string | कंट्रोल पैनल में दिखने वाला नाम। खाली होने पर name दिखता है, और अनाम ग्रुप Global के रूप में दिखता है। |
segment | string | Seglang एक्सप्रेशन जिस पर ग्रुप को मापा जाता है; खाली पूरा बेस है। |
percentage | integer | प्रतिशत के रूप में होल्ड-आउट आकार, 1-20। शून्य का मतलब है कि ग्रुप बंद है। |
enabled | boolean | क्या ग्रुप वर्तमान में यूज़र्स को होल्ड आउट कर रहा है। |
generation | integer | प्रत्येक फिर से शफल द्वारा बढ़ाया जाता है; 0 का मतलब है कि कभी भी फिर से शफल नहीं किया गया। |
last_modified_at | string (RFC 3339) | जब ग्रुप की सेटिंग्स आखिरी बार बदली गई थीं। |
last_modified_by | string | उस यूज़र का ईमेल जिसने आखिरी बार ग्रुप को बदला था। |
application_id | integer | एप्लीकेशन की संख्यात्मक आईडी, सदस्यता कुंजी <application_id>:<generation>:<name>:<user_id> का पहला भाग जिसे CheckControlGroupMembership यह तय करने के लिए हैश करता है कि कोई यूज़र होल्ड आउट है या नहीं। |
countries | strings का ऐरे | लोअरकेस ISO-3166-1 अल्फा-2 कंट्री कोड जिन पर होल्ड-आउट का दायरा सीमित है। खाली सभी देश हैं। |
scope_tag | string | वह टैग जिस पर होल्ड-आउट स्कोप किया गया है, countries के साथ AND किया गया; खाली का मतलब कोई टैग स्कोप नहीं। टैग स्कोप देखें। |
scope_values | strings का ऐरे | scope_tag के वे मान जो यूज़र को स्कोप में रखते हैं; बूलियन टैग "true" और "false" का उपयोग करता है। |