Actions
제안서(Proposal)¶
제안서 작성시 입력할 수 있는 필드 내용입니다
key | type | note | description |
---|---|---|---|
ProposalID | string | 해당 제안서의 식별자 | |
Owner | string | 해당 제안서의 등록자 | |
Category | int[] | >0 | 수집할 개인정보 카테고리 목록 수집 개인정보 참조 모든 양의 정수 사용 가능하며, 블록체인에서는 검증하지 않음 |
Purpose | int | 제안서 사용 목적 0: 타겟 마케팅(Target Marketing) 1: 예측 마케팅(Predictive Marketing) 100: 데이터 거래 997: 추첨(sortilege) 998: 이벤트2(999와 분리) 1001: LDP |
|
Filter | string | 제안서 대상 필터 | |
Condition | string | 제안서 동의 필터 | |
NotBefore | string | rfc3339 | 제안서의 유효기간 시작 일시 |
NotAfter | string | rfc3339 | 제안서의 유효기간 종료 일시 |
MaxIssuable | int | >0 | 제안서을 통해 등록할 수 있는 최대 티켓 수 |
Duration | string | duration or rfc3339 | 제안서을 통해 발행한 티켓의 유효 기간. 최대 주단위로 설정할 수 있다. 자세한 사용법은 아래 링크를 참고한다. time.duration in golang 위 링크에서 정의된 h(시간) 외에 추가 단위로 아래와 같은 단위를 제공한다. (Month는 명확하지 않으므로 절대 시간 사용 권장) * d : 일(24시간) * w: 주(7일) * M: 월(30일) 상대적인 주기가 아니라 절대 시간을 duration으로 하고자 한다면 rfc3339 규격에 맞춘 문자열을 설정할 수 있다. 계산 시작점은 TicketValidFrom이 설정되어 있을 경우 TicketValidFrom부터 계산하며, TicketValidFrom이 존재하지 않을 경우 현재 시간(fabric transaction의 timestamp)부터 계산한다. |
ImageURL | string[] | optionaltagged-url | 제안서을 보여줄 때 사용할 이미지들의 URL |
CreatedAt | string | rfc3339 | 제안서 등록 일시 |
RevokedAt | string | optional, rfc3339 | 제안서 폐기 일시 |
UpdatedAt | string | rfc3339index | 제안서 변경 일시등록, 활성화, 파기 등 모든 변경 케이스에 대한 시간 반영 |
Status | int | 제안서 상태 0: 정상 (활성화됨) 1: 활성화 전 2: 폐기됨 3. 만료됨 4. 사용완료 (MaxIssuable만큼 티켓이 발행됨) 5. 기타 무효 상태(예비) |
|
Content | json object | untyped | 티켓이 참고할 내용 (개인정보 전달 경로, LDP 정보 등) |
RewardPolicy | json object (RewardPolicy) | typed | 리워드 지급 기준 RewardPolicy.Type: 지급 유형 * 1: 티켓 소모 완료 시 * 2: 티켓 소모 시마다 RewardPolicy.Amount: 한 티켓으로 지급할 수 있는 최대 금액 * 데이터 단가 계산 식 : rewardPolicy.Amount / (consumePolicy.Count * consumePolicy.MaxDataCount) |
ConsumePolicy | json object (ConsumePolicy) | typed | 티켓 소모(사용) 기준 ConsumePolicy.Type: 소모 유형 * 1: 요청자(proposal.Owner)에 의해 소모 * 2: 티켓 발행자 자가소모(ticket.Owner) ConsumePolicy.Count: 소모 횟수 ConsumePolicy.Period: 소모 주기 ConsumePolicy.MaxDataCount: 1회 소모 시 수집 가능한 데이터 총량 1 consume당 지급 리워드 계산 식: min(1, (consumeContext.DataCount / consumePolicy.MaxDataCount) ) / consumePolicy.Count * rewardPolicy.Amount |
Description | string[] | optional | 제안서을 보여줄 때 사용할 목적별 문구들 |
Deposit | string | optional | Activate를 위해 deposit한 TokenID |
Reserved | json object | optional, untyped | 예비 |
BindMap | BindMap | optional | 블록체인 내부 관리용 정보. 표시되지 않을 수 있으며,표시되어도 블록체인 외부에서는 사용하지 않는다. |
DisallowMultiIssue | bool | optional | true로 설정될 경우 동일 DID로 중복 issue를 허용하지 않는다.기본값 false (중복 issue 허용) |
TicketValidFrom | string | rfc3339,optional | 티켓 유효기간 시작 시각. 미설정시 즉시 시작 |
리워드 지급 기준¶
RewardPolicy
key | type | note | description |
---|---|---|---|
Type | int | 지급 유형 * 1: 티켓 소모 완료 시 * 2: 티켓 소모 시마다 |
|
Amount | int | >=0 | 티켓의 지급 가능 총량 |
티켓 소모 기준¶
ConsumePolicy
key | type | note | description |
---|---|---|---|
Type | int | 소모 유형 * 1: 요청자(proposal.Owner)에 의해 소모 * 2: 티켓 발행자 자가소모(ticket.Owner) |
|
Count | int | >0 | 소모 허용 횟수 |
Period | string | duration,optional | 소모 주기(소모 간 최소 간격) * 현재 일단위만 지원 (예: 하루 1번일 경우 1d로 지정) 없을 경우 주기 체크하지 않음 |
MaxDataCount | int | >0, optional | consume시 최대 데이터 소모 수 |
an example of a LDP template
{
"ProposalID" : "" ,
"Owner" : "" ,
"Category" :[
4,
1,
2
],
"Purpose" :0,
"Filter" : "*" ,
"NotBefore" : "2020-12-14T14:37:43+09:00" ,
"NotAfter" : "2020-12-24T15:37:43+09:00" ,
"MaxIssuable" :3,
"Duration" : "2020-12-24T15:37:43+09:00" ,
"ImageURL" :[
"icon= https://cdn.snplab.io/images/snplab.png " ,
"background= https://cdn.snplab.io/images/commonwallpaper.png "
],
"Content" :{
"endpoint" : "firebase url" ,
"isItReal" : false ,
"key" : "somewhat" ,
"range" :[
"0" ,
"0.25" ,
"0.50" ,
"0.75" ,
"1"
],
"spinner" :0.1
},
"RewardPolicy" :{
"Type" :1,
"Amount" :0
},
"ConsumePolicy" :{
"Type" :2,
"Count" :1
},
"Description" :[
"title=\"TEST LDP\"" ,
"disclaimer=\"blahblah\""
],
"DisallowMultiIssue" : true
}
이름없음이(가) 약 4년 전에 변경 · 10 revisions