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

Number

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: 로그 수집 과정에서 오류가 발생함

Last updated