컨트롤 그룹 API
컨트롤 그룹은 마케팅 메시지를 절대 받지 않는 애플리케이션 사용자의 홀드아웃(hold-out)된 일부로, 이를 통해 메시징 효과를 측정할 수 있습니다. 이 API는 컨트롤 그룹을 관리하고 사용자별 멤버십을 확인합니다. 이 API를 사용하여 자체 시스템에서 Control Panel의 설정 > 컨트롤 그룹 작업을 미러링하거나, 전송 또는 가져오기 전에 특정 User ID가 홀드아웃되었는지 확인할 수 있습니다.
기본 URL
Anchor link tohttps://rpc-api.svc-nue.pushwoosh.com모든 엔드포인트는 HTTPS를 통해 제공됩니다. 요청과 응답은 별도의 언급이 없는 한 application/json을 사용합니다.
모든 요청에는 서버 API 토큰이 포함된 Authorization 헤더가 있어야 합니다:
Authorization: Api YOUR_API_TOKEN- 필드 이름 지정: 요청 본문 및 쿼리/경로 매개변수는
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로 지정함, 또는 UpdateSettings가 거부하는 scopeValues 항목(아래 참조)). 아래 주의사항에 따라 캠페인의 자체 홀드아웃에 속한 컨트롤 그룹에 대해 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 | 컨트롤 그룹 vs. 실험 그룹 분석 데이터 조회 |
GET | /api/applications/{code}/control_groups/{control_group_code}/cycles | 그룹의 종료된 사이클 목록 조회 |
POST | /api/applications/{code}/control_groups/{control_group_code}/membership | 사용자 ID 배치에 대한 멤버십 확인 |
DELETE | /api/applications/{code}/control_groups/{control_group_code} | 컨트롤 그룹 삭제 |
목록 조회
Anchor link to애플리케이션에 구성된 모든 컨트롤 그룹의 목록을 조회하며, 이름 없는 원래 그룹이 맨 앞에 옵니다.
GET /api/applications/{code}/control_groups
경로 매개변수
Anchor link to| 매개변수 | 타입 | 설명 |
|---|---|---|
code | string | 컨트롤 그룹 목록을 조회할 애플리케이션 코드입니다. |
| 필드 | 타입 | 설명 |
|---|---|---|
control_groups | 컨트롤 그룹 객체 배열 | 애플리케이션에 구성된 모든 컨트롤 그룹입니다. |
애플리케이션에 대한 이름이 지정된 컨트롤 그룹을 생성하고 생성된 코드와 함께 반환합니다. 새 그룹은 애플리케이션의 다른 활성화된 그룹과 함께, 자체 국가와 태그 범위 내에서 모든 마케팅 전송에서 사용자를 홀드아웃합니다.
POST /api/applications/{code}/control_groups
요청 본문
Anchor link to| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
code | string | 예 | 그룹을 생성할 애플리케이션 코드입니다. |
name | string | 예 | 그룹 이름, 최대 64자이며 콜론을 포함할 수 없습니다. 애플리케이션 내에서 고유해야 합니다. 멤버십 키의 일부이므로 절대 변경되지 않습니다. |
percentage | integer | 예 | 홀드아웃 크기를 백분율(1-20)로 나타냅니다. |
segment | string | 아니요 | 그룹을 측정할 Seglang 표현식입니다. 전체 기반에 대해 측정하려면 생략하십시오. |
countries | string 배열 | 아니요 | 홀드아웃 범위를 지정할 소문자 ISO-3166-1 alpha-2 국가 코드입니다. 모든 국가에 대해 적용하려면 생략하십시오. 코드는 입력 시 대소문자를 구분하지 않습니다. |
scopeTag | string | 아니요 | 홀드아웃 범위를 지정할 string 또는 boolean 태그이며, countries와 AND로 결합됩니다. 태그 범위를 지정하지 않으려면 생략하십시오. 아래 태그 범위를 참조하십시오. |
scopeValues | string 배열 | 참고 참조 | 사용자를 범위에 포함시키는 scopeTag의 값입니다. scopeTag가 설정된 경우 필수이며, 그렇지 않으면 비어 있어야 합니다. |
displayName | string | 아니요 | Control Panel에 표시되는 이름, 최대 64자입니다. 생략하면 name이 표시됩니다. |
요청 예시
Anchor link to{ "code": "XXXXX-XXXXX", "name": "Q3 holdout", "percentage": 10}{ "group": { ... } }, 즉 새로운 컨트롤 그룹 객체를 반환합니다.
코드별로 하나의 컨트롤 그룹을 반환하며, 홀드아웃 크기, 생성(generation), 그리고 그 뒤에 있는 사용자 수를 포함합니다.
GET /api/applications/{code}/control_groups/{control_group_code}
경로 매개변수
Anchor link to| 매개변수 | 타입 | 설명 |
|---|---|---|
code | string | 그룹이 속한 애플리케이션 코드입니다. |
control_group_code | string | 컨트롤 그룹의 코드입니다. |
| 필드 | 타입 | 설명 |
|---|---|---|
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 | 캐시된 크기 숫자를 아직 사용할 수 있는지 여부입니다. |
백분율 업데이트
Anchor link to하나의 컨트롤 그룹의 홀드아웃 백분율(1-20)을 설정합니다. 크기를 조정해도 기존의 모든 멤버는 유지됩니다. 즉, 홀드아웃은 다시 그려지는 대신 기존 멤버를 중심으로 커지거나 작아집니다. 크기, 범위, 수명 모드를 한 번의 호출로 적용하는 설정 업데이트로 대체되었지만 계속 지원됩니다.
POST /api/applications/{code}/control_groups/{control_group_code}
요청 본문
Anchor link to| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
percentage | integer | 예 | 새로운 홀드아웃 크기를 백분율(1-20)로 나타냅니다. |
성공 시 빈 객체 {}를 반환합니다.
국가 업데이트
Anchor link to하나의 컨트롤 그룹이 적용되는 국가를 설정합니다. 범위를 변경하면 비교 대상 모집단이 변경되므로 상승도(uplift) 측정이 다시 시작됩니다. 홀드아웃 자체는 다시 그려지지 않습니다. 태그 범위도 설정하는 설정 업데이트로 대체되었지만 계속 지원됩니다.
POST /api/applications/{code}/control_groups/{control_group_code}/countries
요청 본문
Anchor link to| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
countries | string 배열 | 예 | 소문자 ISO-3166-1 alpha-2 국가 코드입니다. 빈 목록은 그룹의 범위를 모든 국가로 다시 넓힙니다. 코드는 입력 시 대소문자를 구분하지 않습니다. |
요청 예시
Anchor link to{ "countries": ["us", "ca", "gb"]}성공 시 빈 객체 {}를 반환합니다.
설정 업데이트
Anchor link to컨트롤 그룹의 크기, 국가 및 태그 범위, 수명 모드를 한 번의 호출로 적용합니다. 누가 홀드아웃되는지 또는 얼마나 오래 홀드아웃되는지를 바꾸는 변경(크기, 범위, 모드, 갱신 주기 또는 종료일)은 실행 중인 사이클을 종료하고 새 사이클을 시작합니다. 현재 값을 그대로 보내면 아무것도 변경되지 않습니다. 캠페인의 자체 홀드아웃에 속한 컨트롤 그룹은 백분율 업데이트와 동일한 방식으로 거부합니다.
POST /api/applications/{code}/control_groups/{control_group_code}/settings
요청 본문
Anchor link to| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
percentage | integer | 예 | 홀드아웃 크기를 백분율(1-20)로 나타냅니다. |
countries | string 배열 | 아니요 | 소문자 ISO-3166-1 alpha-2 국가 코드입니다. 빈 목록은 그룹의 범위를 모든 국가로 다시 넓힙니다. |
scopeTag | string | 아니요 | 홀드아웃 범위를 지정할 string 또는 boolean 태그이며, countries와 AND로 결합됩니다. 비어 있으면 태그 범위가 제거됩니다. 아래 태그 범위를 참조하십시오. |
scopeValues | string 배열 | 참고 참조 | 사용자를 범위에 포함시키는 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에서는 필수이며, 그렇지 않으면 생략해야 합니다. |
모든 필드는 국가 업데이트와 마찬가지로 보낸 그대로 적용됩니다. 빈 countries는 그룹을 모든 국가로 다시 넓히고, 빈 scopeTag는 태그 범위를 제거합니다.
{ "group": { ... } }, 즉 업데이트된 컨트롤 그룹 객체를 반환합니다.
태그 범위
Anchor link to컨트롤 그룹은 하나의 string 또는 boolean 태그 값이 사용자가 선택한 집합에 속하는 사용자만 홀드아웃할 수 있으며, 둘 다 설정된 경우 countries와 AND로 결합됩니다. 생성 또는 설정 업데이트로 설정합니다.
scopeTag는 태그 이름을 지정하며, 비어 있으면 태그 범위가 없음을 의미합니다.Country는 사용할 수 없습니다. 국가별 범위는 태그가 아니라countries를 사용합니다.scopeValues는 범위에 포함되는scopeTag의 값을 나열합니다.scopeTag가 설정된 경우 최소 하나는 필수이며, 중복될 수 없습니다. string 태그의 값은 빈 문자열일 수 없습니다. boolean 태그의 값은 각각"true"또는"false"여야 합니다.scopeTag값이 없는 기기는Country태그가 없는 기기와 마찬가지로 범위에서 제외됩니다.- 멤버십 자체는 변하지 않습니다. 사용자를 할당하는 공식은 범위의 영향을 받지 않습니다. 태그 범위와 국가 범위는 모두 그 위에 더해지는 기기별 확인으로, 공식이 선택하는 사용자가 아니라 선택된 사용자의 기기 중 실제로 제외되는 기기를 좁힙니다.
- 사용자 수준 태그는 설정될 때 해당 사용자의 모든 기기에 복사되므로, 위의 기기 수준 확인은 기기 수준 태그뿐 아니라 사용자 수준 태그도 다룹니다.
scopeTag를 변경하거나scopeValues를 집합으로서 변경하면(순서만 바꾸는 것은 해당하지 않음)countries를 변경할 때와 마찬가지로 실행 중인 사이클이CONTROL_GROUP_CYCLE_CLOSE_REASON_RESCOPED로 종료됩니다. 그룹을 비활성화해도countries와 마찬가지로 태그 범위는 유지됩니다.
이름 변경
Anchor link toControl Panel에서 하나의 컨트롤 그룹에 표시되는 이름을 설정합니다. name은 멤버십 키의 일부이며 변경되지 않으므로, 그룹은 동일한 사용자와 실행 중인 사이클을 그대로 유지합니다.
POST /api/applications/{code}/control_groups/{control_group_code}/display_name
요청 본문
Anchor link to| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
code | string | 예 | 그룹이 속한 애플리케이션 코드입니다. |
controlGroupCode | string | 예 | 컨트롤 그룹의 코드입니다. |
displayName | string | 아니요 | 새 이름, 최대 64자이며 애플리케이션 내에서 고유해야 합니다. name을 다시 표시하려면 빈 문자열을 보내십시오. |
{ "group": { ... } }, 즉 이름이 변경된 컨트롤 그룹 객체를 반환합니다.
비활성화
Anchor link to하나의 컨트롤 그룹을 끄고, 그룹과 그 생성(generation)을 유지하여 다시 켤 때 새로운 홀드아웃을 그리는 대신 동일한 홀드아웃을 복원하도록 합니다.
POST /api/applications/{code}/control_groups/{control_group_code}/disable
성공 시 빈 객체 {}를 반환합니다.
생성(generation)을 증가시켜 하나의 컨트롤 그룹의 홀드아웃을 다시 그립니다. 이것이 다른 샘플을 얻는 유일한 방법입니다. 멤버십은 결정론적이므로 비활성화했다가 다시 활성화하면 정확히 동일한 샘플이 재현됩니다.
POST /api/applications/{code}/control_groups/{control_group_code}/reshuffle
| 필드 | 타입 | 설명 |
|---|---|---|
generation | integer | 재구성 후 그룹의 생성(generation)입니다. |
강제 계산 업데이트
Anchor link to하나의 컨트롤 그룹 크기에 대한 새로운 계산을 시작합니다. 이전에 캐시된 숫자는 새로운 계산이 끝날 때까지 계속 제공됩니다. 진행 상황은 계산 상태 조회를 폴링하여 확인하십시오.
POST /api/applications/{code}/control_groups/{control_group_code}/recalculate
성공 시 빈 객체 {}를 반환합니다.
계산 상태 조회
Anchor link to크기 계산이 실행되는 동안 하나의 컨트롤 그룹의 변경되는 사용자 수만 폴링합니다.
GET /api/applications/{code}/control_groups/{control_group_code}/calculation_status
| 필드 | 타입 | 설명 |
|---|---|---|
total_users | integer | 애플리케이션의 모든 사용자입니다. |
control_group_users | integer | 애플리케이션 전체에서 계산된 홀드아웃된 사용자입니다. |
calculation_status | string | TASK_STATUS_NOT_STARTED, TASK_STATUS_IN_PROGRESS 또는 TASK_STATUS_COMPLETED입니다. |
has_data | boolean | 캐시된 크기 숫자를 사용할 수 있는지 여부입니다. |
분석 데이터 조회
Anchor link to하나의 컨트롤 그룹에 대해 미리 계산된 컨트롤 그룹 vs. 실험 그룹 분석 데이터를 반환합니다.
GET /api/applications/{code}/control_groups/{control_group_code}/analytics
쿼리 매개변수
Anchor link to| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
windowDays | string | 아니요 | 조회 기간 프리셋: WINDOW_DAYS_3, WINDOW_DAYS_7 또는 WINDOW_DAYS_30. |
| 필드 | 타입 | 설명 |
|---|---|---|
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)가 포함됩니다. |
컨트롤 그룹 사이클 목록 조회
Anchor link to하나의 컨트롤 그룹에서 종료된 사이클을 최신순으로 나열합니다. 각 사이클은 두 번의 설정 변경 사이에 그룹이 운영한 멤버십과, 그 멤버십을 만든 설정입니다. 실행 중인(현재) 사이클은 이 목록에 없습니다. 해당 설정은 컨트롤 그룹 객체 자체에 있습니다.
GET /api/applications/{code}/control_groups/{control_group_code}/cycles
| 필드 | 타입 | 설명 |
|---|---|---|
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 | 이 사이클 동안 그룹의 생성(generation)입니다. |
percentage | integer | 이 사이클 동안의 홀드아웃 크기입니다. |
countries | string 배열 | 이 사이클 동안의 국가 범위이며, 비어 있으면 모든 국가입니다. |
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 | string 배열 | 이 사이클 동안 사용자를 범위에 포함시킨 scope_tag의 값이며, scope_tag와 함께만 설정됩니다. |
컨트롤 그룹 멤버십 확인
Anchor link to각 User ID에 대해 현재 하나의 컨트롤 그룹에 의해 홀드아웃되었는지 여부를 보고합니다. 멤버십은 ID만으로 계산됩니다. 사용자 레코드는 읽지 않으므로 애플리케이션에서 본 적 없는 ID에 대해서도 응답하며, 비활성화된 그룹은 오류 대신 모든 ID에 대해 false로 응답합니다. 국가 또는 태그 범위가 있는 그룹은 사용자의 기기 중 하나라도 해당 범위에 있을 때만 그 사용자를 홀드아웃하므로, 본 적 없는 ID(기기가 전혀 없음)는 범위가 없는 그룹에서는 true로 반환되더라도 여기서는 false로 반환됩니다. 전체 그룹을 내보내는 대신 이 방법을 사용하여 특정 전송 또는 가져오기의 사용자를 확인하십시오.
POST /api/applications/{code}/control_groups/{control_group_code}/membership
요청 본문
Anchor link to| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
userIds | string 배열 | 예 | 확인할 User ID이며, 호출당 최대 1,000개입니다. |
요청 예시
Anchor link to{ "userIds": ["user-1", "user-2", "user-3"]}| 필드 | 타입 | 설명 |
|---|---|---|
users | 객체 배열 | 요청된 ID당 하나의 항목이며, 주어진 순서대로(중복 포함) 반환됩니다. 각 항목에는 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 } ]}컨트롤 그룹을 완전히 제거합니다. 더 이상 사용자를 홀드아웃하지 않으며, 해당 통계도 더 이상 열 수 없습니다. 애플리케이션의 다른 그룹은 계속 작동합니다.
DELETE /api/applications/{code}/control_groups/{control_group_code}
성공 시 빈 객체 {}를 반환합니다.
컨트롤 그룹 객체
Anchor link to| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 컨트롤 그룹 코드(형식 XXXXX-XXXXX), 그룹의 수명 동안 안정적입니다. |
name | string | 그룹 이름이며 멤버십 키의 일부입니다. 비어 있으면 애플리케이션의 원래 이름 없는 그룹입니다. |
display_name | string | Control Panel에 표시되는 이름입니다. 비어 있으면 name이 표시되며, 이름 없는 그룹은 Global로 표시됩니다. |
segment | string | 그룹이 측정되는 Seglang 표현식. 비어 있으면 전체 기반입니다. |
percentage | integer | 홀드아웃 크기를 백분율(1-20)로 나타냅니다. 0은 그룹이 꺼져 있음을 의미합니다. |
enabled | boolean | 그룹이 현재 사용자를 홀드아웃하고 있는지 여부입니다. |
generation | integer | 재구성할 때마다 증가하며, 0은 한 번도 재구성되지 않았음을 의미합니다. |
last_modified_at | string (RFC 3339) | 그룹 설정이 마지막으로 변경된 시간입니다. |
last_modified_by | string | 그룹을 마지막으로 변경한 사용자의 이메일입니다. |
application_id | integer | 애플리케이션의 숫자 ID, 멤버십 확인이 사용자가 홀드아웃되었는지 결정하기 위해 해시하는 멤버십 키 <application_id>:<generation>:<name>:<user_id>의 첫 번째 부분입니다. |
countries | string 배열 | 홀드아웃 범위가 지정된 소문자 ISO-3166-1 alpha-2 국가 코드입니다. 비어 있으면 모든 국가입니다. |
scope_tag | string | 홀드아웃 범위가 지정된 태그이며, countries와 AND로 결합됩니다. 비어 있으면 태그 범위가 없습니다. 태그 범위를 참조하십시오. |
scope_values | string 배열 | 사용자를 범위에 포함시키는 scope_tag의 값입니다. boolean 태그는 "true"와 "false"를 사용합니다. |