HTTP 방식
- Server Information
Hive 애널리틱스 웹서버 주소는 다음과 같습니다.- 샌드박스: https://sandbox-analytics-log.withhive.com/v1/server-recv
- 상용서버: https://analytics-log.withhive.com/v1/server-recv
- Header Information
- Method: POST
- Content-Type: application/json; charset=utf8 (필수)
- Content-Encoding: gzip (body에 압축바이너리를 넣을때 사용하는 옵션)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# body에 압축 바이너리를 사용하는 예제 { "appId" : "com.com2us.hivesdk.freefull.google.global.android.common", "logBody" : [ { "category" : "test", "dateTime" : "2017-07-24 16:46:36", "timezone" : "GMT+09:00", "guid" : "xxxx" }, { "category" : "test2", "dateTime" : "2017-07-24 16:46:36", "timezone" : "GMT+09:00", "guid" : "xxxx2" } ] } |
- Body Information
- JSON 형식이며 아래 구조에 맞춰서 전송해야 합니다. 일부 필드는 지정된 키값을 사용해야 입력됩니다.
- 필수 파라미터 (로그에서 아래 필드 전송 필수)
appId String Hive에서 지정된 AppId logBody Array 로그가 한줄씩 들어가는 배열 logBody.category String 로그 정의에서 지정한 카테고리 logBody.dateTime String YYYY-MM-DD HH:mm:SS 형식으로 표시되는 로그 시간
한국 시간 기준(KST) 혹은 ISO-8601logBody.guid String 로그의 키값
랜덤 문자열 생성 추천이 외의 값은 각 로그에 맞춰서 logBody의 각 행(row)에 넣습니다.
- 예시
- 호출
1curl -d " { \"appId\" : \"com.com2us.hivesdk.freefull.google.global.android.common\", \"logBody\" : [ { \"category\" : \"hivesdk_levelup_log\", \"dateTime\" : \"2017-07-24 16:46:36\", \"timezone\" : \"GMT+09:00\", \"guid\" : \"xxxx\" } ] }" -X POST https://sandbox-analytics-log.withhive.com/v1/server-recv
- 요청
123456789101112131415161718> POST /v1/server-recv HTTP/1.1> Host: sandbox-analytics-log.withhive.com> User-Agent: curl/7.55.1> Accept: */*> Content-Length: 208> Content-Type: application/x-www-form-urlencoded>{"appId" : "com.com2us.hivesdk.freefull.google.global.android.common","logBody" : [{"category" : "test","dateTime" : "2017-07-24 16:46:36","timezone" : "GMT+09:00","guid" : "xxxx"}]}
- 응답
12345678< HTTP/1.1 200 OK< Server: nginx< Date: Tue, 12 Nov 2019 09:36:55 GMT< Content-Type: text/html; charset=UTF-8< Transfer-Encoding: chunked< Connection: close<{"success":true}
- HTTP 응답 상태 코드가 200일 경우 로그 전송 성공, 아닐 경우 전송 실패입니다.
키 타입 값 설명 success boolean false HTTP 상태 코드가 200이 아닐 경우 false로 고정 message String 별도 표기 에러별 메시지 표기 requestBody String 요청값 전송된 로그 원본 Message 필드에 나타나는 에러 코드는 다음과 같습니다.
메시지 설명 no json body 파라미터 없음 json parse error JSON 형식 오류 json format error = required field {col} not found 필수 컬럼({col}) 이 없음 [logBody] json format error = required field {logBody.col} not found logBody내 필수 컬럼({logBody.col}) 없음 unknown category key : {logBody.catagory} 지원되지 않는 category 사용
- 호출