বিষয়বস্তুতে যান

কন্ট্রোল গ্রুপস API

একটি কন্ট্রোল গ্রুপ হল একটি অ্যাপ্লিকেশনের ব্যবহারকারীদের একটি হোল্ড-আউট অংশ যারা কখনও মার্কেটিং বার্তা পায় না, যাতে মেসেজিংয়ের প্রভাব এর বিরুদ্ধে পরিমাপ করা যায়। এই API কন্ট্রোল গ্রুপ পরিচালনা করে এবং প্রতি-ব্যবহারকারী সদস্যপদের উত্তর দেয়। এটি আপনার নিজের সিস্টেম থেকে কন্ট্রোল প্যানেলের সেটিংস > কন্ট্রোল গ্রুপ অ্যাকশনগুলি অনুকরণ করতে ব্যবহার করুন, অথবা পাঠানোর বা ইম্পোর্ট করার আগে নির্দিষ্ট ইউজার আইডিগুলি হোল্ড আউট করা হয়েছে কিনা তা পরীক্ষা করতে ব্যবহার করুন।

বেস URL

Anchor link to
https://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 ১-২০ এর বাইরে, userIds খালি বা ১,০০০ এর বেশি এন্ট্রি, একটি অস্বীকৃত দেশের কোড, scopeTag ছাড়া scopeValues সেট করা, scopeTag এমন একটি ট্যাগের নাম দেওয়া যা অ্যাকাউন্টে নেই, অথবা scopeValues-এর এমন একটি এন্ট্রি যা UpdateSettings প্রত্যাখ্যান করে (নীচে দেখুন)। নীচের সতর্কতা অনুযায়ী, একটি ক্যাম্পেইনের নিজস্ব হোল্ড-আউটের অন্তর্গত একটি কন্ট্রোল গ্রুপে UpdatePercentage, UpdateCountries, UpdateSettings, Disable, Reshuffle, এবং Delete দ্বারাও এটি ফেরত দেওয়া হয় (তারের উপর একটি FailedPrecondition হিসাবে)। শুধুমাত্র Reshuffle একটি নিষ্ক্রিয় (percentage ০) গ্রুপে এই ভাবে প্রত্যাখ্যান করে।
401 Unauthorizedঅনুপস্থিত বা অবৈধ Authorization হেডার।
403 Forbiddenঅ্যাপ্লিকেশন বা কন্ট্রোল গ্রুপটি কলারের অ্যাকাউন্টের অন্তর্গত নয়।
404 Not Foundকন্ট্রোল গ্রুপ বা অ্যাপ্লিকেশন পাওয়া যায়নি।
409 ConflictCreate একটি 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
প্যারামিটারটাইপবর্ণনা
codestringযে অ্যাপ্লিকেশন কোড এর জন্য কন্ট্রোল গ্রুপ তালিকাভুক্ত করতে হবে।

প্রতিক্রিয়া

Anchor link to
ফিল্ডটাইপবর্ণনা
control_groupsকন্ট্রোল গ্রুপ অবজেক্ট এর অ্যারেঅ্যাপ্লিকেশনের জন্য কনফিগার করা প্রতিটি কন্ট্রোল গ্রুপ।

তৈরি করুন

Anchor link to

একটি অ্যাপ্লিকেশনের জন্য একটি নামযুক্ত কন্ট্রোল গ্রুপ তৈরি করে এবং তার জেনারেটেড কোড সহ এটি ফেরত দেয়। নতুন গ্রুপটি অ্যাপ্লিকেশনের অন্যান্য সক্রিয় গ্রুপের পাশাপাশি নিজস্ব দেশ ও ট্যাগের মধ্যে প্রতিটি মার্কেটিং সেন্ড থেকে ব্যবহারকারীদের হোল্ড আউট করে।

POST /api/applications/{code}/control_groups

অনুরোধের বডি

