UPMC API

1. 개요

본 문서는 (주)유라클에서 제공하는 “MSP Push Platform”의 UPMC (이하 Receiver) Server 연동 API 정의서를 설명하고 있다, 본 문서는 성능 개선, 기능 추가 등의 사항으로 내용이 변경될 수 있다.

download [UPMC 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 호출 시 서버로 전송한다.

  1. asking_authorization.ctl 을 요청하여 AUTHKEY 발급

  2. 서버로부터 발급 받은 AUTHKEY를 단말기에서 메모리에 저장한다.

  3. 이후 모든 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 발송

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

발송제한 시간 설정.

발송제한시간이 필요 없을 경우는 빈값을 보낸다.

발송제한 시간 설정 방법

시간:분 형태로 보낸다.

  1. 3:00 새벽3시이후 발송되지 않음

  2. 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

발송제한 시간 설정.

발송제한시간이 필요 없을 경우는 빈값을 보낸다.

발송제한 시간 설정 방법

시작시간:분-종료시간:분 형태로 보낸다.

  1. 3:00 새벽3시이후 발송되지 않음

  2. 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

발송제한 시간 설정.

발송제한시간이 필요 없을 경우는 빈값을 보낸다.

발송제한 시간 설정 방법

시작시간:분-종료시간:분 형태로 보낸다.

  1. 3:00 새벽3시이후 발송되지 않음

  2. 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”}}