RESTful API
개요
게임 서버와 클라이언트(선택)에서 로그 명세서 기반으로 생성한 유저 행동 로그를 접수하는 API로, 별도의 인프라 연동 없이 HTTP Call을 통해 로그를 수집하고, 유저 행동 로그 분석 파이프라인을 통해 여러 유입 경로로 수집된 로그와 함께 통계 분석을 진행 합니다.
API Endpoint
정보
{project-prefix}는 기술 PM이 전달 드립니다.
QA 환경 Endpoint: https://lognetic.{project-prefix}.hybegames.io
운영 환경 Endpoint: https://lognetic.{project-prefix}.hybegames.com
Event
이벤트 로그를 기록합니다.
| 항목 | 내용 |
|---|---|
| URL | https://{환경별 EndPoint}/event |
| Method | POST |
| Contents-Type | application/json |
요청 파라메터
| Parameter | Type | Required | Description |
|---|---|---|---|
records | list<Log> | required | Log 형식의 로그들의 목록으로 최대 100건의 로그를 처리 하고, 100건 이상의 로그는 오류를 반환 함 |
<Log Sample>
{
"records": [
{
"log_type": "CLIENT_EVENT",
"external_device_id": "d804f1d9-a1b9-4d5e-a04c-32d199a6147a",
"external_device_type": 0,
"os_type": 1,
"service_id": 10040041,
"cre_time": "2024-02-23T05:25:00Z",
"uid": "",
"imid": "",
"event_name": "000_launch",
"client_detail": "",
"activity_kind": "session"
}
]
}
<CURL Sample>
curl --location 'https://{환경별 EndPoint}/event' \
--header 'Content-Type: application/json' \
--data '{
"records": [
{
"log_type": "TEST_LOG",
"external_device_id": "d804f1d9-a1b9-4d5e-a04c-32d199a6147a",
"external_device_type": 0,
"os_type": 1,
"cre_time": "2024-07-03T10:52:00Z",
"uid": "",
"imid": "",
"event_name": "000_launch",
"client_detail": "",
"activity_kind": "session",
"service_id": "10060000"
}
]
}'
로그 명세
상세한 로그의 구조는 인사이트랩에서 제공 해 드리는 로그 명세 내용을 기반으로 하고 있으나, 필수 항목을 제외한 파라메터는 수시로 추가/제거 될 수 있습니다.
- 구현 시 로그의 명세 수정으로 Param이 추가/제거 될 수 있어 되도록 누락되는 항목이 없도록 Map 이나 Dictionary를 추천합니다.
필수 항목
| Param | Type | Required | Description | Sample |
|---|---|---|---|---|
log_type | String | required | 로그 명세서에 정의된 log_type | |
service_id | String | required | 서비스 id | |
cre_time | String | required | 로그 기록 날짜/시간(UTC) | 2024-02-20T13:04:44.156764Z |
클라이언트에서 호출 하는 경우 request_address, country 는 로그 수집 시스템에서 수집이 가능함
Sample
{
"records": [
{
"srl": "",
"external_device_id": "d804f1d9-a1b9-4d5e-a04c-32d199a6147a",
"external_device_type": "",
"service_id": "10060000",
"region": "",
"cre_time": "2024-02-23T05:25:00.000000Z",
"log_type": ""CREATE_UID"
....
}
]
}
응답
모든 응답은 APi 성공 여부와 무관하게 HTTP Response Code를 200 으로 반환 하나, 시스템 장애나 비정상적인 접근 등에서 200 이외에 오류 코드가 반환 될 수 있음
| Param | Type | Description |
|---|---|---|
resultCode | String | Status: 200 SUCCESS : 성공, , Status: 400 INVALID_PARAMETER: 필수 항목 중 없거나 형식이 잘못된 요청이 있음, TOO_MANY_RECORDS: 한번에 요청 한 로그가 너무 많음 (최대 100개), , Status: 500 INTERNAL_SERVER_ERROR: 로그 수집 과정에서 오류가 발생함, , |