Anchor link to
প্যারামিটারটাইপপ্রয়োজনীয়বর্ণনা
codestringহ্যাঁযে অ্যাপ্লিকেশন কোডে গ্রুপটি তৈরি করতে হবে।
namestringহ্যাঁগ্রুপের নাম, ৬৪ অক্ষর পর্যন্ত এবং কোলন ছাড়া। অ্যাপ্লিকেশনের মধ্যে অবশ্যই অনন্য হতে হবে। সদস্যপদ কী-এর অংশ, তাই এটি কখনও পরিবর্তিত হয় না।
percentageintegerহ্যাঁহোল্ড-আউট আকার শতাংশ হিসাবে, ১-২০।
segmentstringনাগ্রুপটি পরিমাপ করার জন্য Seglang এক্সপ্রেশন। পুরো বেসের উপর পরিমাপ করতে বাদ দিন।
countriesstrings এর অ্যারেনাহোল্ড-আউট স্কোপ করার জন্য ছোট হাতের ISO-3166-1 alpha-2 দেশের কোড। সমস্ত দেশের জন্য বাদ দিন। ইনপুটে কোডগুলি কেস-ইনসেনসিটিভ।
scopeTagstringনাহোল্ড-আউট স্কোপ করার জন্য একটি string বা boolean ট্যাগ, countries-এর সাথে AND করা। ট্যাগ স্কোপ না চাইলে বাদ দিন। নীচে ট্যাগ স্কোপ দেখুন।
scopeValuesstrings এর অ্যারেনোট দেখুনscopeTag-এর যেসব মান একজন ব্যবহারকারীকে স্কোপে রাখে। scopeTag সেট করা থাকলে এটি প্রয়োজনীয়, অন্যথায় অবশ্যই খালি হতে হবে।
displayNamestringনাকন্ট্রোল প্যানেলে যে নাম দেখানো হয়, ৬৪ অক্ষর পর্যন্ত। name দেখাতে বাদ দিন।
অনুরোধের উদাহরণ
Anchor link to
{
"code": "XXXXX-XXXXX",
"name": "Q3 holdout",
"percentage": 10
}

প্রতিক্রিয়া

Anchor link to

{ "group": { ... } } ফেরত দেয়, নতুন কন্ট্রোল গ্রুপ অবজেক্ট।

একটি কন্ট্রোল গ্রুপ তার কোড দ্বারা ফেরত দেয়, তার হোল্ড-আউট আকার, জেনারেশন এবং এর পেছনের ব্যবহারকারী গণনা সহ।

GET /api/applications/{code}/control_groups/{control_group_code}

পাথ প্যারামিটার

Anchor link to
প্যারামিটারটাইপবর্ণনা
codestringযে অ্যাপ্লিকেশন কোডের গ্রুপটি অন্তর্গত।
control_group_codestringকন্ট্রোল গ্রুপের কোড।

প্রতিক্রিয়া

Anchor link to
ফিল্ডটাইপবর্ণনা
groupকন্ট্রোল গ্রুপ অবজেক্টঅনুরোধ করা কন্ট্রোল গ্রুপ।
total_usersintegerঅ্যাপ্লিকেশনের সমস্ত ব্যবহারকারী।
control_group_usersintegerবর্তমানে হোল্ড আউট করা ব্যবহারকারী।
calculation_statusstringTASK_STATUS_NOT_STARTED, TASK_STATUS_IN_PROGRESS, বা TASK_STATUS_COMPLETED।
has_databooleanক্যাশ করা আকারের সংখ্যা এখনও উপলব্ধ কিনা।

UpdatePercentage

Anchor link to

একটি কন্ট্রোল গ্রুপের হোল্ড-আউট শতাংশ (১-২০) সেট করে। আকার পরিবর্তন করা প্রতিটি বিদ্যমান সদস্যকে রাখে: হোল্ড-আউটটি পুনরায় আঁকার পরিবর্তে তাদের চারপাশে বৃদ্ধি বা সঙ্কুচিত হয়। UpdateSettings দ্বারা প্রতিস্থাপিত, যা আকার, স্কোপ ও লাইফটাইম মোড একটি কলে প্রয়োগ করে, তবে এটি এখনও সমর্থিত।

