로딩중입니다
리워드서버 연동
6/4/2015 9:41:10 AM

IGAW리워드 서버 연동 

IGAW의 애드팝콘이나 쿠폰 서비스와 같이, 유저에게 리워드를 부여하는 서비스가 있습니다. 

IGAW 리워드 서버는, 리워드를 제공하기 위해 필요한 정보를 콜백 서버로 전달합니다.

리워드 지급 정보를 수신하여 처리하기 위해, 가이드에 따라 콜백 서버를 생성합니다.


기본정보 설정

애드팝콘 관리화면에서 콜백을 수신하기 위한 서버의 기본 정보를 입력합니다.

입력해야 할 정보는 이하와 같습니다.

  • 서버 : 개발사 자체 서버를 선택합니다.
  • 콜백 URL : 리워드 지급 정보를 수신하는 콜백 서버의 라이브 URL
  • 테스트 콜백 URL : 리워드 지급 정보를 수신한 콜백 서버의 테스트URL
  • HTTP통신방식 : 콜백 송신 방식
  • 리워드 지급 정보(*) : 리워드를 지급하기 위해 필요한 리워드 정보의 파라미터

[예시]


(*)리워드지급정보

IGAW리워드서버가 전달하는 각 리워드 파라미터를 수신할 파라미터 키 값을 등록할 수 있습니다.

애드팝콘 서비스의 경우 기본 파라미터 외에 추가로 전달 받고자 하는 정보를 추가할 수 있습니다.

    추가 파라미터(애드팝콘)

  1. {campaign_name} : 유저가 참여 완료한 캠페인의 이름
  2. {campaign_type} : 유저가 참여 완료한 캠페인의 타입
  3. {app_key} : IGAWorks 앱 키
  4. {app_name} : IGAWorks 앱 이름
  5. {time_stamp} : 캠페인 참여 완료 시각
  6. {adid} : 유저가 참여 완료한 디바이스의 구글 광고 아이디


   campaign_type 상세

campaign_type
캠페인
0
CPI 설치형
1
CPI 실행형
2
회원가입형(웹 페이지 랜딩)
3
클릭형
7
비디오 시청형
8
달성형 (카카오톡 로그인, 캐릭터 생성, 레벨 달성, 앱 내 회원가입 등)
9
비디오 클릭형




프로토콜 테스트

리워드서버 연동에 편의를 제공하기 위해서 웹페이지에서 프로토콜 테스트를 진행할 수 있도록 지원하고 있습니다.

테스트를 진행할 유저식별값을 입력하신 다음, 3가지의 프토로콜 테스트를 진행합니다.

각 프로토콜 테스트의 시작 버튼을 누르시면 샘플 리워드 정보가 테스트 콜백 URL로 전달됩니다.



콜백 응답

IGAWorks 리워드 서버에서 전달하는 리워드지급정보를 수신하여 처리한 후, 처리 결과를 JSON 타입으로 회신하여야 합니다.

아래에 정의된 케이스에 맞추어 적절한 응답을 IGAWorks 리워드 서버로 회신합니다.


케이스 별 JSON 응답 포맷

  • 보안성검증실패 
    {"Result":false,"ResultCode":1100,"ResultMsg":"invalid signed value"}
  • 리워드중복지급
    {"Result":false,"ResultCode":3100,"ResultMsg":"duplicate transaction"}
  • 유저검증실패
    {"Result":false,"ResultCode":3200,"ResultMsg":"invalid user "}
  • 예외사항발생
    {"Result":false,"ResultCode":4000,"ResultMsg":"custom error message"}
  • 리워드지급성공
    {"Result":true,"ResultCode":1,"ResultMsg":"success"}


케이스 상세

각 응답 포맷을 사용해야 하는 상황은 다음과 같습니다.

  1. 보안성 검증
    IGAWorks 리워드 서버에서 HMAC-MD5 방식으로 암호화하여 전달한 (*)SignedValue 값과 개발사 서버에서 생성한 SignedValue 값을 비교하여 일치하는 경우에만 보안성이 검증된 통신으로 판단하는 과정입니다.

  2. 리워드 중복지급 방지 처리
    유저가 동일한 rewardKey 에 대해서 리워드를 여러 번 받는 것을 
    방지하기 위한 과정입니다.
    유저가 정상적으로 캠페인을 완료하였을 때 rewardkey 가 발급되고 이 값은 모든 캠페인에 대해 유일한 값입니다.
    전달 받은 rewardkey 가 이미 지급 처리한 것이라면 리워드를 지급해서는 안됩니다.

  3. 유저 검증 과정
    IGAWorks 리워드서버에서 전송한 리워드지급정보 중 유저정보에 해당하는 유저가 
    존재하는 지를 확인하는 과정입니다.
    올바르지 않은 유저 정보가 전달되었다면 리워드를 지급해서는 안됩니다.

  4. 예외사항 발생
    위에 정의된 에러 사항 외의 다른 사항에 대해서 처리할 때 사용합니다. 
    ResultMsg 에는 각 상황에 맞는 메시지를 직접 설정하실 수 있습니다. (반드시 영어로 설정)

  5. 리워드지급처리 성공
    위 에러 사항을 모두 통과한 리워드지급정보에 대해서 리워드 지급처리를 완료하신 다음에 처리 결과를 IGAWorks 리워드 서버로 전달하는 것입니다.

(*)SignedValue 보안성을 검증하기 위해 사용하는 암호화 문자열입니다. IGAWorks 서버에서는 기본콜백파라미터 (usn,rewardkey,quantity,campaignkey)를 plainText로 하여 생성한 SignedValue를 콜백에 포함하여 전송합니다. 개발사 콜백 서버에서도 동일한 방식으로 SignedValue를 생성하여 IGAWorks에서 전달받은 값과 비교합니다.


샘플코드(c#, php)

콜백 서버에서는 위에 정의된 프로토콜 인터페이스를 준수하여 각 케이스에 알맞은 응답을 IGAWorks리워드 서버로 회신하면 됩니다.

콜백 서버 구성을 도와 드리기 위해 C#, PHP 샘플 코드를 제공하고 있습니다.

다음의 링크에서 샘플 코드를 다운로드 할 수 있습니다.

[IGAWorks 리워드서버 샘플코드]