게임짱 매체사 API 연동문서

(웹하드 기본 API)

게임짱 서버와 Curl 통신을 위해 3.37.101.231 IP를 방화벽 접근허용 되도록 등록 부탁 드립니다.

결과값은 text/json으로 리턴 되며, text는 UTF-8 입니다.

1. 사용자 인증

사용자의 로그인 여부를 체크하고, 사용자의 기본 정보를 제공하는 웹 API를 제공합니다.

1.1 회원 정보

[WebGame 버튼 클릭 시 링크]

http://gamejjang.com/api/auth.php

매체사는 웹게임 링크에 아래 Parameter 값들을 함께 보낸다.

[Response] 매체사 -> gamejjang (GET/POST)

parameter 필수여부 설명
cpid Not null 매체사 정보 (ONDISK, KDISK)
time Not null 현재시간정보 (timestamp)
token Not null 암호화된 토큰 정보 (아래 Token 암호화 방식 참고)

[Token 암호화 방식]

매체사정보(ONDISK) || TIMESTAMP || 회원식별값(아이디) AES128 암호화
key, iv 값은 담당자에게 메일로 전달

1.2 회원 검증

[API URL]

http://gamejjang.com/api/loginCheck.php

[Request] gamejjang -> 매체사 (POST)

parameter 필수여부 설명
uid Not null 회원 식별 값

[Response]

parameter 필수여부 설명
ResultCode Not null 결과코드 (하단 코드표 참조)
ResultMessage Not null 결과메시지
성공 : OK
실패 : 에러 메시지 (Required 등)

[Response 예시]

실패
{
	ResultCode: 400,
	ResultMessage: "Required"
}

성공
{
	ResultCode: 200,
	ResultMessage: "OK"
}

2. 회원 이관 처리

사용자가 웹게임에 가입 및 탈퇴 시 가입/탈퇴 유무를 저장한다.

2.1 이관완료(게임 가입) 정보 전송

[API URL]

매체사주소/joinDO.php

[Request] gamejjang -> 매체사 (POST)

parameter 필수여부 설명
mkid Not null 게임사 코드(BOM)
gid Not null 게임 코드
uid Not null 회원 식별 값 (아이디, 번호 외)

[Response]

parameter parameter 설명
ResultCode 결과코드 (하단 코드표 참조)
ResultMessage 결과메시지
성공 : OK
실패 : 에러 메시지 (Required 등)
ResultData user_id 회원 식별 값 (아이디, 번호 외)
nick_name 회원 닉네임

[Response 예시]

실패
{
	ResultCode: 400,
	ResultMessage: "Required",
	ResultData : {
		user_id : "",
		nick_name : ""
	}
}

성공
{
	ResultCode: 200,
	ResultMessage: "OK",
	ResultData : {
		user_id : "testid",
		nick_name : "테스트아이디"
	}
}

2.2 이관철회(게임 탈퇴) 정보 전송

[API URL]

매체사주소/withdraw.php

[Request] gamejjang -> 매체사 (POST)

parameter 필수여부 설명
mkid Not null 게임사 코드(BOM)
gid Not null 게임 코드
uid Not null 회원 식별 값 (아이디, 번호 외)

[Response]

parameter parameter 설명
ResultCode 결과코드 (하단 코드표 참조)
ResultMessage 결과메시지
성공 : OK
실패 : 에러 메시지 (Required 등)
ResultData user_id 회원 식별 값 (아이디, 번호 외)
nick_name 회원 닉네임

[Response 예시]

실패
{
	ResultCode: 400,
	ResultMessage: "Required",
	ResultData : {
		user_id : "",
		nick_name : ""
	}
}

성공
{
	ResultCode: 200,
	ResultMessage: "OK",
	ResultData : {
		user_id : "testid",
		nick_name : "테스트아이디"
	}
}

3. 빌링

3.1 캐시잔액 확인

[API URL]

매체사주소/cashBalance.php