POST /api/applications/{code}/control_groups/{control_group_code}

অনুরোধের বডি

Anchor link to
প্যারামিটারটাইপপ্রয়োজনীয়বর্ণনা
percentageintegerহ্যাঁনতুন হোল্ড-আউট আকার শতাংশ হিসাবে, ১-২০।

প্রতিক্রিয়া

Anchor link to

সফল হলে একটি খালি অবজেক্ট: {}।

UpdateCountries

Anchor link to

একটি কন্ট্রোল গ্রুপ যে দেশগুলিতে স্কোপ করা হয়েছে তা সেট করে। স্কোপ পরিবর্তন করা আপলিফ্ট পরিমাপ পুনরায় শুরু করে, কারণ যে জনসংখ্যার তুলনা করা হচ্ছে তা পরিবর্তিত হয়। হোল্ড-আউটটি নিজে পুনরায় আঁকা হয় না। UpdateSettings দ্বারা প্রতিস্থাপিত, যা একটি ট্যাগ স্কোপ-ও সেট করে, তবে এটি এখনও সমর্থিত।

POST /api/applications/{code}/control_groups/{control_group_code}/countries

অনুরোধের বডি

Anchor link to
প্যারামিটারটাইপপ্রয়োজনীয়বর্ণনা
countriesstrings এর অ্যারেহ্যাঁছোট হাতের ISO-3166-1 alpha-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
প্যারামিটারটাইপপ্রয়োজনীয়বর্ণনা
percentageintegerহ্যাঁহোল্ড-আউট আকার শতাংশ হিসাবে, ১-২০।
countriesstrings এর অ্যারেনাছোট হাতের ISO-3166-1 alpha-2 দেশের কোড। খালি তালিকা গ্রুপটিকে আবার সমস্ত দেশে প্রসারিত করে।
scopeTagstringনাহোল্ড-আউট স্কোপ করার জন্য একটি string বা boolean ট্যাগ, countries-এর সাথে AND করা। খালি হলে ট্যাগ স্কোপ সরে যায়। নীচে ট্যাগ স্কোপ দেখুন।
scopeValuesstrings এর অ্যারেনোট দেখুনscopeTag-এর যেসব মান একজন ব্যবহারকারীকে স্কোপে রাখে। scopeTag সেট করা থাকলে এটি প্রয়োজনীয়, অন্যথায় অবশ্যই খালি হতে হবে।
modestringনাসদস্যপদের লাইফটাইম: CONTROL_GROUP_MODE_PERMANENT (ডিফল্ট), CONTROL_GROUP_MODE_AUTO_REFRESH, অথবা CONTROL_GROUP_MODE_EXPERIMENT।
refreshPeriodDaysintegerনোট দেখুনপুনরায় আঁকার মধ্যবর্তী দিন, ৭-৩৬৫। CONTROL_GROUP_MODE_AUTO_REFRESH-এর সাথে প্রয়োজনীয়, অন্যথায় অবশ্যই বাদ দিতে হবে।
endsAtstring (RFC 3339)নোট দেখুনকখন একটি এক্সপেরিমেন্ট বন্ধ হবে, কমপক্ষে ৩০ দিন আগে। CONTROL_GROUP_MODE_EXPERIMENT-এর সাথে প্রয়োজনীয়, অন্যথায় অবশ্যই বাদ দিতে হবে।

প্রতিটি ফিল্ড যেমন পাঠানো হয় তেমনই প্রয়োগ করা হয়, UpdateCountries-এর মতো: খালি countries গ্রুপটিকে আবার সমস্ত দেশে প্রসারিত করে, এবং খালি scopeTag ট্যাগ স্কোপ সরিয়ে দেয়।

প্রতিক্রিয়া

Anchor link to

{ "group": { ... } } ফেরত দেয়, অর্থাৎ আপডেট করা কন্ট্রোল গ্রুপ অবজেক্ট।

