동접 API의 기본사항 확인하기

API 통신 방식

    • 동접 API는 HTTP 프로토콜을 이용한 XML 데이터 통신을 제공합니다.
    • XML은 base64 encoding하여 전송해야 합니다.
    • POST 방식으로 XML 텍스트를 value parameter를 이용하여 전송하는 방식과 parameter 없이 body로 전송하는 방식을 제공합니다.
      • PHP cURL은 value parameter를 이용하여 XML 텍스트를 전송하는 방식이 적합합니다.
      • C++이나 wininet은 value parameter를 이용하지 않고 post data를 body로 XML 텍스트를 전송하는 방식이 적합합니다.
    • 결과는 base64 encoding된 XML 로 반환하며 결과값 확인 후 실패 시 재송신이 필요합니다.
    • 서비스 오픈 이전에는 테스트 서버로 연동 테스트를 진행하고 서비스 오픈 후에는 상용 서버로 전송합니다.
    • 서비스 중인 경우에도 테스트 서버 연동은 필수입니다.
    • 전송 간격은 매시 정각을 기준(한국 시간)으로 2분 단위로 API를 호출하여 전송합니다. (ex. 13:00, 13:02, 13:04 … )
    • 동접기준은 게임서버에 따라 다릅니다.
      • 웹서버는 최근 2분간 요청 유저의 유니크 수를 전송합니다.
      • 소켓서버는 서버에 접속되어 있는 유저 수를 전송합니다.

API 테스트

    • 웹브라우저에서 아래 URL로 들어가 인코딩된 텍스트를 전송하여 결과를 확인합니다.
      • XML: http://sandbox-api-index.withhive.com/modules/apitest/test/

담당자

    • 담당자 : 플랫폼2실 데이터기술팀 문재호(munjaeho@com2us.com)
    • 참조 : 플랫폼2실 데이터기술팀(DT@com2us.com)
    • 동접키 발급 요청 : 솔루션아키텍트팀(PP_SA@com2us.com)

동접 전송하기

  • Request URL
    상용 URL http://api-index.qpyou.cn/modules/gameuser/currentuser/
    Sandbox URL http://sandbox-api-index.withhive.com/modules/gameuser/currentuser/
    HTTP Method Post
    Data Format XML
    Parameter value
    (post data를 body로 전송 시에는 사용하지 않음 ex. C++, wininet)
  • post data
    필드명 설명
    game 게임 구분이 가능한 key
    담당자에게 등록요청 필수
    ex) tinyfarm_KR, derbydays_SEA 와 같이 발급
    server 서버별 접속자 전송시 서버 구분 정보
    영문,숫자 조합으로 20자 까지 가능 (서버 구분이 없을 경우 0)
    ex)
    <server>0<<server> => 가능
    <server>1</server> => 가능
    <server>tinyfarm01</server> => 가능
    reqkey 동접 정보 고유키
    동접 정보를 전송하는 서버에서 생성하는 고유키
    MD5 인코딩 권장
    reqkey 값으로 중복처리 보장
    date 동시접속자 정보의 생성일시
    ‘년-월-일 시:분:초’의 형식으로, 초단위는 ‘00’ 으로 처리
    한국 시간을 기준으로 하며, API 호출 시간 간격인 2분 단위로 처리
    ex) 2016-06-23 16:24:00
    user 동시접속자 수
  • Response
    필드명 설명
    result 결과 코드, 100=저장 성공 자세히
  • 호출 (원본 XML → base64 인코딩 → URL 인코딩)
  • 요청
  • 응답
  • result Code
    코드값 설명
    100 동시접속자 정보 저장 성공
    101 중복요청 존재로 미처리 (reqkey 중복)
    200 Parameter error (입력데이터 없음)
    201 Parameter error (필수정보 없음)
    202 Parameter error (입력데이터 형식이 맞지 않음)
    203 Base64 Encoding Error (base64 인코딩 되지 않음)
    204 Xml 형식 맞지 않음
    300 DB error
    301 동접데이터 합산 수치가 동일한 경우
    ex) server01 동접자 수 = 100, server02 동접자 수 = 0
    server01 + server02 동접자 수가 동일할 때 발생
    302 game key 없음