트래킹 관리 API
호출 방법은 Open API 문서의 호출 방법 설명을 참고하십시오.
1. 트래킹 방안
트래킹 관련 기능은 먼저 TE 사용 설명서의 트래킹 방안과 데이터 검증을 읽어 보는 것을 권장합니다
1. 트래킹 방안 조회
인터페이스 URL
/open/track-query?token=xxx&projectId=30
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 30 | Integer | 예 | 프로젝트 ID |
성공 응답 예시
{
"data": {
"commonEventProps": [{
"name": "#device_id",
"displayName": "디바이스 ID",
"type": "string",
"desc": ""
}],
"createTime": "2021-10-12 11:47:31",
"eventProps": [
{
"createTime": "2021-10-12 11:47:30",
"creator": "TG-38045d57-403c-424c-a6a6-b12f6a8943bd",
"desc": "",
"displayName": "사유",
"lastUpdateAuth": "TG-38045d57-403c-424c-a6a6-b12f6a8943bd",
"lastUpdateTime": "2021-10-12 11:47:30",
"name": "reason",
"type": "string"
}
],
"events": [
{
"createTime": "2021-10-12 11:47:30",
"creator": "TG-38045d57-403c-424c-a6a6-b12f6a8943bd",
"displayName": "",
"eventDesc": "이벤트 참여3",
"eventName": "activity_attend",
"eventTag": "111,aaa",
"lastUpdateAuth": "TG-38045d57-403c-424c-a6a6-b12f6a8943bd",
"lastUpdateTime": "2021-10-12 13:01:10",
"props": [
"#city"
]
}
],
"projectId": 377,
"userProps": [
{
"createTime": "2021-10-12 11:47:30",
"creator": "TG-38045d57-403c-424c-a6a6-b12f6a8943bd",
"desc": "",
"displayName": "잔액",
"lastUpdateAuth": "TG-38045d57-403c-424c-a6a6-b12f6a8943bd",
"lastUpdateTime": "2021-10-12 11:47:30",
"name": "accountbalance",
"type": "number",
"updateTypeName": ""
}
]
},
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| data | - | Object | 반환 데이터 |
| data.commonEventProps | - | List | 공통 이벤트 속성 정보 |
| data.commonEventProps.name | #device_id | String | 속성 이름 |
| data.commonEventProps.displayName | 디바이스 ID | String | 속성 표시 이름 |
| data.commonEventProps.type | string | String | 타입 |
| data.commonEventProps.desc | String | 설명 | |
| data.eventProps | - | List | 이벤트 속성 목록 |
| data.eventProps.createTime | 2021-10-12 11:47:30 | Date | 생성 시간 |
| data.eventProps.creator | TG-38045d57-403c-424c-a6a6-b12f6a8943bd | String | 생성자 |
| data.eventProps.desc | - | String | 설명 |
| data.eventProps.displayName | 사유 | String | 표시 이름 |
| data.eventProps.lastUpdateAuth | TG-38045d57-403c-424c-a6a6-b12f6a8943bd | String | 마지막 업데이트자 |
| data.eventProps.lastUpdateTime | 2021-10-12 11:47:30 | Date | 마지막 업데이트 시간 |
| data.eventProps.name | reason | String | 이름 |
| data.eventProps.type | string | String | 타입 |
| data.events | - | List | 이벤트 목록 |
| data.events.createTime | 2021-10-12 11:47:30 | Date | 생성 시간 |
| data.events.creator | TG-38045d57-403c-424c-a6a6-b12f6a8943bd | String | 생성자 |
| data.events.displayName | - | String | 표시 이름 |
| data.events.eventDesc | 이벤트 참여3 | String | 설명 |
| data.events.eventName | activity_attend | String | 이름 |
| data.events.eventTag | 111,aaa | String | 태그 |
| data.events.lastUpdateAuth | TG-38045d57-403c-424c-a6a6-b12f6a8943bd | String | 마지막 업데이트자 |
| data.events.lastUpdateTime | 2021-10-12 13:01:10 | Date | 마지막 업데이트 시간 |
| data.events.props | ["#city"] | List | 이벤트 속성 목록 |
| data.projectId | 377 | Integer | 프로젝트 ID |
| data.userProps | - | String | 유저 속성 목록 |
| data.userProps.createTime | 2021-10-12 11:47:30 | Date | 생성 시간 |
| data.userProps.creator | TG-38045d57-403c-424c-a6a6-b12f6a8943bd | String | 생성자 |
| data.userProps.desc | - | String | 설명 |
| data.userProps.displayName | 잔액 | String | 표시 이름 |
| data.userProps.lastUpdateAuth | TG-38045d57-403c-424c-a6a6-b12f6a8943bd | String | 마지막 업데이트자 |
| data.userProps.lastUpdateTime | 2021-10-12 11:47:30 | Date | 마지막 업데이트 시간 |
| data.userProps.name | accountbalance | String | 이름 |
| data.userProps.type | number | String | 타입 |
| data.userProps.updateTypeName | - | String | |
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -3004 | Integer | 반환 코드 |
| return_message | 유효하지 않은 프로젝트 | String | 반환 정보 |
2. 트래킹 방안 내보내기
Excel 버전의 트래킹 방안을 다운로드합니다. 해당 프로젝트에 트래킹 방안이 없으면 오류가 발생합니다
인터페이스 URL
/open/track-export?token=xxx&projectId=2
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 2 | Integer | 예 | 프로젝트 ID |
성공 응답 예시
내보내는 파일은 xlsx 형식이며, 연동 필독, #유저 ID 체계, #이벤트 데이터, #공통 이벤트 속성, #유저 데이터, 데이터 타입 설계 원칙, 공통 이벤트 속성 설정 방법, 멀티 플랫폼 연동 시 주의 사항, 다중 유저 ID 체계의 트래킹 권장 사항 등의 시트 데이터가 포함됩니다. 아래 그림과 같습니다:
오류 응답 예시
{
"return_code": -1023,
"return_message": "대상 객체가 더 이상 존재하지 않습니다"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -1023 | Integer | 반환 코드 |
| return_message | 대상 객체가 더 이상 존재하지 않습니다 | String | 반환 정보 |
3. 메타데이터에서 트래킹 방안 내보내기
인터페이스 URL
/open/meta-export-track?token=xxx&projectId=2
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 2 | Integer | 예 | 프로젝트 ID |
성공 응답 예시
내보내는 파일은 xlsx 형식이며, 연동 필독, #유저 ID 체계, #이벤트 데이터, #공통 이벤트 속성, #유저 데이터, 데이터 타입 설계 원칙, 공통 이벤트 속성 설정 방법, 멀티 플랫폼 연동 시 주의 사항, 다중 유저 ID 체계의 트래킹 권장 사항 등의 시트 데이터가 포함됩니다. 아래 그림과 같습니다:
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -3004 | Integer | 반환 코드 |
| return_message | 유효하지 않은 프로젝트 | String | 반환 정보 |
4. 트래킹 검증
인터페이스 URL
/open/track-check?token=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
요청 Body 파라미터
{
"projectId": 0,
"checkScope": {
"startTime": "2021-01-01 10:00",
"endTime": "2021-02-01 10:00",
"checkDataTypes": ["event_data", "user_data"],
"checkEvents": ["event1", "event2"],
"eventFilter": {
},
"userFilter": {
"tableType":"user",
"columnName": "#os",
"comparator": "equal",
"ftv": [
"ios"
]
}
},
"resultScope": {
"eventResults": ["unreported_event", "unplanned_event"],
"userResults": ["unreported_user_prop", "unplanned_user_prop"]
}
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| checkScope | - | Object | 예 | 검증 범위 |
| checkScope.checkDataTypes | event_data | List | 아니요 | 검증할 데이터 타입. event_data는 이벤트 데이터, user_data는 유저 데이터이며, 기본값은 둘 다 검증 |
| checkScope.checkEvents | string | List | 아니요 | 이벤트 검증 범위. null이면 모든 이벤트를 검증 |
| checkScope.endTime | string | Date | 아니요 | 검증 기간의 종료 시간. 기본값은 현재 서버 시간 |
| checkScope.eventFilter | - | List | 아니요 | 이벤트 필터 조건. 메타데이터의 이벤트 속성으로만 필터링할 수 있음(가상 속성, 유저 태그는 사용할 수 없음) |
| checkScope.eventFilter.filterType | SIMPLE | String | 아니요 | 필터:
|
| checkScope.eventFilter.filts | - | List | 아니요 | 필터 값 리스트 |
| checkScope.eventFilter.filts.filterType | SIMPLE | String | 아니요 | 필터:
|
| checkScope.eventFilter.relation | and | String | 아니요 | 필터 논리 관계 |
| checkScope.hasEmptyCheck | false | Boolean | 아니요 | 빈 문자열을 Null 값으로 간주할지 여부 |
| checkScope.propNullValueThreshold | 0 | Integer | 아니요 | 속성 결측률 임계값 |
| checkScope.startTime | string | Date | 아니요 | 검증 기간의 시작 시간. 기본값은 트래킹 방안 업로드 시간 |
| checkScope.userFilter | - | List | 아니요 | 유저 필터 조건. 메타데이터의 유저 속성으로만 필터링할 수 있음(가상 속성, 유저 태그는 사용할 수 없음) |
checkScope.userFilter.filterType | SIMPLE | String | 아니요 | 필터:
|
| checkScope.userFilter.filts | - | List | 아니요 | 필터 값 리스트 |
checkScope.userFilter.filts.filterType | SIMPLE | String | 아니요 | 필터:
|
| checkScope.userFilter.relation | and | String | 아니요 | 필터 논리 관계 |
| projectId | 0 | Integer | 예 | 프로젝트 ID |
| resultScope | - | Object | 아니요 | 결과 범위 선택(null이면 기본적으로 전체 선택) |
resultScope.eventResults | ["unreported_event"] | List | 아니요 | 이벤트 결과 범위. 선택 가능한 값은 다음과 같습니다
|
resultScope.userResults | ["missing_user_prop"] | List | 아니요 | 유저 결과 범위. 선택 가능한 값은 다음과 같습니다
|
성공 응답 예시
{
"data": "d611d456-e74d-47e3-b078-370b79a134af",
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| data | d611d456-e74d-47e3-b078-370b79a134af | Object | 검증 결과 조회 key |
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -1008,
"return_message": "projectId는 null일 수 없습니다"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -1008 | Integer | 반환 코드 |
| return_message | projectId는 null일 수 없습니다 | String | 반환 정보 |
5. 트래킹 검증 결과 조회
인터페이스 URL
/open/track-check-result-query?token=xxx&key=d611d456-e74d-47e3-b078-370b79a134af
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| key | d611d456-e74d-47e3-b078-370b79a134af | String | 예 | 검증 결과 key |
성공 응답 예시
{
"return_code": 0,
"return_message": "success",
"data": {
"projectId": 100,
"checkTime": "2021-04-23 14:00:00",
"checkScope": {},
"checkResultType": "result_fail",
"eventResults": [
{
"name": "event1",
"resultType": "success",
"details": [
{
"sample": [
""
]
}
],
"propNullRates": [
{
"propName": "property1",
"displayName": "displayName1",
"hasRequired": true,
"propNullRate": 60
}
]
},
{
"name": "event2",
"displayName": "이벤트2",
"resultType": "fail",
"details": [
{
"propName": "property1",
"errorType": "type_error_prop",
"reportType": "string",
"planType": "number",
"sample": [
""
]
},
{
"propName": "property2",
"errorType": "unreported"
}
],
"propNullRates": [
{
"propName": "property1",
"displayName": "displayName1",
"hasRequired": true,
"propNullRate": 60
}
]
}
],
"userResult": {
"userSamples": [
{}
],
"userPropDetails": [
{
"name": "property1",
"displayName": "유저 속성1",
"resultType": "success",
"propNullRate": 10
}
]
}
}
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
| data | - | Object | 검증 결과 조회 key |
| data.projectId | 100 | Integer | 프로젝트 ID |
| data.checkTime | 2021-04-23 14:00:00 | Date | 검증 시간 |
| data.checkScope | {} | Object | 검증 조건 범위. /track-check API의 요청 본문 내용 |
| data.checkResultType | result_fail | String | checkResultType: 검증 결과 타입. 다음 4가지 값이 있습니다
|
| data.eventResults | - | List | 이벤트 데이터 검증 결과 |
| data.eventResults.name | event1 | String | 이벤트 이름 |
| data.eventResults.resultType | success | String | 이벤트 검증 결과 타입. 다음 4가지 타입이 있습니다
|
| data.eventResults.details | - | List | 상세 데이터 집합 |
| data.eventResults.details.sample | {} | Object | 샘플 예시. 이벤트 검증 결과 타입이 수집되지 않음인 경우 샘플 예시가 없음 |
| data.eventResults.propNullRates | - | List | 속성 결측률 |
| data.eventResults.propNullRates.propName | property1 | String | 이벤트 속성 이름 |
| data.eventResults.propNullRates.displayName | displayName1 | String | 이벤트 속성 표시 이름 |
| data.eventResults.propNullRates.hasRequired | true | Boolean | 필수 항목 여부 |
| data.eventResults.propNullRates.propNullRate | 60 | Integer | 결측률 |
| data.userResult | - | Object | 유저 데이터 검증 결과 |
| data.userResult.userSamples | {} | List | 유저 샘플 예시 10건 |
| data.userResult.userPropDetails | - | List | 유저 속성 상세 |
| data.userResult.userPropDetails.name | property1 | String | 유저 속성 이름 |
| data.userResult.userPropDetails.displayName | 유저 속성1 | String | 유저 속성 표시 이름 |
| data.userResult.userPropDetails.resultType | success | String | 유저 속성 검증 결과 타입. 다음 4가지 타입이 있습니다
|
| data.userResult.userPropDetails.propNullRate | 10 | Integer | 속성 결측률 |
오류 응답 예시
{
"return_code": -1008,
"return_message": "key not exist"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -1008 | Integer | 반환 코드 |
| return_message | key not exist | String | 반환 정보 |
6. 트래킹 항목 Excel 저장
file 파라미터로 Excel 템플릿을 업로드합니다
인터페이스 URL
/open/track-excel-save?token=xxx&projectId=0
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 0 | Integer | 예 | 프로젝트 ID |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": 0,
"return_message": "success",
"data": ""
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
| data | Object | 반환 데이터 |
7. 트래킹 항목 추가
요청한 이벤트 이름 또는 속성 이름이 트래킹 방안에 이미 있으면 오류를 반환합니다
예시: 기존 이벤트에 이벤트 속성 추가(register_name 이벤트 속성을 추가하고 동시에 기존 이벤트 register에 연결)
인터페이스 URL
/open/track-insert?token=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
요청 Body 파라미터
{
"projectId": 100,
"events": [
{
"eventName": "register",
"displayName": "가입 이벤트",
"hasAutoCollect": false,
"dataOrigin": "ios",
"eventDesc": "가입 이벤트는 유저가 게임에 가입할 때 트리거되는 이벤트입니다",
"eventTag": "",
"props": [
"register_name"
]
}
],
"eventProps": [
{
"name": "register_name",
"displayName": "가입 이름",
"type": "string",
"hasRequired": true,
"desc": ""
}
],
"userProps": [
{
"name": "user_name",
"displayName": "유저 이름",
"type": "string",
"updateType": "user_set",
"desc": "",
"propTag": ""
}
],
"commonEventProps": [
{
"name": "#device_id",
"displayName": "디바이스 ID",
"type": "string",
"hasRequired": true,
"desc": ""
}
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| projectId | 100 | Integer | 예 | 프로젝트 ID |
| events | - | List | 아니요 | 이벤트 정보 |
| events.eventName | register | String | 예 | 이벤트 이름 |
| events.displayName | 가입 이벤트 | String | 예 | 이벤트 표시 이름 |
| events.hasAutoCollect | false | Boolean | 아니요 | 자동 수집 여부. 기본값은 아니요 |
| events.dataOrigin | ios | String | 아니요 | 데이터 소스. 데이터 소스는 원본 데이터의 #lib 필드 값이며, #lib이 없으면 소스는 기타 |
| events.eventDesc | 가입 이벤트는 유저가 게임에 가입할 때 트리거되는 이벤트입니다 | String | 아니요 | 이벤트 설명 |
| events.eventTag | String | 아니요 | 이벤트 태그 | |
| events.props | register_name | List | 아니요 | 이벤트 속성 목록. 이벤트 속성 이름의 집합 |
| eventProps | - | List | 아니요 | 이벤트 속성 정보 |
| eventProps.name | register_name | String | 예 | 이벤트 속성 이름. 필수 항목 |
| eventProps.displayName | 가입 이름 | String | 예 | 이벤트 속성 표시 이름 |
| eventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| eventProps.hasRequired | true | Boolean | 아니요 | 기본값은 true |
| eventProps.desc | String | 아니요 | 이벤트 속성 설명 | |
| userProps | - | List | 아니요 | 유저 속성 정보 |
| userProps.name | user_name | String | 예 | 유저 속성 이름 |
| userProps.displayName | 유저 이름 | String | 예 | 유저 속성 표시 이름 |
| userProps.type | string | String | 예 | 유저 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| userProps.updateType | user_set | String | 아니요 | 유저 속성 업데이트 방식. user_setOnce, user_set, user_add 3가지 타입이 있음 |
| userProps.desc | String | 아니요 | 유저 속성 설명 | |
| userProps.propTag | String | 아니요 | 유저 속성 태그 | |
| commonEventProps | - | List | 아니요 | 공통 이벤트 속성 정보 |
| commonEventProps.name | #device_id | String | 예 | 이벤트 속성 이름 |
| commonEventProps.displayName | 디바이스 ID | String | 예 | 이벤트 속성 표시 이름 |
| commonEventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| commonEventProps.hasRequired | true | Boolean | 아니요 | 기본값은 true |
| commonEventProps.desc | String | 아니요 | 이벤트 속성 설명 |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -3004 | Integer | 반환 코드 |
| return_message | 유효하지 않은 프로젝트 | String | 반환 정보 |
8. 트래킹 항목 저장
추가 API와 달리 이 API는 기존 트래킹 속성의 업데이트를 지원합니다
인터페이스 URL
/open/track-save?token=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
요청 Body 파라미터
{
"projectId": 100,
"events": [
{
"eventName": "register",
"displayName": "가입 이벤트",
"hasAutoCollect": false,
"dataOrigin": "ios",
"eventDesc": "가입 이벤트는 유저가 게임에 가입할 때 트리거되는 이벤트입니다",
"eventTag": "",
"props": [
"register_name"
]
}
],
"eventProps": [
{
"name": "register_name",
"displayName": "가입 이름",
"type": "string",
"hasRequired": true,
"desc": ""
}
],
"userProps": [
{
"name": "user_name",
"displayName": "유저 이름",
"type": "string",
"updateType": "user_set",
"desc": "",
"propTag": ""
}
],
"commonEventProps": [
{
"name": "#device_id",
"displayName": "디바이스 ID",
"type": "string",
"hasRequired": true,
"desc": ""
}
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| projectId | 100 | Integer | 예 | 프로젝트 ID |
| events | - | List | 아니요 | 이벤트 정보 |
| events.eventName | register | String | 예 | 이벤트 이름 |
| events.displayName | 가입 이벤트 | String | 예 | 이벤트 표시 이름 |
| events.hasAutoCollect | false | Boolean | 아니요 | 자동 수집 여부. 기본값은 아니요 |
| events.dataOrigin | ios | String | 아니요 | 데이터 소스. 데이터 소스는 원본 데이터의 #lib 필드 값이며, #lib이 없으면 소스는 기타 |
| events.eventDesc | 가입 이벤트는 유저가 게임에 가입할 때 트리거되는 이벤트입니다 | String | 아니요 | 이벤트 설명 |
| events.eventTag | String | 아니요 | 이벤트 태그 | |
| events.props | register_name | List | 아니요 | 이벤트 속성 목록. 이벤트 속성 이름의 집합 |
| eventProps | - | List | 아니요 | 이벤트 속성 정보 |
| eventProps.name | register_name | String | 예 | 이벤트 속성 이름. 필수 항목 |
| eventProps.displayName | 가입 이름 | String | 예 | 이벤트 속성 표시 이름 |
| eventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| eventProps.hasRequired | true | Boolean | 아니요 | 기본값은 true |
| eventProps.desc | String | 아니요 | 이벤트 속성 설명 | |
| userProps | - | List | 아니요 | 유저 속성 정보 |
| userProps.name | user_name | String | 예 | 유저 속성 이름 |
| userProps.displayName | 유저 이름 | String | 예 | 유저 속성 표시 이름 |
| userProps.type | string | String | 예 | 유저 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| userProps.updateType | user_set | String | 아니요 | 유저 속성 업데이트 방식. user_setOnce, user_set, user_add 3가지 타입이 있음 |
| userProps.desc | String | 아니요 | 유저 속성 설명 | |
| userProps.propTag | String | 아니요 | 유저 속성 태그 | |
| commonEventProps | - | List | 아니요 | 공통 이벤트 속성 정보 |
| commonEventProps.name | #device_id | String | 예 | 이벤트 속성 이름 |
| commonEventProps.displayName | 디바이스 ID | String | 예 | 이벤트 속성 표시 이름 |
| commonEventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| commonEventProps.hasRequired | true | Boolean | 아니요 | 기본값은 true |
| commonEventProps.desc | String | 아니요 | 이벤트 속성 설명 |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -3004 | Integer | 반환 코드 |
| return_message | 유효하지 않은 프로젝트 | String | 반환 정보 |
9. 트래킹 항목 편집
업데이트하지 않는 다른 필드도 정확한 값을 입력해야 합니다. 데이터가 전체적으로 업데이트됩니다
인터페이스 URL
/open/track-update?token=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
요청 Body 파라미터
{
"projectId": 2,
"targetName": "buy_shopitem",
"event": {
"eventName": "buy_shopitem",
"displayName": "testName",
"eventTag": "testTag",
"eventDesc": "12",
"props": [
"#app_version"
]
},
"deleteProps": [
{
"displayName": "통신사",
"hasReported": true,
"name": "#carrier",
"type": "string"
}
],
"eventProps": [
{
"displayName": "앱 버전",
"hasReported": true,
"name": "#app_version",
"type": "string"
}
],
"userProps": [
{
"displayName": "골드 수량 카드",
"desc": "",
"name": "coin_num",
"type": "string",
"updateType": "user_set",
"propTag": "testPropTag"
}
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| projectId | 2 | Integer | 예 | 프로젝트 ID |
| targetName | buy_shopitem | String | 예 | 대상 이름 |
| events | - | List | - | 이벤트 정보 |
| events.eventName | buy_shopitem | String | 예 | 이벤트 이름 |
| events.displayName | testName | String | 예 | 이벤트 표시 이름 |
| events.hasAutoCollect | false | Boolean | 아니요 | 자동 수집 여부. 기본값은 아니요 |
| events.dataOrigin | ios | String | 아니요 | 데이터 소스. 데이터 소스는 원본 데이터의 #lib 필드 값이며, #lib이 없으면 소스는 기타 |
| events.eventDesc | 12 | String | 아니요 | 이벤트 설명 |
| events.eventTag | testTag | String | 아니요 | 이벤트 태그 |
| events.props | ["#app_version"] | List | 아니요 | 이벤트 속성 목록. 이벤트 속성 이름의 집합 |
| eventProps | - | List | - | 이벤트 속성 정보 |
| eventProps.name | #app_version | String | 예 | 이벤트 속성 이름. 필수 항목 |
| eventProps.displayName | 앱 버전 | String | 예 | 이벤트 속성 표시 이름 |
| eventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| eventProps.hasReported | true | Boolean | 아니요 | 기본값은 true |
| eventProps.desc | String | 아니요 | 이벤트 속성 설명 | |
| userProps | - | List | - | 유저 속성 정보 |
| userProps.name | coin_num | String | 예 | 유저 속성 이름 |
| userProps.displayName | 골드 수량 카드 | String | 예 | 유저 속성 표시 이름 |
| userProps.type | string | String | 예 | 유저 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| userProps.updateType | user_set | String | 아니요 | 유저 속성 업데이트 방식. user_setOnce, user_set, user_add 3가지 타입이 있음 |
| userProps.desc | String | 아니요 | 유저 속성 설명 | |
| userProps.propTag | testPropTag | String | 아니요 | 유저 속성 태그 |
| commonEventProps | - | List | - | 공통 이벤트 속성 정보 |
| commonEventProps.name | #device_id | String | 예 | 이벤트 속성 이름 |
| commonEventProps.displayName | 디바이스 ID | String | 예 | 이벤트 속성 표시 이름 |
| commonEventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| commonEventProps.hasReported | true | Boolean | 아니요 | 기본값은 true |
| commonEventProps.desc | String | 아니요 | 이벤트 속성 설명 | |
| deleteProps | - | List | 아니요 | 완전히 삭제할 이벤트 속성 |
| deleteProps.name | #carrier | String | 예 | 이벤트 속성 이름 |
| deleteProps.displayName | 통신사 | String | 예 | 이벤트 속성 표시 이름 |
| deleteProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| deleteProps.hasReported | true | Boolean | 아니요 | 기본값은 true |
| deleteProps.desc | String | 아니요 | 이벤트 속성 설명 |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -3004 | Integer | 반환 코드 |
| return_message | 유효하지 않은 프로젝트 | String | 반환 정보 |
10. 트래킹 방안 업로드
해당 프로젝트에 이미 방안이 있으면 삭제 후 새로 생성합니다
인터페이스 URL
/open/track-upload?token=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
요청 Body 파라미터
{
"projectId": 0,
"events": [
{
"eventName": "register",
"displayName": "가입 이벤트",
"hasAutoCollect": false,
"dataOrigin": "ios",
"eventDesc": "가입 이벤트는 유저가 게임에 가입할 때 트리거되는 이벤트입니다",
"eventTag": "일반",
"props": ["register_name"]
}
],
"eventProps": [
{
"name": "register_name",
"displayName": "가입 이름",
"type": "string",
"hasRequired": true,
"desc": ""
}
],
"userProps": [
{
"name": "user_name",
"displayName": "유저 이름",
"type": "string",
"updateType": "user_set",
"desc": "",
"propTag": ""
}
],
"commonEventProps": [
{
"name": "#device_id",
"displayName": "디바이스 ID",
"type": "string",
"hasRequired": true,
"desc": ""
}
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| projectId | 100 | Integer | 예 | 프로젝트 Id |
| events | - | List | 아니요 | 이벤트 정보 |
| events.eventName | register | String | 예 | 이벤트 이름 |
| events.displayName | 가입 이벤트 | String | 예 | 이벤트 표시 이름 |
| events.hasAutoCollect | false | Boolean | 아니요 | 자동 수집 여부. 기본값은 아니요 |
| events.dataOrigin | ios | String | 아니요 | 데이터 소스. 데이터 소스는 원본 데이터의 #lib 필드 값이며, #lib이 없으면 소스는 기타 |
| events.eventDesc | 가입 이벤트는 유저가 게임에 가입할 때 트리거되는 이벤트입니다 | String | 아니요 | 이벤트 설명 |
| events.eventTag | 공통 | String | 아니요 | 이벤트 태그 |
| events.props | register_name | String | 아니요 | 이벤트 속성 목록. 이벤트 속성 이름의 집합 |
| eventProps | - | List | 아니요 | 이벤트 속성 정보 |
| eventProps.name | register_name | String | 예 | 이벤트 속성 이름. 필수 항목 |
| eventProps.displayName | 가입 이름 | String | 예 | 이벤트 속성 표시 이름 |
| eventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| eventProps.hasRequired | true | Boolean | 아니요 | 필수 전송 여부. 기본값은 true |
| eventProps.desc | String | 아니요 | 이벤트 속성 설명 | |
| userProps | - | List | 아니요 | 유저 속성 정보 |
| userProps.name | user_name | String | 예 | 유저 속성 이름 |
| userProps.displayName | 유저 이름 | String | 예 | 유저 속성 표시 이름 |
| userProps.type | string | String | 예 | 유저 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| userProps.updateType | user_set | String | 아니요 | 유저 속성 업데이트 방식. user_setOnce, user_set, user_add 3가지 타입이 있음 |
| userProps.desc | String | 아니요 | 유저 속성 설명 | |
| userProps.propTag | String | 아니요 | 유저 속성 태그 | |
| commonEventProps | - | List | 아니요 | 공통 이벤트 속성 정보 |
| commonEventProps.name | #device_id | String | 예 | 이벤트 속성 이름 |
| commonEventProps.displayName | 디바이스 ID | String | 예 | 이벤트 속성 표시 이름 |
| commonEventProps.type | string | String | 예 | 이벤트 속성 타입. string, number, datetime, bool, array 5가지 타입이 있음 |
| commonEventProps.hasRequired | true | Boolean | 아니요 | 필수 전송 여부. 기본값은 true |
| commonEventProps.desc | String | 아니요 | 이벤트 속성 설명 |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
11. 트래킹 방안 삭제
인터페이스 URL
/open/track-delete?token=xxx&projectId=100
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 100 | Integer | 예 | 프로젝트 ID |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -3004 | Integer | 반환 코드 |
| return_message | 유효하지 않은 프로젝트 | String | 반환 정보 |
12. 트래킹 항목 삭제
- 이벤트를 삭제하면 이벤트 전체와 해당 이벤트와 이벤트 속성 간의 연결 관계가 삭제됩니다
- 이벤트 속성을 삭제하면 모든 이벤트와의 연결 관계가 삭제됩니다
인터페이스 URL
/open/track-delete-item?token=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
요청 Body 파라미터
{
"projectId": 0,
"events": [
"login_in"
],
"eventPropNames": [
"register_name"
],
"userPropNames": [
"user_name"
],
"commonEventPropNames": [
"#device_id"
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| projectId | 100 | Integer | 예 | 프로젝트 ID |
| events | ["login_in"] | List | 아니요 | 이벤트 이름 리스트 |
| eventPropNames | ["register_name"] | List | 아니요 | 이벤트 속성 이름 목록 |
| userPropNames | ["user_name"] | List | 아니요 | 유저 속성 이름 목록 |
| commonEventPropNames | ["#device_id"] | List | 아니요 | 공통 이벤트 속성 이름 목록 |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
오류 응답 예시
{
"return_code": -3004,
"return_message": "유효하지 않은 프로젝트"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -3004 | Integer | 반환 코드 |
| return_message | 유효하지 않은 프로젝트 | String | 반환 정보 |