ট্যাগ স্কোপ

Anchor link to

একটি কন্ট্রোল গ্রুপ শুধু সেই ব্যবহারকারীদের হোল্ড আউট করতে পারে যাদের একটি string বা boolean ট্যাগের মান আপনার বেছে নেওয়া সেটের মধ্যে আছে, দুটিই সেট করা থাকলে countries-এর সাথে AND করা। এটি তৈরি করুন বা UpdateSettings দিয়ে সেট করুন।

  • scopeTag ট্যাগের নাম দেয়; খালি মানে ট্যাগ স্কোপ নেই। এটি Country হতে পারে না: দেশ অনুযায়ী স্কোপ countries দিয়ে হয়, ট্যাগ দিয়ে নয়।
  • scopeValues তালিকাভুক্ত করে scopeTag-এর কোন মানগুলি স্কোপে আছে। scopeTag সেট করা থাকলে কমপক্ষে একটি প্রয়োজনীয়, এবং কোনোটি পুনরাবৃত্তি করা যাবে না। একটি string ট্যাগের মান খালি স্ট্রিং হতে পারে না। একটি boolean ট্যাগের প্রতিটি মান অবশ্যই "true" বা "false" হতে হবে।
  • scopeTag-এর কোনো মান নেই এমন একটি ডিভাইস স্কোপের বাইরে, যেমন Country ট্যাগ নেই এমন ডিভাইস।
  • সদস্যপদ নিজে বদলায় না: ব্যবহারকারীদের নির্ধারণকারী সূত্র স্কোপ দ্বারা অপরিবর্তিত থাকে। ট্যাগ ও দেশ স্কোপ দুটিই এর উপরে প্রতি-ডিভাইস যাচাই, যা নির্বাচিত ব্যবহারকারীর কোন ডিভাইসগুলি আসলে বাদ যাবে তা সংকীর্ণ করে, সূত্র কাদের নির্বাচন করে তা নয়।
  • একটি ব্যবহারকারী-স্তরের ট্যাগ সেট করার সময় সেই ব্যবহারকারীর প্রতিটি ডিভাইসে কপি হয়, তাই উপরের ডিভাইস-স্তরের যাচাই ব্যবহারকারী-স্তরের ট্যাগও কভার করে, শুধু ডিভাইস-স্তরের নয়।
  • scopeTag পরিবর্তন করলে, বা scopeValues সেট হিসাবে পরিবর্তন করলে (শুধু ক্রম বদলালে গণ্য হয় না), countries পরিবর্তনের মতোই চলমান সাইকেল CONTROL_GROUP_CYCLE_CLOSE_REASON_RESCOPED দিয়ে বন্ধ হয়। একটি গ্রুপ নিষ্ক্রিয় করলে তার ট্যাগ স্কোপ থেকে যায়, যেমন countries থেকে যায়।

নাম পরিবর্তন

Anchor link to

একটি কন্ট্রোল গ্রুপের জন্য কন্ট্রোল প্যানেলে যে নাম দেখানো হয় তা সেট করে। name সদস্যপদ কী-এর অংশ এবং পরিবর্তিত হয় না, তাই গ্রুপটি একই ব্যবহারকারী এবং তার চলমান সাইকেল রাখে।

POST /api/applications/{code}/control_groups/{control_group_code}/display_name

অনুরোধের বডি

Anchor link to
প্যারামিটারটাইপপ্রয়োজনীয়বর্ণনা
codestringহ্যাঁযে অ্যাপ্লিকেশন কোডের অন্তর্গত গ্রুপটি।
controlGroupCodestringহ্যাঁকন্ট্রোল গ্রুপের কোড।
displayNamestringনানতুন নাম, ৬৪ অক্ষর পর্যন্ত এবং অ্যাপ্লিকেশনের মধ্যে অনন্য। আবার 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
ফিল্ডটাইপবর্ণনা
generationintegerরিশাফলের পরে গ্রুপের জেনারেশন।

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_usersintegerঅ্যাপ্লিকেশনের সমস্ত ব্যবহারকারী।
control_group_usersintegerহোল্ড আউট করা ব্যবহারকারী, অ্যাপ্লিকেশন জুড়ে গণনা করা হয়।
calculation_statusstringTASK_STATUS_NOT_STARTED, TASK_STATUS_IN_PROGRESS, বা TASK_STATUS_COMPLETED।
has_databooleanক্যাশ করা আকারের সংখ্যা উপলব্ধ কিনা।

