UPMC API¶
1. 개요¶
본 문서는 (주)유라클에서 제공하는 “MSP Push Platform”의 UPMC (이하 Receiver) Server 연동 API 정의서를 설명하고 있다, 본 문서는 성능 개선, 기능 추가 등의 사항으로 내용이 변경될 수 있다.
1-1. 목적¶
본 문서는 PUSH 서비스의 Receiver Server 연동을 위한 제반 사항을 기술한다.
2. 호출 방법¶
Receiver Server 에 HTTP (POST) 방식으로 연동 API URL 을 호출 하면 JSON Format으로 결과를 반환 합니다.
예) http://[Receiver IP]:[Receiver Port]/[Controll URL]
3. 보안 인증키(AUTHKEY)¶
3-1. 사용 방법¶
리시버 서버 설치 경로에서 WEB-INF > classes > config > receiver.properties 파일을 열어 security.using 의 값을 true로 변경하고 재기동하면 된다. 만약 보안 인증키를 사용하지 않을 시에는 security.using 의 값을 false로 수정하고 재기동 하면 보안기능을 사용하지 않고 리시버 서버를 동작 시킬 수 있다.
3-2. API 요청 방법¶
서버로 API 호출 후 에러를 수신하게 되면 asking_authorization.ctl API를 호출하여 보안 인증키를 내려받아 단말기 메모리에 저장 후 향후 모든 API에 대해 Request 요청 시 해당 보안인증키를 같이 서버에게 전달한다. (클라이언트(단말)는 항상 AUTHKEY를 UTF-8로 URLEncoding하여 서버로 전송하여야 한다.)
푸쉬 APP을 설치 후 단말에서는 가장 먼저 서비스 등록(rcv_register_service.ctl)을 호출하게 되는데 사전에 asking_authorization.ctl를 통해 보안인증키를 내려 받은 후 재호출한다.
서비스 추가(rcv_add_service.ctl) API도 동일한 사용자가 여러 푸쉬앱을 사용하게 되는 Case로 각각의 PSID가 틀려 지므로 asking_authorization.ctl를 통해 보안인증키를 내려 받은 후 재호출한다. (단말에서는 서비스 등록/추가 호출 후 내려 받은 AUTHKEY로 교체)
위 두 가지 경우를 제외하고는 연동 API 규격대로 가장 최근에 내려 받은 보안인증키를 단말에서 메모리에 저장하고 있다가 모든 API 호출 시 서버로 전송한다.
asking_authorization.ctl 을 요청하여 AUTHKEY 발급
서버로부터 발급 받은 AUTHKEY를 단말기에서 메모리에 저장한다.
이후 모든 API 호출 시마다 AUTHKEY를 파라미터로 서버로 전송한다.
3-3. 실패 처리 방법¶
① 인증키 시간만료 (인증키 요청 API 호출)
HTTP Error code = HTTP/1.1 200 OK
JSON Data parsing
HEADER - RESULT_CODE = 0000
BODY ? AUTHKEY 값 저장 및 이후 서버로 호출 시 항상 파라미터로 사용
② 인증키 파라미터 누락 (인증키 요청 API 호출은 고객사의 판단에 의한 SI 요소)
HTTP Error code = HTTP/1.1 400 Bad Request
인증키 요청 API 외 모든 API에서 발생할 수 있으며, AUTHKEY 파라미터는 서버-단말 간 규약으로 AUTHKEY 파라미터 누락 됐을 때 발생
③ 인증키 검증 실패 (인증키 요청 API 호출은 고객사의 판단에 의한 SI 요소)
HTTP Error code = HTTP/1.1 401 Unauthorized
보안인증키를 복호화 자체 실패
보안인증키를 복호화하여 검증하는데 실패했을 발생
④ 사용자 검증 실패 (인증키 요청 API 호출은 고객사의 판단에 의한 SI 요소)
HTTP Error code = HTTP/1.1 403 Forbidden
요청한 아이디로 일치하는 사용자를 찾을 수 없을 때 발생
파라미터로 받은 값과 보안인증키 내의 비교값이 일치하지 않을 때 발생
⑤ 기타 실패
HTTP Error code = HTTP/1.1 500
4. 전문 정의¶
4-1. 보안인증키 요청¶
- 서비스명
보안인증키 요청
- Controller URL
asking_authorization.ctl
- 설명
비인가 사용자에 대해 접속을 차단하기 위한 보안인증키 요청 API
리시버 서버 설정에 등록된 레가시 연동 서버에 대해서는 불필요 (단말기 요청에서만 사용되는 API)
Request (POST 방식 호출)
항목
타입
필수
설명
APP_ID
String
Y
앱 팩키지명 (예:kr.co.morpheus.mobile1)
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
단, 사용자 등록 (rcv_register_user.ctl)을 위한 사전 요청이면 “TMP0”를 Prefix로 사용자 아이디 앞에 붙여 서버로 전송하여 일회용 임시 인증키를 요청한다.
(예: 등록예정 CUID : TESTUSER -> TMP0TESTUSER)
PSID
String
Y
사용자 등록 (rcv_register_user.ctl) 및 서비스 등록 / 추가 (rcv_register_service.ctl 또는 rcv_add_service.ctl) 요청 전에는 NULL 또는 Blank 처리
UPNS : rcv_register_service.ctl 요청 후 발급받은 PSID
APNS : Token
GCM : Registration id
WNS : Channel URI
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
AUTHKEY
String
Y
N
보안인증키
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_sender.ctl
Response
{“BODY”:[{AUTHKEY:C%3D11Q1872gV8cy2Sf8og5p%2BCyINU4nz4a2Ihka6omXpfip3Q%3D}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-2. 접속변수 조회¶
- 서비스명
접속변수 조회
- Controller URL
rcv_comm_configuration.ctl
- 설명
모바일 통신 관련 환경설정값 조회
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (레가시 연동 서버에 대해서는 불필요)
PNSID
String
Y
PUSH 유형 (APNS, UPNS, C2DM, GCM, WNS 등)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등) 확인.4.0-ee 신규추가
APP_ID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM) 확인.4.0-ee 신규추가
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
RECONNECT_PERIOD
String
N
재접속 (단위:초)
KEEPALIVE_PERIOD
String
N
KEEPALIVE (단위:초)
SERVICE_STOP
String
N
서비스 상태 (N:가용, Y:중단)
VERSION
String
N
버전
CONNECT_IP
String
N
N
접속할 UPNS 아이피
CONNECT_PORT
String
N
N
접속할 UPNS포트(해당값이 없으면 앱에서 설정한 값으로 셋팅)
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_comm_configuration.ctl
Response
{“BODY”:[{“RECONNECT_PERIOD”:”360”,”KEEPALIVE_PERIOD”:”5”,”SERVICE_STOP”:”N”,”VERSION”:”1.0”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-3. PUSH 서비스 등록¶
- 서비스명
PUSH 서비스 등록
- Controller URL
rcv_register_service.ctl
- 설명
PUSH를 사용하는 앱이 단말에 최초로 설치되는 경우에 요청하는 최초 “등록”
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등)
DEVICE_TYPE
String
Y
디바이스 유형(‘A’:Android, ‘I’:iPhone, ‘W’:Windows)
DEVICE_MD
String
N
디바이스 모델 ex:SM-N900S. 참고:4.0신규추가
OS_VER
String
N
OS 버전. 참고:4.0신규추가
APP_VER
String
N
앱버전. 참고:4.0신규추가
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM)
PSID
String
N
UPNS : NULL, APNS : Token, GCM: Registration id, WNS : Channel URI rcv_register_service.ctl
PHONENUM
String
N
사용자 전화번호
CBSID
String
N
CBS별 유일한 정보 (CBS의 app id)
APNS_MODE
String
N
APNS 푸시서비스 모드. ex)DEV, REAL 둘 중하나값 참고:4.0신규추가
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
PSID
String
Y
N
UPNS는 등록 후 발급된 PSID
APPID
String
Y
N
어플리케이션 식별 정보
(패키지명)
AUTHKEY
String
Y
N
보안인증키
(단말의 AUTHKEY 교체)
UPNSIP
String
N
N
UPNS로 서비스 가입 시 접속할 아이피를 할당 받는다.
PORT
String
N
N
UPNS로 서비스 가입시 접속할 포트를 할당 받는다.
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_service.ctl
Response
{“BODY”:[{“PSID”:”60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94”,”APPID”:”com.push.app”,”AUTHKEY”:”C%3D11Q1872gV8cy2Sf8og5p%2BCyINU4nz4a2Ihka6omXpfip3Q%3D”,”UPNSIP”:”111.111.111.111”,”PORT”:”1883”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-4. PUSH 서비스 조회¶
- 서비스명
PUSH 서비스 조회
- Controller URL
rcv_get_service.ctl
- 설명
해당 단말에서 PUSH 서비스를 사용하고 있는 앱들의 목록을 조회
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
PSID
String
Y
PSID
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등)
DEVICE_TYPE
String
Y
디바이스 유형(‘A’:Android, ‘I’:iPhone, ‘W’:Windows)
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM)
PHONENUM
String
Y
사용자 전화번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
PSID
String
Y
N
UPNS는 등록 후 발급된 PSID
APPID
String
Y
N
어플리케이션 식별 정보
(패키지명)
ISREGISTERED
String
Y
N
푸쉬서비스 등록여부 Y:등록, N:미등록, C: CUID 변경됨.
C는 원유저원디바이스일 때 나타나며 서비스가입을 하지 말고 유저등록프로세스 호출.
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_get_service.ctl
Response
{“BODY”:[{“PSID”:”60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94”,”APPID”:”com.push.app”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-5. PUSH 서비스 삭제¶
- 서비스명
PUSH 서비스 삭제
- Controller URL
rcv_delete_service.ctl
- 설명
수신자가 수신 가능한 서비스(PSID + APPID)를 제거
PSID에 등록된 APPID가 하나도 없을 경우 PSID까지 제거
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등)
DEVICE_TYPE
String
Y
디바이스 유형(‘A’:Android, ‘I’:iPhone, ‘W’:Windows)
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM)
PSID
String
Y
UPNS : PSID, APNS : Token, GCM: Registration id, WNS : Channel URI
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
PSID_DELETED
String
Y
N
삭제결과 (Y/N)
PSID
String
Y
N
UPNS는 등록 후 발급된 PSID
APPID
String
Y
N
어플리케이션 식별 정보
(패키지명)
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_delete_service.ctl
Response
{“BODY”:[{“PSID_DELETED”:”Y”,”PSID”:”60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94”,”APPID”:”com.push.app”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-6. 사용자 등록¶
- 서비스명
사용자 등록
- Controller URL
rcv_register_user.ctl
- 설명
사용자 테이블에 사용자 정보를 추가
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
Y
PSID (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보. (팩키지명)
DEVICE_ID
String
Y
디바이스 고유아이디
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM)
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
CNAME
String
Y
사용자 이름
Response (JSON 방식의 응답)
구분
항목
값
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_user.ctl
Response
{“BODY”:[{}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-7. PUSH 서비스가입+유저등록¶
- 서비스명
PUSH 서비스가입+유저등록
- Controller URL
new_rcv_register_service_and_user.ctl
- 설명
해당 서비스는 서비스 등록과 유저등록을 한번에 처리 할 수 있는 API로써 서비스 조회도 할 필요가 없습니다.
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
CNAME
String
Y
사용자 이름
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등)
DEVICE_TYPE
String
Y
디바이스 유형(‘A’:Android, ‘I’:iPhone, ‘W’:Windows)
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM)
PSID
String
N
UPNS : NULL, APNS : Token, GCM: Registration id, WNS : Channel URI rcv_register_service.ctl
PHONENUM
String
N
사용자 전화번호
CBSID
String
N
CBS별 유일한 정보 (CBS의 app id)
APNS_MODE
String
N
APNS 푸시서비스 모드. ex)DEV, REAL 둘 중하나값 참고:4.0신규추가
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
PSID
String
Y
N
UPNS는 등록 후 발급된 PSID
APPID
String
Y
N
어플리케이션 식별 정보
(패키지명)
AUTHKEY
String
Y
N
보안인증키
(단말의 AUTHKEY 교체)
UPNSIP
String
N
N
UPNS로 서비스 가입 시 접속할 아이피를 할당 받는다.
PORT
String
N
N
UPNS로 서비스 가입시 접속할 포트를 할당 받는다.
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/new_rcv_register_service_and_user.ctl
Response
{“BODY”:[{“PSID”:”60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94”,”APPID”:”com.push.app”,”AUTHKEY”:”C%3D11Q1872gV8cy2Sf8og5p%2BCyINU4nz4a2Ihka6omXpfip3Q%3D”,”UPNSIP”:”111.111.111.111”,”PORT”:”1883”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-8. CUID 조회¶
- 서비스명
CUID 조회
- Controller URL
rcv_query_cuid.ctl
- 설명
사용자 CUID, APPID로 사용자 데이터 조회
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
Y
PSID (레가시 연동 서버에 대해서는 불필요)
CUID
String
Y
사용자 CUID
APPID
String
Y
사용자 APPID
Response (JSON 방식의 응답)
구분
항목
값
필수
반복
설명
HEADER
RESULT_CODE
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
Y
N
처리 Controller
BODY
(USERS:
jason형태배열)
CUID
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
CNAME
Y
사용자 이름
PHONENO
Y
사용자 전화번호
PSID
사용자 PSID
PNSID
사용자 PNSID
DEVICESEQ
사용자 DEVICE 순번
PSNINFOSEQ
사용자 PNSINFO 순번
DEVICEID
사용자 DEVICEID
DEVICETYPE
사용자 DEVICETYPE
APPID
사용자 APPID
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_query_cuid.ctl
Response
{“BODY”:{“USERS”:[{“cuid”:”MIUM2”,”appid”:”com.uracle.push.test”,”psid”:”APA91bFrQTfWBHgzjZTG9Scx0rocdaaJrkmJMJN71-5vWP2r8486RxaTmA5z8E5WMhwQ8gsRtgaSwn3ITWr6z9NjOhd7StJwECyCYgitYueyki3bGtcPXfoLCRY4iM3E_S63u4qC_FlqhB1AvZshISNiANhlXOjS3Ele6o_n9Aop1NNj5PnxBPc”,”pnsid”:”UPNS”,”deviceseq”:”1”,”pnsinfoseq”:”1”,”deviceid”:”359795040330504”,”devicetype”:”A”,”cname”:”유병희”,”phoneno”:”010-1234-1234”}]},”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”}}
4-9. 사용자 삭제¶
- 서비스명
사용자 삭제
- Controller URL
rcv_delete_user.ctl
- 설명
푸쉬서비스에 매칭된 사용자 아이디를 GUEST로 변경
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
Y
PSID
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM)
APP_ID
String
Y
어플리케이션 식별 정보. (팩키지명)
DEVICE_ID
String
Y
디바이스 고유아이디
CUID
String
Y
사용자 아이디
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
ROWS
String
Y
N
수정 처리된 사용자 수
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_delete_user.ctl
Response
{“BODY”:[{“ROWS”:”1”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-10. 사용자 그룹 등록¶
- 서비스명
사용자 그룹 등록
- Controller URL
rcv_register_usergroup.ctl
- 설명
사용자 그룹 등록 (사용자 그룹을 생성할 때 사용)
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (레가시 연동 서버에 대해서는 불필요)
GROUPNAME
String
Y
사용자 그룹명
Response (JSON 방식의 응답)
구분
항목
값
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
Map
String
Y
N
처리 Controller
BODY
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_usergroup.ctl
Response
{“BODY”:[{}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-11. 사용자 그룹 조회¶
- 서비스명
사용자 그룹 조회
- Controller URL
rcv_get_usergroup.ctl
- 설명
사용자 그룹정보 조회
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (레가시 연동 서버에 대해서는 불필요)
GROUPSEQ
String
Y
사용자 그룹 일련번호
GROUPNAME
String
Y
사용자 그룹명
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
REGDATE
String
String
N
등록일(YYYYMMDD HHMISS)
MODDATE
String
String
N
수정일(YYYYMMDD HHMISS)
GROUPSEQ
String
String
N
사용자 그룹 일련번호
GROUPNAME
String
String
N
사용자 그룹명
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_get_usergroup.ctl
Response
{“BODY”:[{“REGDATE”:”20140418 164042”,”MODDATE”:”20140418 164042”, “GROUPSEQ”:5,”GROUPNAME”:”TEST_GROUP”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-12. 사용자 그룹 삭제¶
- 서비스명
사용자 그룹 삭제
- Controller URL
rcv_delete_usergroup.ctl
- 설명
사용자 그룹 삭제 (그룹에 등록된 사용자가 있으면 모두 일괄 삭제된다. 사용자 정보 자체는 삭제되지 않는다.)
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
Y
PSID (레가시 연동 서버에 대해서는 불필요)
GROUPSEQ
String
Y
사용자 그룹 일련번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
ROWS
String
Y
N
삭제 처리된 그룹 수
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_delete_usergroup.ctl
Response
{“BODY”:[{“ROWS”:”1”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-13. 사용자 그룹 사용자 등록¶
- 서비스명
사용자 그룹 사용자 등록
- Controller URL
rcv_register_usergroup_user.ctl
- 설명
사용자 그룹에 사용자를 등록
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (레가시 연동 서버에 대해서는 불필요)
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
GROUPSEQ
String
Y
사용자 그룹 일련번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_usergroup_user.ctl
Response
{“BODY”:[{}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-14. 사용자 그룹 사용자 조회¶
- 서비스명
사용자 그룹 사용자 조회
- Controller URL
rcv_get_usergroup_user.ctl
- 설명
사용자 그룹에 속한 사용자 정보를 조회
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (레가시 연동 서버에 대해서는 불필요)
GROUPSEQ
String
Y
사용자 그룹 일련번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
CUID
String
Y
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_get_usergroup_user.ctl
Response
{“BODY”:[{“CUID”:”TEST000001”},{“CUID”:”TEST000002”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-15. 사용자 그룹 사용자 삭제¶
- 서비스명
사용자 그룹 사용자 삭제
- Controller URL
rcv_delete_usergroup_user.ctl
- 설명
사용자 그룹에 등록된 사용자를 그룹에서 삭제
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (레가시 연동 서버에 대해서는 불필요)
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
GROUPSEQ
String
Y
사용자 그룹 일련번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
ROWS
String
Y
N
삭제 처리된 사용자 수
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_delete_usergroup_user.ctl
Response
{“BODY”:[{“ROWS”:”1”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-16. PUSH 발송¶
- 서비스명
PUSH 발송
- Controller URL
rcv_register_message.ctl
- 설명
관리자가 수신자를 지정하여 전송할 PUSH메시지를 등록
- PUSH 발송 샘플
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
리시버서버 보안 토큰키. 보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (해당 앱) 레가시 연동 서버에 대해서는 불필요
CUID
Json 배열 or String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)이용 PUSH 보낼 경우.
확인)위의 PSID가 Blank일 경우일 때 만 사용됨.
ex)[“testuser1”,”testuser2”,”testuser3”, …] or testuser1
MESSAGE
String
Y
PUSH 메시지 (String) ex) 메시지를 보냅니다.
TEMPLATE_YN
String
N
보내는 메시지 내용에 %CUID% 와 같은 치환변수가 있을 경우 반드시 Y로 발송하여야 치환처리 됩니다.
SUB_TITLE
String
N
선택사항. 해당 값을 보낼시 APNS발송은 HTTP2로 발송됨.
PRIORITY
String
Y
우선순위. 여기서는 무조건 3으로 보냄. ex) 3
BADGENO
String
Y
읽음확인여부에 따라Badge를 카운트를 증가할 필요가 있는 메시지일 경우 1, 읽음 확인이 필요하지 않는 메시지일 경우 0
RESERVEDATE
String
Y
예약발송일시(YYYYMMDD HHMISS, 즉시발송은 Blank) ex)20150720 123000
SERVICECODE
String
Y
푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) 0001
SOUNDFILE
String
Y
사운드 파일명 ex)alert.aif
EXT
String
N
PUSH 부가 히든메시지. 없으면 빈값(blank) 처리. PUSH 커스텀 메시지. ex)
SENDERCODE
String
Y
메시지 구분코드, 관리페이지 푸시>설정>메시지 구분에 등록된 코드 입력 ex)admin
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
ex) kr.co.morpheus.mobile1
TYPE
String
N
개별발송 : E, 시스템 개별대량발송일 경우 : S
ex) E
DB_IN
String
N
성공메세지를 DB테이블에 저장. Y:저장, N:저장하지 않음. 보내지 않을 경우 UPMC시스템에 설정파일 참조.
ex) N
SPLIT_MSG_CNT
String
N
분할발송 메시지 건수 ( 0일경우 분할발송 안함)
DELAY_SECOND
String
N
분할발송 후 SLEEP 시간 ( 0일경우 분할발송 안함)
SEND_TIME_LIMIT
String
N
발송제한 시간 설정.
발송제한시간이 필요 없을 경우는 빈값을 보낸다.
발송제한 시간 설정 방법
시간:분 형태로 보낸다.
3:00 새벽3시이후 발송되지 않음
15:00 오후 3시부터 발송되지 않음.
DOZ_GCM_SEND
String
N
GCM도 서비스 가입이 되어 있고 푸시발송서버 UPNS일 경우 일때
UPMC서버설정 또한 GCM_DOZMOD_PROCESS가 Y로 설정되어 있을 때
해당 파라미터를 Y로 발송했을 때 GCM으로 dummy data를 날려
Doz모드를 깨어나게 할 때 사용.
Y or N 둘 중 하나 값 사용
PUSH_FAIL_SMS_SEND
String
N
개별발송/배열발송일 경우 푸시 발송 실패시 SMS발송처리 여부.
해당값을 Y로 보내면 푸시 발송 실패시SMS 발송테이블(T_PUSH_SMS)에 발송정보가 저장된다.
SMS_READ_WAIT_MINUTE
String
N
0 : 사용 하지 않음. 기타 정수값. (대기 분)
Ex) 5
의미: 푸시발송 후 5분안에 수신확인이 들어오지 않은 사용자를 SMS 발송저장테이블(T_PUSH_SMS)에 등록된다.
주의 : 해당 기능을 사용 할 경우 SMS 문자를 받고 푸시도 중복으로 받을 수 있음을 유의 하시기 바랍니다.
Response(JSON 방식의 응답). 확인 : quest 파라미터 중 TYPE에 따라 응답 데이터 다름
구분
항목
값
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
SENDMSG_SEQNO
String
Y
발송메세지 고유 번호.
주의! TYPE : 시스템 개별대량 발송(S)일 경우는 메세지 고유번호가 없으므로 0을 리턴함
REG_SUCCESS_CNT
String
Y
N
푸쉬서버 발송요청수
REG_FAIL_CNT
String
Y
N
푸쉬서버 발송요청 실패수
UPNS
String
Y
N
UPNS 발송요청수
APNS
String
Y
N
APNS 발송요청수
GCM
String
Y
N
GCM 발송요청수
HOST_URL
String
Y
N
처리하는 리시버 URL
NOTEXISTCUIDS
String
Y
Y
배열발송일 경우 푸시서비스에 가입되어 있지 않는 사용자 아이디 리스트를 리턴한다.
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_message.ctl
Response
{“HEADER”:{“RESULT_CODE”:”0000”, “RESULT_BODY”:”OK”},
“BODY”:{“APNS”:”0”, “REG_SUCCESS_CNT”:”1”, “UPNS”:”0”, “REG_FAIL_CNT”:”0”, “GCM”:”1”, “SENDMSG_SEQNO”:”405”, “NOTEXISTCUIDS”: [“apnsTest2”,”test00010”],
“HOST_URL”:”http://127.0.0.1:8085”}}
TYPE : 예약발송 응답 메세지
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
N
N
처리 Controller
BODY
RESERVE_SEQNO
String
발송메세지 고유 번호. 예약발송 취소시 사용
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_message.ctl
Response
{“HEADER”:{“RESULT_CODE”:”0000”, “RESULT_BODY”:”OK”},
“BODY”:{“RESERVE_SEQNO”:”20”}}
4-17. PUSH 발송 (Badge 발송 전용)¶
- 서비스명
PUSH 발송 (Badge 발송 전용)
- Controller URL
noAlertBadgeSend.ctl
- 설명
알림없이 뱃지만 발송하는 PUSH 메시지를 등록
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
리시버서버 보안 토큰키. 보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID (해당 앱) 레가시 연동 서버에 대해서는 불필요
CUID
Json 배열
or
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)이용 PUSH 보낼 경우.
확인)위의 PSID가 Blank일 경우일 때 만 사용됨.
ex)[“testuser1”,”testuser2”,”testuser3”, …] or testuser1
BADGENO
String
Y
읽음확인여부에 따라Badge를 카운트를 증가할 필요가 있는 메시지일 경우 1, 읽음 확인이 필요하지 않는 메시지일 경우 0
SERVICECODE
String
Y
푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) 0001
EXT
String
N
PUSH 부가 히든메시지. 없으면 빈값(blank) 처리. PUSH 커스텀 메시지. ex)
SENDERCODE
String
Y
메시지 구분코드, 관리페이지 푸시>설정>메시지 구분에 등록된 코드 입력 ex)admin
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
ex) kr.co.morpheus.mobile1
TYPE
String
Y
S 설명 : 무조건 ‘S’로 보내야 한다. DB저장 안함.
ex) S
Response(JSON 방식의 응답). 확인 : quest 파라미터 중 TYPE에 따라 응답 데이터 다름
구분
항목
값
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
BODY
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/noAlertBadgeSend.ctl
Response
{“HEADER”:{“RESULT_CODE”:”0000”, “RESULT_BODY”:”OK”},
“BODY”:{}
TYPE : 예약발송 응답 메세지
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
N
N
처리 Controller
BODY
RESERVE_SEQNO
String
발송메세지 고유 번호. 예약발송 취소시 사용
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/noAlertBadgeSend.ctl
Response
{“HEADER”:{“RESULT_CODE”:”0000”, “RESULT_BODY”:”OK”},
“BODY”:{“RESERVE_SEQNO”:”20”}}
4-18. PUSH 그룹/ 회원발송/비회원발송/전체 발송¶
- 서비스명
PUSH 그룹/ 회원발송/비회원발송/전체 발송
- Controller URL
rcv_register_groupmessage.ctl
- 설명
PUSH 그룹/ 회원발송/비회원발송/전체 발송
Request (POST 방식 호출)
항목
값
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요) ex)
PSID
String
N
PSID 데이터 포멧 json 배열(레가시 연동 서버에 대해서는 불필요) ex)
TYPE
String
Y
E:개별발송 / G:그룹발송 / A:전체발송/ M:회원발송/ N: 비회원발송
ex) M
GROUPSEQ
String
Y
그룹 시퀀스 그룹발송일 때 만 필요 아닐땐 Blank
ex)1
MESSAGE
String
Y
PUSH 메시지
ex) 테스트 푸쉬를 보냅니다.
TEMPLATE_YN
String
N
보내는 메시지 내용에 %CUID% 와 같은 치환변수가 있을 경우 반드시 Y로 발송하여야 치환처리 됩니다.
PRIORITY
String
Y
우선순위. 여기서는 3으로 하드 코딩
ex) 3
BADGENO
String
Y
읽음확인여부에 따라Badge를 카운트를 증가할 필요가 있는 메시지일 경우 1, 읽음 확인이 필요하지 않는 메시지일 경우 0
RESERVEDATE
String
Y
예약발송일시(YYYYMMDD HHMISS, 즉시발송은 Blank)
ex) ex)20150720 123000
SERVICECODE
String
Y
푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) 0001
SOUNDFILE
String
Y
사운드 파일명 ex)alert.aif
EXT
String
N
PUSH 부가 히든메시지. 없으면 빈값(blank) 처리. PUSH 커스텀 메시지. ex)
SENDERCODE
String
Y
메시지 구분코드, 관리페이지 푸시>설정>메시지 구분에 등록된 코드 입력 ex)admin
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
ex) kr.co.morpheus.mobile1
DB_IN
String
N
성공메세지를 DB테이블에 저장. Y:저장, N:저장하지 않음. 보내지 않을 경우 UPMC시스템에 설정파일 참조.
ex) N
SPLIT_MSG_CNT
String
N
분할발송 메시지 건수 ( 0일경우 분할발송 안함)
DELAY_SECOND
String
N
분할발송 후 SLEEP 시간 ( 0일경우 분할발송 안함)
SEND_TIME_LIMIT
String
N
발송제한 시간 설정.
발송제한시간이 필요 없을 경우는 빈값을 보낸다.
발송제한 시간 설정 방법
시작시간:분-종료시간:분 형태로 보낸다.
3:00 새벽3시이후 발송되지 않음
15:00 오후 3시부터 발송되지 않음.
DOZ_GCM_SEND
String
N
GCM도 서비스 가입이 되어 있고 푸시발송서버 UPNS일 경우 일때
UPMC서버설정 또한 GCM_DOZMOD_PROCESS가 Y로 설정되어 있을 때
해당 파라미터를 Y로 발송했을 때 GCM으로 dummy data를 날려
Doz모드를 깨어나게 할 때 사용.
Y or N 둘 중 하나 값 사용
PUSH_FAIL_SMS_SEND
String
N
개별발송/배열발송일 경우 푸시 발송 실패시 SMS발송처리 여부.
해당값을 Y로 보내면 푸시 발송 실패시SMS 발송테이블(T_PUSH_SMS)에 발송정보가 저장된다.
SMS_READ_WAIT_MINUTE
String
N
0 : 사용 하지 않음. 기타 정수값. (대기 분)
Ex) 5
의미: 푸시발송 후 5분안에 수신확인이 들어오지 않은 사용자를 SMS 발송저장테이블(T_PUSH_SMS)에 등록된다.
주의 : 해당 기능을 사용 할 경우 SMS 문자를 받고 푸시도 중복으로 받을 수 있음을 유의 하시기 바랍니다.
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
SENDMSG_SEQNO
String
Y
N
발송메세지 고유 번호.
주의! TYPE : 시스템 개별대량 발송(S)일 경우는 메세지 고유번호가 없으므로 0을 리턴함
REG_SUCCESS_CNT
String
Y
N
푸쉬서버 발송요청수
REG_FAIL_CNT
String
Y
N
푸쉬서버 발송요청 실패수
UPNS
String
Y
N
UPNS 발송요청수
APNS
String
Y
N
APNS 발송요청수
GCM
String
Y
N
GCM 발송요청수
HOST_URL
String
Y
N
처리하는 리시버 URL
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/ rcv_register_groupmessage.ctl
Response
{“BODY”:{“APNS”:”0”,”REG_SUCCESS_CNT”:”1”,”UPNS”:”1”,”REG_FAIL_CNT”:”0”,”GCM”:”0”,”SENDMSG_SEQNO”:”1151”,”HOST_URL”:””},”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”}}
4-19. PUSH CSV/템플릿CSV 발송¶
- 서비스명
PUSH CSV/템플릿CSV 발송
- Controller URL
rcv_register_csvmessage.ctl
- 설명
PUSH CSV/템플릿CSV 발송
Request (POST 방식 호출)
항목
값
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요) ex)
PSID
String
N
PSID 데이터 포멧 json 배열(레가시 연동 서버에 대해서는 불필요) ex)
TYPE
String
Y
E:개별발송 / G:그룹발송 / A:전체발송
ex) E
GROUPSEQ
String
Y
그룹 시퀀스 그룹발송일 때 만 필요 아닐땐 Blank
ex)1
MESSAGE
String
Y
PUSH 메시지
ex) 테스트 푸쉬를 보냅니다.
PRIORITY
String
Y
우선순위. 여기서는 3으로 하드 코딩
ex) 3
BADGENO
String
Y
읽음확인여부에 따라Badge를 카운트를 증가할 필요가 있는 메시지일 경우 1, 읽음 확인이 필요하지 않는 메시지일 경우 0
RESERVEDATE
String
Y
예약발송일시(YYYYMMDD HHMISS, 즉시발송은 Blank)
ex) ex)20150720 123000
SERVICECODE
String
Y
푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) 0001
SOUNDFILE
String
Y
사운드 파일명 ex)alert.aif
EXT
String
N
PUSH 부가 히든메시지. 없으면 빈값(blank) 처리. PUSH 커스텀 메시지. ex)
SENDERCODE
String
Y
메시지 구분코드, 관리페이지 푸시>설정>메시지 구분에 등록된 코드 입력 ex)admin
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
ex) kr.co.morpheus.mobile1
DB_IN
String
N
성공메세지를 DB테이블에 저장. Y:저장, N:저장하지 않음. 보내지 않을 경우 UPMC시스템에 설정파일 참조.
ex) N
upload_file
MultipartFile
Y
CSV파일 파일형식은
Morpheus_ServerPlatformR2_Admin_사용자매뉴얼(PUSH관리) 참고
SPLIT_MSG_CNT
String
N
분할발송 메시지 건수 ( 0일경우 분할발송 안함)
DELAY_SECOND
String
N
분할발송 후 SLEEP 시간 ( 0일경우 분할발송 안함)
SEND_TIME_LIMIT
String
N
발송제한 시간 설정.
발송제한시간이 필요 없을 경우는 빈값을 보낸다.
발송제한 시간 설정 방법
시작시간:분-종료시간:분 형태로 보낸다.
3:00 새벽3시이후 발송되지 않음
15:00 오후 3시부터 발송되지 않음.
DOZ_GCM_SEND
String
N
GCM도 서비스 가입이 되어 있고 푸시발송서버 UPNS일 경우 일때
UPMC서버설정 또한 GCM_DOZMOD_PROCESS가 Y로 설정되어 있을 때
해당 파라미터를 Y로 발송했을 때 GCM으로 dummy data를 날려
Doz모드를 깨어나게 할 때 사용.
Y or N 둘 중 하나 값 사용
PUSH_FAIL_SMS_SEND
String
N
개별발송/배열발송일 경우 푸시 발송 실패시 SMS발송처리 여부.
해당값을 Y로 보내면 푸시 발송 실패시SMS 발송테이블(T_PUSH_SMS)에 발송정보가 저장된다.
SMS_READ_WAIT_MINUTE
String
N
0 : 사용 하지 않음. 기타 정수값. (대기 분)
Ex) 5
의미: 푸시발송 후 5분안에 수신확인이 들어오지 않은 사용자를 SMS 발송저장테이블(T_PUSH_SMS)에 등록된다.
주의 : 해당 기능을 사용 할 경우 SMS 문자를 받고 푸시도 중복으로 받을 수 있음을 유의 하시기 바랍니다.
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
SENDMSG_SEQNO
String
Y
N
발송메세지 고유 번호.
주의! TYPE : 시스템 개별대량 발송(S)일 경우는 메세지 고유번호가 없으므로 0을 리턴함
REG_SUCCESS_CNT
String
Y
N
푸쉬서버 발송요청수
REG_FAIL_CNT
String
Y
N
푸쉬서버 발송요청 실패수
UPNS
String
Y
N
UPNS 발송요청수
APNS
String
Y
N
APNS 발송요청수
GCM
String
Y
N
GCM 발송요청수
HOST_URL
String
Y
N
처리하는 리시버 URL
NOTEXISTCUIDS
String
Y
Y
배열발송일 경우 푸시서비스에 가입되어 있지 않는 사용자 아이디 리스트를 리턴한다.
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/ rcv_register_csvmessage.ctl
Response
{“BODY”:{“APNS”:”0”,”REG_SUCCESS_CNT”:”1”,”UPNS”:”1”,”REG_FAIL_CNT”:”0”,”GCM”:”0”,”SENDMSG_SEQNO”:”1151”,”HOST_URL”:””},”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”}}
4-20. 분할 발송 취소¶
- 서비스명
발송 중인 메시지 삭제
- Controller URL
cacel_sendingMsg.ctl
- 설명
대량발송 또는 지연발송 중인 메시지들 중 아직 발송되지 않은 메시지를 취소처리함.
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
SEQNO
String
Y
발송 취소처리 할 메시지원장고유번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
SEQNO
String
Y
N
발송취소 요청한 메시지 시퀀스번호
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/cacel_sendingMsg.ctl
Response
{“BODY”:[{“SEQNO”:”1”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-21. 푸시 발송 진행상태 (Progress bar 사용시)¶
- 서비스명
발송 메시지 발송상태
- Controller URL
rcv_getSentMsgInfo.ctl
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
SEQNO
String
Y
발송 요청 후 받은 메시지원장고유번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
sentInfo
String
Y
N
KEY
Description
SEQNO
발송 고유번호
TOTAL_SEND_CNT
발송처리해야할 전체수
SEND_CNT
성공수
FAIL_CNT
실패수
PROCESS_CNT
발송처리건수 (성공수+실패수)
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_getSentMsgInfo.ctl
Response
4-22. 분할 지연발송 취소¶
- 서비스명
PUSH 분할지연발송 취소
- Controller URL
rcv_sleep_send_cancel.ctl
- 설명
PUSH 분할지연발송일 경우 발송 도중에 취소를 하는 API
주의사항: 여러대의 UPMC가 있을 경우 반드시 발송시 리턴값으로 받은 HOST_URL을 이용하여 해당 서버로 지연발송 취소를 하여야 만 한다.
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
PSID
String
N
PSID 데이터 포멧 json 배열(레가시 연동 서버에 대해서는 불필요
SEQNO
String
Y
발송시 리턴받은 메시지 원장 번호
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
ROWS
String
Y
N
1:삭제, 0:미삭제 (발송 진행중 또는 해당 데이터 미존재)
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_sleep_send_cancel.ctl
Response
{“BODY”:[{“SEQNO”:”1”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-23. PUSH 예약 메시지 삭제¶
- 서비스명
PUSH 예약 메시지 삭제
- Controller URL
rcv_message_cancel_reservation.ctl
- 설명
PUSH 예약 메시지 삭제
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
RESERVE_SEQNO
String
Y
예약 메시지 메시지 등록 유니크 값
(T_PUSH_RESERVE_MSG 테이블 내의 RESERVE_SEQNO)
ex)120348
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
ROWS
String
Y
N
1:삭제, 0:미삭제 (발송 진행중 또는 해당 데이터 미존재)
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_message_cancel_reservation.ctl
Response
{“BODY”:[{“ROWS”:”1”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-24. Public PUSH 수신확인¶
- 서비스명
Public PUSH 수신확인
- Controller URL
rcv_register_sent_ack.ctl
- 설명
GCM, APNS, WMS를 통해 PUSH를 수신한 단말용 수신확인 API
Request (POST 방식 호출)
항목
값
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등) 확인.4.0-ee 신규추가
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM) 확인.4.0-ee 신규추가
SEQNO
String
Y
메시지 마스터 번호
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
PSID
String
Y
APNS : Token, GCM: Registration id, WNS : Channel URI
SENDDATE
String
Y
받은 메세지 정보에서 senddate 값을 리턴
DB_IN
String
Y
받은 메세지 정보에서 db_in 값을 리턴. 주의)UPNS는 모두 대문자임
SENDERCODE
String
N
주의.UPNS 발송일 경우는 필수 입니다.
Response (JSON 방식의 응답)
구분
항목
필수
반복
설명
HEADER
RESULT_CODE
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
Y
N
처리 Controller
BODY
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_sent_ack.ctl
Response
{“BODY”:[{}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-25. PUSH 메시지 읽음 확인¶
- 서비스명
PUSH 메시지 읽음확인
- Controller URL
rcv_register_send_result.ctl
- 설명
PUSH 메시지를 전송받은 단말의 앱에서 사용자가 메시지를 확인API
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등) 확인. 4.0-ee 신규추가
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM) 확인. 4.0-ee 신규추가
SEQNO
String
Y
메시지 마스터 번호
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
PSID
String
Y
APNS : Token, GCM: Registration id, WNS : Channel URI
SENDDATE
String
Y
받은 메세지 정보에서 senddate 값을 리턴
DB_IN
String
Y
받은 메세지 정보에서 db_in 값을 리턴. 주의)UPNS는 모두 대문자임
BADGENO
String
N
다음 푸시발송시 BADGENO를 위해 서버에 세팅 할 BADGENO 값.
현재 단말에 표시되는 BADGENO값을 넘겨준다.
예외. “-1” 일 경우에는 현재서버에 저장된 뱃지카운트에서 하나 뺀다.
SENDERCODE
String
N
주의.UPNS 발송일 경우는 필수 입니다.
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_send_result.ctl
Response
{“BODY”:[{}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-26. 뱃지 강제셋팅/초기화¶
- 서비스명
뱃지 강제셋팅/초기화
- Controller URL
rcv_init_badgeNo.ctl
- 설명
뱃지 강제셋팅/초기화
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등) 확인.4.0-ee 신규추가
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM) 확인.4.0-ee 신규추가
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
BADGENO
String
Y
강제로 세팅할 뱃지카운트.
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
BODY
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_register_send_result.ctl
Response
{“BODY”:[{}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”}}
4-27. PUSH 재발송¶
- 서비스명
PUSH 메시지 재발송
- Controller URL
rcv_retry_message.ctl
- 설명
PUSH 메시지를 재발송
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
Y
인증보안키 (레가시 연동 서버에 대해서는 불필요)
SEQNO
String
Y
재발송 할 메시지 마스터 번호
RETRY_TYPE
String
Y
재발송 타입
CON_FAIL : push server(upns,provider)와의 연결 장애로 발송 실패한 메시지에 대한 재 발송
NOT_RECV : 수신확인 안된 메시지에 대한 재 발송
NOT_READ : 읽음확인 안된 메시지에 대한 재 발송
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
SENDMSG_SEQNO
String
Y
발송메세지 고유 번호.
주의! TYPE : 시스템 개별대량 발송(S)일 경우는 메세지 고유번호가 없으므로 0을 리턴함
REG_SUCCESS_CNT
String
Y
N
푸쉬서버 발송요청수
REG_FAIL_CNT
String
Y
N
푸쉬서버 발송요청 실패수
UPNS
String
Y
N
UPNS 발송요청수
APNS
String
Y
N
APNS 발송요청수
GCM
String
Y
N
GCM 발송요청수
HOST_URL
String
Y
N
처리하는 리시버 URL
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/ rcv_retry_message.ctl
Response
{“HEADER”:{“RESULT_CODE”:”0000”, “RESULT_BODY”:”OK”},
“BODY”:{“APNS”:”0”, “REG_SUCCESS_CNT”:”1”, “UPNS”:”0”, “REG_FAIL_CNT”:”0”, “GCM”:”1”, “SENDMSG_SEQNO”:”405”, “HOST_URL”:”http://211.241.199.139:8085”}}
4-28. 앱삭제여부를 위한 API¶
- 서비스명
앱삭제여부를 위한 API
- Controller URL
rcv_appAlive.ctl
- 설명
앱삭제여부를 위한 API
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
PSID
String
Y
PSID
CUID
String
Y
사용자 아이디 (로그인 아이디 등 유일한 정보)
DEVICE_ID
String
Y
디바이스 식별 정보(UUID등)
PNSID
String
Y
PUSH 유형 (UPNS,UPNC,GCM,APNS,WNS,AOM)
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
PSID
String
Y
N
UPNS는 등록 후 발급된 PSID
APPID
String
Y
N
어플리케이션 식별 정보
(패키지명)
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_get_service.ctl
Response
{“BODY”:[{“PSID”:”60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94”,”APPID”:”com.push.app”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-29. UPNS 유저등록 카운트수 조회¶
- 서비스명
UPNS 유저등록 카운트수 조회
- Controller URL
getRedisUpnsUserCntInfo.ctl
- 설명
UPNS 유저등록 카운트수 조회
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
UPNS_GROUP1
String
Y
N
넣은 값 리턴.
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_get_service.ctl
Response
{“BODY”:[{“UPNS_GROUP_1”:”20053”,”UPNS_GROUP_2”:”20052”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}
4-30. UPNS 유저등록카운트 수동셋팅¶
- 서비스명
UPNS 유저등록카운트 수동셋팅
- Controller URL
redisUpnsUserCntSet.ctl
- 설명
UPNS 유저등록카운트 수동셋팅
Request (POST 방식 호출)
항목
타입
필수
설명
AUTHKEY
String
N
인증보안키 (레가시 연동 서버에 대해서는 불필요)
APP_ID
String
Y
어플리케이션 식별 정보 (패키지명)
UPNS_GROUP1
String
Y
DB에 등록되어 있는 UPNS 아이디를 키로 value값을 유저수로 하여 넘긴다.
Response (JSON 방식의 응답)
구분
항목
타입
필수
반복
설명
HEADER
RESULT_CODE
String
Y
N
0000 : 응답 성공
그외 : 에러 메시지
RESULT_BODY
String
Y
N
OK : 응답 성공
그외 : 에러 메시지
SERVICE
String
Y
N
처리 Controller
BODY
UPNS_GROUP1
String
Y
N
넣은 값 리턴.
연동 예시
Request
http://[Receiver IP]:[Receiver Port]/rcv_get_service.ctl
Response
{“BODY”:[{“UPNS_GROUP_1”:”20053”,”UPNS_GROUP_2”:”20052”}],”HEADER”:{“RESULT_CODE”:”0000”,”RESULT_BODY”:”OK”,”SERVICE”:”kr.msp.push.receiver.controller.ReceiverController”}}