[Request] gamejjang -> 매체사 (POST)

parameter 필수여부 설명
uid Not null 회원 식별 값 (아이디, 번호 외)
sign Not null 전송 할 parameter를 순서대로 문자열로 붙여 md5형태로 암호화 한 값 => md5(cpid + uid + apKey)

[Response]

parameter parameter 설명
ResultCode 결과코드 (하단 코드표 참조)
ResultMessage 결과메시지
성공 : OK
실패 : 에러 메시지 (Required 등)
ResultData cashAmt 보유 cash

[Response 예시]

실패
{
	ResultCode: 400,
	ResultMessage: "Required",
	ResultData : {
		cashAmt : 0
	}
}

성공
{
	ResultCode: 200,
	ResultMessage: "OK",
	ResultData : {
		cashAmt : 50000
	}
}

3.2 캐시차감 요청

[API URL]

매체사주소/cashPayment.php

[Request] gamejjang -> 매체사 (POST)

parameter 필수여부 설명
mkid Not null 게임사 코드(BOM)
cpid Not null 매체사코드 (ONDISK, KDISK)
gid Not null 게임코드
uid Not null 회원 식별 값 (아이디, 번호 외)
amt Not null 차감요청금액
itemCode Not null 아이템 코드
ts Not null 결제 요청 시간(데이터 타입 : TimeStamp)
billTid Not null 게임사 주문번호
remoteIp Not null 결제 요청 사용자 IP
sign Not null 전송할 parameter들을 문자열로 붙여 md5형태로 암호화 한 값, 순서가 변경되지 않게 주의하세요
=> md5(mkid + gid + uid + itemCode + ts + billTid + apKey)

결과값은 text/json으로 리턴 되며, text는 UTF-8 입니다.
성공 시 리턴되는 tid는 매체사 캐시차감 거래고유번호입니다. 에러발생 시 취소 또는 관리자 처리에 반드시 필요한 데이터 입니다.

[Response]

parameter parameter 설명
ResultCode 결과코드 (하단 코드표 참조)
ResultMessage 결과메시지
성공 : OK
실패 : 에러 메시지 (Required 등)
ResultData tid 매체사 캐시차감 거래고유번호

[Response 예시]

실패
{
	ResultCode: 400,
	ResultMessage: "Required",
	ResultData : {
		tid : ""
	}
}

성공
{
	ResultCode: 200,
	ResultMessage: "OK",
	ResultData : {
		tid : "20220207ABCDEFG"
	}
}

▶▶▶ Error 코드 ◀◀◀

구분 결과값 설명
Result 100
- 오류코드
100: 회원정보 없음
101: 회원 복호화 실패
102: 회원정보 불일치
200 성공
300 인증 실패(IP 또는 sign 확인)
- 오류코드
300: 등록된 아이피가 아닌 경우
301: 게임코드가 잘못된 경우
302: md5암호화가 잘못된 경우,
303: ts 시간이 현재시간보다 5초 이상 느린 경우
304: billTid가 중복되는 경우,
305: 잔액부족
306: 승인되지 않은 cpid
400 필수 parameter 없음
- 오류코드
400: 필수 파라미터 값 없음
401: 토큰정보 불일치
402: 통신 오류 (CURL 통신 시 값 못 받아옴)
500 System 오류
- 오류코드
500: 가입 이력 없음

4. 로고 및 페이지 매체사 기능별 주소 전달

4.1 매체사 로고 전달

헤더에 사용 될 로고로 가로 250px 세로 95px 사이즈로 전달 부탁드립니다.

4.2 매체사 기능별 주소 전달

매체사 도메인
캐시 충전
로그아웃



▶▶▶ 게임짱 전달 값 정리 ◀◀◀

1. 3.37.101.231 방화벽 오픈
2. API 주소 전달
3. 로고 전달
4. 매체사 도메인/ 충전 페이지/ 로그아웃 주소 전달