GetAnalytics

Anchor link to

একটি কন্ট্রোল গ্রুপের জন্য পূর্ব-গণনা করা কন্ট্রোল-বনাম-ট্রিটমেন্ট বিশ্লেষণ ফেরত দেয়।

GET /api/applications/{code}/control_groups/{control_group_code}/analytics

কোয়েরি প্যারামিটার

Anchor link to
প্যারামিটারটাইপপ্রয়োজনীয়বর্ণনা
windowDaysstringনালুকব্যাক উইন্ডো প্রিসেট: 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_numberintegerগ্রুপের মধ্যে ক্রমিক; গ্রুপের নিজস্ব cycle_number হল এখানে সর্বশেষ বন্ধ হওয়াটির পরেরটি।
modestringএই সাইকেলে গ্রুপ যে লাইফটাইম মোডে চলেছিল: CONTROL_GROUP_MODE_PERMANENT, CONTROL_GROUP_MODE_AUTO_REFRESH, অথবা CONTROL_GROUP_MODE_EXPERIMENT।
generationintegerএই সাইকেলের সময় গ্রুপের জেনারেশন।
percentageintegerএই সাইকেলের সময় হোল্ড-আউট আকার।
countriesstrings এর অ্যারেএই সাইকেলের সময় দেশ স্কোপ; খালি হল সমস্ত দেশ।
started_at / ended_atstring (RFC 3339)এই সাইকেল কখন চলেছিল।
close_reasonstringসাইকেল কেন শেষ হয়েছিল: CONTROL_GROUP_CYCLE_CLOSE_REASON_ROLLOVER, _EXPIRED, _RESHUFFLED, _RESIZED, _RESCOPED, _MODE_CHANGED, অথবা _DISABLED।
scope_tagstringযে ট্যাগে সাইকেলের হোল্ড-আউট স্কোপ করা ছিল, countries-এর সাথে AND করা। ট্যাগ স্কোপ না থাকলে এবং ট্যাগ স্কোপ চালুর আগে বন্ধ হওয়া প্রতিটি সাইকেলের জন্য খালি, এমনকি গ্রুপের পরে একটি থাকলেও।
scope_valuesstrings এর অ্যারেএই সাইকেলের সময় scope_tag-এর যেসব মান একজন ব্যবহারকারীকে স্কোপে রাখে; শুধু scope_tag-এর সাথে সেট করা হয়।

CheckControlGroupMembership

Anchor link to

প্রতিটি ব্যবহারকারী আইডির জন্য রিপোর্ট করে যে এটি এখন একটি কন্ট্রোল গ্রুপ দ্বারা হোল্ড আউট করা হয়েছে কিনা। সদস্যপদ শুধুমাত্র আইডি থেকে গণনা করা হয়। কোনো ব্যবহারকারী রেকর্ড পড়া হয় না, তাই একটি আইডি যা অ্যাপ্লিকেশনটি কখনও দেখেনি তারও উত্তর দেওয়া হয়, এবং একটি নিষ্ক্রিয় গ্রুপ প্রতিটি আইডির জন্য একটি ত্রুটির পরিবর্তে false উত্তর দেয়। দেশ বা ট্যাগ স্কোপ সহ একটি গ্রুপ একজন ব্যবহারকারীকে শুধু তখনই হোল্ড আউট করে যদি তাদের কোনো ডিভাইস সেই স্কোপে থাকে, তাই একটি অদেখা আইডি (কোনো ডিভাইসই নেই) সেখানে false ফেরত আসে, যদিও একই আইডি স্কোপহীন গ্রুপে true আসত। একটি নির্দিষ্ট সেন্ড বা ইম্পোর্টের ব্যবহারকারীদের পরীক্ষা করার জন্য পুরো গ্রুপটি এক্সপোর্ট করার পরিবর্তে এটি ব্যবহার করুন।

POST /api/applications/{code}/control_groups/{control_group_code}/membership

অনুরোধের বডি

Anchor link to
প্যারামিটারটাইপপ্রয়োজনীয়বর্ণনা
userIdsstrings এর অ্যারেহ্যাঁপরীক্ষা করার জন্য ব্যবহারকারী আইডি, প্রতি কলে সর্বাধিক ১,০০০।
অনুরোধের উদাহরণ
Anchor link to
{
"userIds": ["user-1", "user-2", "user-3"]
}

প্রতিক্রিয়া

Anchor link to
ফিল্ডটাইপবর্ণনা
usersঅবজেক্টের অ্যারেঅনুরোধ করা প্রতিটি আইডির জন্য একটি এন্ট্রি, যে ক্রমে সেগুলি দেওয়া হয়েছিল (ডুপ্লিকেট সহ)। প্রতিটিতে user_id (string) এবং in_control_group (boolean) থাকে।
প্রতিক্রিয়ার উদাহরণ
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
ফিল্ডটাইপবর্ণনা
codestringকন্ট্রোল গ্রুপ কোড (ফরম্যাট XXXXX-XXXXX), গ্রুপের জীবনকালের জন্য স্থিতিশীল।
namestringগ্রুপের নাম, সদস্যপদ কী-এর অংশ। খালি হল অ্যাপ্লিকেশনের আসল, নামহীন গ্রুপ।
display_namestringকন্ট্রোল প্যানেলে যে নাম দেখানো হয়। খালি হলে name দেখায়, এবং নামহীন গ্রুপকে Global হিসাবে।
segmentstringSeglang এক্সপ্রেশন যার উপর গ্রুপটি পরিমাপ করা হয়; খালি হল পুরো বেস।
percentageintegerহোল্ড-আউট আকার শতাংশ হিসাবে, ১-২০। শূন্য মানে গ্রুপটি বন্ধ।
enabledbooleanগ্রুপটি বর্তমানে ব্যবহারকারীদের হোল্ড আউট করছে কিনা।
generationintegerপ্রতিটি রিশাফলে বৃদ্ধি পায়; 0 মানে কখনও রিশাফল করা হয়নি।
last_modified_atstring (RFC 3339)যখন গ্রুপের সেটিংস শেষবার পরিবর্তন করা হয়েছিল।
last_modified_bystringযে ব্যবহারকারী শেষবার গ্রুপটি পরিবর্তন করেছিলেন তার ইমেল।
application_idintegerঅ্যাপ্লিকেশনের সংখ্যাসূচক আইডি, সদস্যপদ কী <application_id>:<generation>:<name>:<user_id> এর প্রথম অংশ যা CheckControlGroupMembership হ্যাশ করে সিদ্ধান্ত নেয় যে একজন ব্যবহারকারী হোল্ড আউট করা হয়েছে কিনা।
countriesstrings এর অ্যারেছোট হাতের ISO-3166-1 alpha-2 দেশের কোড যেখানে হোল্ড-আউট স্কোপ করা হয়েছে। খালি হল সমস্ত দেশ।
scope_tagstringযে ট্যাগে হোল্ড-আউট স্কোপ করা আছে, countries-এর সাথে AND করা; খালি হলে ট্যাগ স্কোপ নেই। ট্যাগ স্কোপ দেখুন।
scope_valuesstrings এর অ্যারেscope_tag-এর যেসব মান একজন ব্যবহারকারীকে স্কোপে রাখে; একটি boolean ট্যাগ "true" ও "false" ব্যবহার করে।

সম্পর্কিত

Anchor link to