[MSP PUSH 5.1]
UPMC 연동 API 정의서
본 문서는 (주)유라클에서 제공하는 “MSP Push Platform”의 UPMC Server 연동 API 정의서를 설명하고 있다, 본 문서는 성능 개선, 기능 추가 등의 사항으로 내용이 변경될 수 있다.
본 문서는 PUSH 서비스의 UPMC Server 연동을 위한 제반 사항을 기술한다.
UPMC Server 에 HTTP (POST) 방식으로 연동 API URL 을 호출 하면 JSON Format으로 결과를 반환 합니다.
예) [http://[UPMC URI]/][API Path]
UPMC 서버 설치 경로에서 WEB-INF > classes > config > receiver.properties 파일을 열어 security.using 의 값을 true로 변경하고 재기동하면 된다. 만약 보안 인증키를 사용하지 않을 시에는 security.using 의 값을 false로 수정하고 재기동 하면 보안기능을 사용하지 않고 UPMC 서버를 동작 시킬 수 있다.
서버로 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를 파라미터로 서버로 전송한다.
① 인증키 시간만료 (인증키 요청 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
서비스명 | 보안인증키 요청 | API Path | /asking_authorization.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 비인가 사용자에 대해 접속을 차단하기 위한 보안인증키 요청 API UPMC 서버 설정에 등록된 레거시 연동 서버에 대해서는 불필요 (단말기 요청에서만 사용되는 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 FCM : Registration id |
||||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | 접속변수 조회 | API Path | /rcv_comm_configuration.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 모바일 통신 관련 환경설정값 조회 | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
AUTHKEY | String | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | ||||||||
PSID | String | N | PSID (레거시 연동 서버에 대해서는 불필요) | ||||||||
PNSID | String | Y | PUSH 유형 (APNS, UPNS, FCM 등) | ||||||||
DEVICE_ID | String | Y | 디바이스 식별 정보(UUID등) 확인 | ||||||||
APP_ID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | ||||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | PUSH 서비스 등록 | API Path | /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) | |||||||
DEVICE_MD | String | N | 디바이스 모델 ex:SM-N900S | |||||||
OS_VER | String | N | OS 버전 | |||||||
APP_VER | String | N | 앱버전 | |||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | |||||||
PSID | String | N | UPNS : NULL, APNS : Token, FCM: Registration id | |||||||
PHONENUM | String | N | 사용자 전화번호 | |||||||
CBSID | String | N | CBS별 유일한 정보 (APP_ID 필드와 동일한 값 사용) | |||||||
APNS_MODE | String | N | APNS 푸시서비스 모드. ex)DEV, REAL 둘 중 하나값 | |||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | PUSH 서비스 조회 | API Path | /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) | |||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | |||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | PUSH 서비스 삭제 | API Path | /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 | N | 디바이스 유형(‘A’:Android, ‘I’:iPhone) | |||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | |||||||
PSID | String | Y | UPNS : PSID, APNS : Token, FCM: Registration id | |||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | 사용자 등록 | API Path | /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,FCM,APNS,WPNS) | ||||||||
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 | https://[UPMC URI]/rcv_register_user.ctl | ||||||||||
Response | {"BODY":[{}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} | ||||||||||
서비스명 | PUSH 서비스 등록 | API Path | /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) | |||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS) | |||||||
PSID | String | N | UPNS : NULL, APNS : Token, FCM: Registration id | |||||||
PUB_TOKEN | String | N | UPNS 도즈모드 해제를 위한 FCM 토큰(PNSID가 UPNS인 경우 전용) | |||||||
APNS_MODE | String | N | APNS 푸시서비스 모드. ex)DEV, REAL 둘 중 하나값 | |||||||
PHONENUM | String | N | 사용자 전화번호 | |||||||
CBSID | String | N | CBS별 유일한 정보 (APP_ID 필드와 동일한 값 사용) | |||||||
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 | 보안인증키 보내지 않음. 빈값 | ||||||
UPNSIP | String | N | N | UPNS로 서비스 가입 시 접속할 아이피를 할당 받는다. | ||||||
PORT | String | N | N | UPNS로 서비스 가입시 접속할 포트를 할당 받는다. | ||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/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"}} |
서비스명 | PUSH 서비스 등록 | API Path | /wpns_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등) | |||||||
PNSID | String | Y | PUSH 유형(WPNS 고정) | |||||||
PSID | String | Y | 웹푸시 엔드포인트(https://로 시작) | |||||||
P256DH | String | Y | 구독 공개키(브라우저에서 생성됨) | |||||||
OS_VER | String | N | OS 버전 | |||||||
DEVICE_MD | String | N | 브라우저 정보 | |||||||
APP_VER | String | N | 웹푸시 SDK 버전 | |||||||
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 | 보안인증키 보내지 않음. 빈값 | ||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/wpns_rcv_register_service_and_user.ctl | |||||||||
Response | {"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK"},"SERVICE":"com.uracle.push.demo","BODY":[{"APPID":"www.uracle.co.kr","AUTHKEY":"","PSID":"https://fcm.googleapis.com/fcm/send/xxxxxx:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"}]} |
서비스명 | CUID 조회 | API Path | /rcv_query_cuid.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 사용자 CUID, APPID로 사용자 데이터 조회 | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 값 | 필수 | 설명 | ||||||||
AUTHKEY | Y | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | |||||||||
PSID | Y | PSID (레거시 연동 서버에 대해서는 불필요) | |||||||||
CUID | Y | 사용자 CUID | |||||||||
APPID | Y | 사용자 APPID | |||||||||
Response (JSON 방식의 응답) | |||||||||||
구분 | 항목 | 값 | 필수 | 반복 | 설명 | ||||||
HEADER | RESULT_CODE | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||||
RESULT_BODY | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||||
SERVICE | Y | N | 처리 Controller | ||||||||
BODY (USERS: JSON형태배열) |
CUID | Y | 사용자 아이디 (로그인 아이디 등 유일한 정보) | ||||||||
CNAME | Y | 사용자 이름 | |||||||||
PHONENO | Y | 사용자 전화번호 | |||||||||
PSID | 사용자 PSID | ||||||||||
PNSID | 사용자 PNSID | ||||||||||
DEVICESEQ | 사용자 DEVICE 순번 | ||||||||||
PSNINFOSEQ | 사용자 PNSINFO 순번 | ||||||||||
DEVICEID | 사용자 DEVICEID | ||||||||||
DEVICETYPE | 사용자 DEVICETYPE | ||||||||||
APPID | 사용자 APPID | ||||||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/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"}} |
서비스명 | 사용자 삭제 | API Path | /rcv_delete_user.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 푸쉬서비스에 매칭된 사용자 아이디를 GUEST로 변경 | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
AUTHKEY | String | Y | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | ||||||||
PSID | String | Y | PSID | ||||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | ||||||||
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 | https://[UPMC URI]/rcv_delete_user.ctl | ||||||||||
Response | {"BODY":[{"ROWS":"1"}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | 사용자 그룹 등록 | API Path | /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 | https://[UPMC URI]/rcv_register_usergroup.ctl | ||||||||||
Response | {"BODY":[{}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","GROUPSEQ":"13","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | 사용자 그룹 조회 | API Path | /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 | https://[UPMC URI]/rcv_get_usergroup.ctl | ||||||||||
Response | {"BODY":[{"REGDATE":"20230418 164042","MODDATE":"20230418 164042", "GROUPSEQ":5,"GROUPNAME":"TEST_GROUP"}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | 사용자 그룹 삭제 | API Path | /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 | https://[UPMC URI]/rcv_delete_usergroup.ctl | ||||||||||
Response | {"BODY":[{"ROWS":"1"}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | 사용자 그룹 사용자 등록 | API Path | /rcv_register_usergroup_user.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 사용자 그룹에 사용자를 등록 | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
AUTHKEY | String | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | ||||||||
PSID | String | N | PSID (레거시 연동 서버에 대해서는 불필요) | ||||||||
CUID | String | Y | 사용자 아이디 (로그인 아이디 등 유일한 정보). 쉼표 구분자로 여러명 등록 가능 예)user1,user2,user3 |
||||||||
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 | https://[UPMC URI]/rcv_register_usergroup_user.ctl | ||||||||||
Response | {"BODY":[{}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | 사용자 그룹 사용자 조회 | API Path | /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 | https://[UPMC URI]/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"}} |
서비스명 | 사용자 그룹 사용자 삭제 | API Path | /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 | https://[UPMC URI]/rcv_delete_usergroup_user.ctl | ||||||||||
Response | {"BODY":[{"ROWS":"1"}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | PUSH 발송 | API Path | /rcv_register_message.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 관리자가 수신자를 지정하여 전송할 PUSH메시지를 등록 | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
AUTHKEY | String | N | UPMC서버 보안 토큰키. 보안키 (레거시 연동 서버에 대해서는 불필요) |
||||||||
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로 발송하여야 치환처리 됩니다. | ||||||||
PRIORITY | String | Y | 우선순위. 여기서는 무조건 3으로 보냄. ex) 3 | ||||||||
BADGENO | String | Y | 읽음확인여부에 따라Badge를 카운트를 증가할 필요가 있는 메시지일 경우 1, 읽음 확인이 필요하지 않는 메시지일 경우 0 | ||||||||
RESERVEDATE | String | Y | 예약발송일시(YYYYMMDD HHMISS, 즉시발송은 Blank) ex)20230720 123000 |
||||||||
SERVICECODE | String | Y | 푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) ALL,PUBLIC,PRIVATE,FCM,APNS,WPNS 중 택일 | ||||||||
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 | Y | 개별발송 : 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일경우 분할발송 안함) ex) SPLIT_MSG_CNT를 10,000 으로 설정하고 DELAY_SECOND를 60으로 설정 하면 발송 총 대상자가 10,000명 이상일 경우 60초 간격으로 10,000명씩 보내게 됩니다. |
||||||||
SEND_TIME_LIMIT | String | N | 발송제한 시간 설정. 발송제한시간이 필요 없을 경우는 빈값을 보낸다. 발송제한 시간 설정 방법 HH:MM 형식으로 보낸다.
|
||||||||
DOZ_FCM_SEND | String | N | FCM도 서비스 가입이 되어 있고 푸시발송서버 UPNS일 경우 일때UPMC서버설정 또한 FCM_DOZMOD_PROCESS가 ‘Y’로 설정되어 있을 때 해당 파라미터를 ‘Y’로 발송했을 때 FCM으로 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 방식의 응답). 확인 : Request 파라미터 중 TYPE에 따라 응답 데이터 다름 |
|||||||||||
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 발송요청수 | |||||||
FCM | String | Y | N | FCM 발송요청수 | |||||||
HOST_URL | String | Y | N | 처리하는 UPMC URI | |||||||
NOTEXISTCUIDS | String | Y | Y | 배열발송일 경우 푸시서비스에 가입되어 있지 않는 사용자 아이디 리스트를 리턴한다. | |||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/rcv_register_message.ctl | ||||||||||
Response | { "BODY": { "APNS": "1", "REG_SUCCESS_CNT": "1", "UPNS": "0", "REG_FAIL_CNT": "0", "NOTEXISTCUIDS": [ "apnsTest2", "test00010" ], "FCM": "0", "SENDMSG_SEQNO": "35", "HOST_URL": "http://10.10.10.139:8080" }, "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
||||||||||
TYPE : 예약발송 응답 메세지 | |||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | ||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
|||||||
SERVICE | String | N | N | 처리 Controller | |||||||
BODY | RESERVE_SEQNO | String | 발송메세지 고유 번호. 예약발송 취소시 사용 | ||||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/rcv_register_message.ctl | ||||||||||
Response | {"HEADER":{"RESULT_CODE":"0000", "RESULT_BODY":"OK"}, "BODY":{"RESERVE_SEQNO":"20"}} |
서비스명 | 알림없이 뱃지만PUSH 발송 | API Path | /noAlertBadgeSend.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 관리자가 수신자를 지정하여 전송할 PUSH메시지를 등록 | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
AUTHKEY | String | N | UPMC서버 보안 토큰키. 보안키 (레거시 연동 서버에 대해서는 불필요) |
||||||||
PSID | String | N | PSID (해당 앱) 레거시 연동 서버에 대해서는 불필요 | ||||||||
CUID | Json 배열 or String |
Y | 사용자 아이디 (로그인 아이디 등 유일한 정보)이용 PUSH 보낼 경우. 확인)위의 PSID가 Blank일 경우일 때 만 사용됨. ex)[“testuser1”,”testuser2”,”testuser3”,…] or testuser1 |
||||||||
BADGENO | String | Y | 메시지 없이 Badge를 카운트를 변경 할 필요가 있는 경우 반드시 0이 아닌 카운트 값 입력 필요 |
||||||||
SERVICECODE | String | Y | 푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) ALL,PUBLIC,PRIVATE,FCM,APNS,WPNS 중 택일 | ||||||||
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저장 안함. | ||||||||
Response(JSON 방식의 응답). 확인 : Request 파라미터 중 TYPE에 따라 응답 데이터 다름 |
|||||||||||
TYPE : 일반발송 응답 메세지 | |||||||||||
구분 | 항목 | 값 | 필수 | 반복 | 설명 | ||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
|||||||
BODY | |||||||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/noAlertBadgeSend.ctl | ||||||||||
Response | { "BODY": { }, "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
||||||||||
TYPE : 예약발송 응답 메세지 | |||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | ||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
|||||||
SERVICE | String | N | N | 처리 Controller | |||||||
BODY | RESERVE_SEQNO | String | 발송메세지 고유 번호. 예약발송 취소시 사용 | ||||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/rcv_register_message.ctl | ||||||||||
Response | {"HEADER":{"RESULT_CODE":"0000", "RESULT_BODY":"OK"}, "BODY":{"RESERVE_SEQNO":"20"}} |
서비스명 | PUSH 그룹/전체 발송 | API Path | /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 Y 그룹 시퀀스번호 | 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)20230720 123000 |
||||||||
SERVICECODE | String | Y | 푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) ALL,PUBLIC,PRIVATE,FCM,APNS,WPNS 중 택일 | ||||||||
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 | 발송제한 시간 설정. 발송제한시간이 필요 없을 경우는 빈값을 보낸다. 발송제한 시간 설정 방법 HH:MM 형식으로 보낸다.
|
||||||||
DOZ_FCM_SEND | String | N | FCM도 서비스 가입이 되어 있고 푸시발송서버 UPNS일 경우 일때UPMC서버설정 또한 FCM_DOZMOD_PROCESS가 ‘Y’로 설정되어 있을 때 해당 파라미터를 ‘Y’로 발송했을 때 FCM으로 dummy data를 날려 Doz모드를 깨어나게 할 때 사용. Y or N 둘 중 하나 값 사용 |
||||||||
PUSH_FAIL_SMS_SEND | String | N | 개별발송/배열발송일 경우 푸시 발송 실패시 SMS발송처리 여부. 해당값을 “Y”로 보내면 푸시 발송 실패시SMS 발송테이블(T_PUSH_SMS)에 발송정보가 저장된다. | ||||||||
SMS_WAIT_MINUTE | String | N | 0 : 사용 하지 않음. 기타 정수값. (대기 분) Ex) 5 의미: 푸시발송 후 5분안에 수신확인이 들어오지 않은 사용자를 SMS 저장테이블에 등록된다. 저장소 : DB T_PUSH_SMS테이블에 현재 시간보다 큰 사용자를 가져와 SMS 발송을 하면 된다. 저장소 : REDIS 2.25 SMS 발송대상자 API를 이용하여 조회. |
||||||||
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 발송요청수 | |||||||
FCM | String | Y | N | FCM 발송요청수 | |||||||
HOST_URL | String | Y | N | 처리하는 UPMC URI | |||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/rcv_register_groupmessage.ctl | ||||||||||
Response | {"BODY":{"APNS":"0","REG_SUCCESS_CNT":"1","UPNS":"1","REG_FAIL_CNT":"0","FCM":"0","SENDMSG_SEQNO":"1151","HOST_URL":""},"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK"}} |
서비스명 | PUSH CSV/템플릿CSV 발송 | API Path | /rcv_register_csvmessage.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | PUSH CSV/템플릿CSV 발송 | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 값 | 필수 | 설명 | ||||||||
AUTHKEY | String | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) ex) | ||||||||
PSID | String | N | PSID 데이터 포멧 json 배열(레거시 연동 서버에 대해서는 불필요) ex) | ||||||||
TYPE | String | Y | C: CSV 발송 / R: 치환변수 사용 CSV 발송(TEMPLATE_YN 파라미터 Y 설정 필수) ex) C |
||||||||
upload_file | MultipartFile | Y | CSV파일 파일형식은 Admin_사용자매뉴얼(PUSH관리) 문서의 5-1-5, 5-1-6 참고 |
||||||||
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)20230720 123000 |
||||||||
SERVICECODE | String | Y | 푸시관리페이지에서 푸시서비스 매칭시큰 코드. ex) ALL,PUBLIC,PRIVATE,FCM,APNS,WPNS 중 택일 | ||||||||
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 | 발송제한 시간 설정. 발송제한시간이 필요 없을 경우는 빈값을 보낸다. 발송제한 시간 설정 방법 HH:MM 형식으로 보낸다.
|
||||||||
DOZ_FCM_SEND | String | N | FCM도 서비스 가입이 되어 있고 푸시발송서버 UPNS일 경우 일때UPMC서버설정 또한 FCM_DOZMOD_PROCESS가 ‘Y’로 설정되어 있을 때 해당 파라미터를 ‘Y’로 발송했을 때 FCM으로 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 발송요청수 | |||||||
FCM | String | Y | N | FCM 발송요청수 | |||||||
HOST_URL | String | Y | N | 처리하는 UPMC URI | |||||||
NOTEXISTCUIDS | String | Y | Y | 배열발송일 경우 푸시서비스에 가입되어 있지 않는 사용자 아이디 리스트를 리턴한다. | |||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/rcv_register_csvmessage.ctl | ||||||||||
Response | { "BODY": { "APNS": "1", "REG_SUCCESS_CNT": "1", "UPNS": "0", "REG_FAIL_CNT": "0", "NOTEXISTCUIDS": [ "P000000021", "P000000030", "P000000006", "P000000000", "P000000003", "P000000015", "P000000018", "P000000009", "P000000024", "P000000012" ], "FCM": "0", "SENDMSG_SEQNO": "50" }, "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
서비스명 | 발송 중인 메시지 삭제 | API Path | /cancel_sendingMsg.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 대량발송 또는 지연발송 중인 메시지들 중 아직 발송되지 않은 메시지를 취소처리함. | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
AUTHKEY | String | Y | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | ||||||||
SEQNO | String | Y | 발송 취소처리 할 메시지원장고유번호 ex)120348 |
||||||||
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 | https://[UPMC URI]/cancel_sendingMsg.ctl | ||||||||||
Response | {"BODY":[{"SEQNO":"232"}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"com.uracle.push.test"}} |
서비스명 | 발송 메시지 발송상태 | API Path | /rcv_getSentMsgInfo.ctl | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 대량 발송 중 실시간 Push 발송 상태를 모니터링 | |||||||||||||||||||||||
Request (POST 방식 호출) | ||||||||||||||||||||||||
항목 | 타입 | 필수 | 설명 | |||||||||||||||||||||
AUTHKEY | String | Y | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | |||||||||||||||||||||
SEQNO | String | Y | 발송 요청 후 받은 메시지원장고유번호 ex)120348 |
|||||||||||||||||||||
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 |
|
|||||||||||||||||||
연동 예시 | ||||||||||||||||||||||||
Request | https://[UPMC URI]/cancel_sendingMsg.ctl | |||||||||||||||||||||||
Response | {"BODY":[{"SEQNO":"232"}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"com.uracle.push.test"}} |
서비스명 | PUSH 분할지연발송 취소 | API Path | /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 | https://[UPMC URI]/rcv_sleep_send_cancel.ctl | ||||||||||
Response | {"BODY":[{"SEQNO":"1"}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | PUSH 예약 메시지 삭제 | API Path | /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 | https://[UPMC URI]/rcv_message_cancel_reservation.ctl | ||||||||||
Response | {"BODY":[{}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | Public PUSH 수신확인 | API Path | /rcv_register_sent_ack.ctl | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
설명 | FCM, APNS, WMS를 통해 PUSH를 수신한 단말용 수신확인 API | |||||||||||
Request (POST 방식 호출) | ||||||||||||
항목 | 값 | 필수 | 설명 | |||||||||
AUTHKEY | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | ||||||||||
DEVICE_ID | String | Y | 디바이스 식별 정보(UUID등) 확인 | |||||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | |||||||||
SEQNO | Y | 메시지 마스터 번호 | ||||||||||
CUID | Y | 사용자 아이디 (로그인 아이디 등 유일한 정보) | ||||||||||
APP_ID | Y | 어플리케이션 식별 정보 (패키지명) | ||||||||||
PSID | Y | APNS : Token, FCM: Registration id | ||||||||||
SENDDATE | Y | 받은 메세지 정보에서 senddate 값을 리턴 | ||||||||||
DB_IN | Y | 받은 메세지 정보에서 db_in 값을 리턴. 주의)UPNS는 모두 대문자임 | ||||||||||
SENDERCODE | N | !주의.UPNS 발송일 경우는 필수 입니다. | ||||||||||
Response (JSON 방식의 응답) | ||||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | |||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||||
SERVICE | String | Y | N | 처리 Controller | ||||||||
BODY | ||||||||||||
연동 예시 | ||||||||||||
Request | https://[UPMC URI]/rcv_register_sent_ack.ctl | |||||||||||
Response | {"BODY":[{}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | PUSH 메시지 읽음확인 | API Path | /rcv_register_send_result.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | PUSH 메시지를 전송받은 단말의 앱에서 사용자가 메시지를 확인API | |||||||||
Request (POST 방식 호출) | ||||||||||
항목 | 타입 | 필수 | 설명 | |||||||
AUTHKEY | String | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | |||||||
DEVICE_ID | String | Y | 디바이스 식별 정보(UUID등) 확인 | |||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | |||||||
SEQNO | String | Y | 메시지 마스터 번호 | |||||||
CUID | String | Y | 사용자 아이디 (로그인 아이디 등 유일한 정보) | |||||||
APP_ID | String | Y | 어플리케이션 식별 정보 (패키지명) | |||||||
PSID | String | Y | APNS : Token, FCM: Registration id | |||||||
SENDDATE | String | Y | 받은 메세지 정보에서 senddate 값을 리턴 | |||||||
DB_IN | String | Y | 받은 메세지 정보에서 db_in 값을 리턴. 주의)UPNS는 모두 대문자임 | |||||||
BADGENO | String | N | 다음 푸시발송시 BADGENO를 위해 서버에 세팅 할 BADGENO 값. 현재 단말에 표시되는 BADGENO값을 넘겨준다. 예외. “-1” 일 경우에는 현재서버에 저장된 뱃지카운트에서 하나 뺀다. | |||||||
SENDERCODE | N | !주의.UPNS 발송일 경우는 필수 입니다. | ||||||||
Response (JSON 방식의 응답) | ||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | |||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||
SERVICE | String | Y | N | 처리 Controller | ||||||
BODY | ||||||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/rcv_register_send_result.ctl | |||||||||
Response | {"BODY":[{}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK","SERVICE":"kr.msp.push.receiver.controller.ReceiverController"}} |
서비스명 | PUSH 메시지 읽음확인 | API Path | /rcv_init_badgeNo.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | PUSH 메시지를 전송받은 단말의 앱에서 사용자가 메시지를 확인API | |||||||||
Request (POST 방식 호출) | ||||||||||
항목 | 타입 | 필수 | 설명 | |||||||
AUTHKEY | String | Y | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | |||||||
DEVICE_ID | String | Y | 디바이스 식별 정보(UUID등) 확인 | |||||||
PNSID | String | Y | PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) | |||||||
APP_ID | String | Y | 어플리케이션 식별 정보 (패키지명) | |||||||
BADGENO | String | Y | 강제로 세팅할 뱃지카운트. | |||||||
Response (JSON 방식의 응답) | ||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | |||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||
BODY | ||||||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/rcv_register_send_result.ctl | |||||||||
Response | {"BODY":[{}],"HEADER":{"RESULT_CODE":"0000","RESULT_BODY":"OK”}} |
서비스명 | PUSH 메시지 재발송 | API Path | /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 발송요청수 | ||||||
FCM | String | Y | N | FCM 발송요청수 | ||||||
HOST_URL | String | Y | N | 처리하는 UPMC URI | ||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/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", "FCM":"1", "SENDMSG_SEQNO":"405", "HOST_URL":"http://10.10.10.139:8085"}} |
서비스명 | PUSH 서비스 조회 | API Path | /rcv_appAlive.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | 해당 단말에서 PUSH 서비스를 사용하고 있는 앱들의 목록을 조회 | |||||||||
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,FCM,APNS,WPNS) | |||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | REDIS 앱 아이디별 서비스 가입 수 조회 | API Path | /redisUserCountInfo.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | RDB에 T_PUSH_USER_INFO테이블과 동기화가 이루어지는 REDIS 유저정보 키테이블의 앱아이디별 등록 서비스 가입자 수를 조회한다. | |||||||||
Request (POST 방식 호출) | ||||||||||
항목 | 타입 | 필수 | 설명 | |||||||
Response (JSON 방식의 응답) | ||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | |||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||
MEMBER | String | Y | N | 회원가입자수 | ||||||
BODY | GUEST | String | Y | N | 비회원가입자수 | |||||
TOTAL | String | Y | N | 전체 서비스 가입자수. | ||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/rcv_get_service.ctl | |||||||||
Response | { "BODY": [ { "MEMBER": "100000", "TOTAL": "100000", "GUEST": "0" } ], "SERVICE": "test", "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
서비스명 | PUSH 서비스 조회 | API Path | /getRedisUpnsUserCntInfo.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | 해당 단말에서 PUSH 서비스를 사용하고 있는 앱들의 목록을 조회 | |||||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | PUSH 서비스 조회 | API Path | /redisUpnsUserCntSet.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | UPNS 서버 개별 할당 건수를 Redis에 수동 설정 | |||||||||
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 | https://[UPMC URI]/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"}} |
서비스명 | UPNS 서버 재할당 | API Path | /reAllocateUpns.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | UPNS서버 장애시 다른 UPNS서버로 할당 | |||||||||
Request (POST 방식 호출) | ||||||||||
항목 | 타입 | 필수 | 설명 | |||||||
AUTHKEY | String | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | |||||||
APP_ID | String | Y | 어플리케이션 식별 정보 (패키지명) | |||||||
DEVICE_ID | String | Y | 디바이스 아이디 | |||||||
PNSID | String | Y | 푸시서버 종류. 여기서는 UPNS 또는 UPNC | |||||||
UPNSIP | String | Y | 기존에 할당 받았지만 접속이 안되는 UPNS IP | |||||||
PORT | String | Y | 기존에 할당 받았지만 접속이 안되는 UPNS PORT | |||||||
Response (JSON 방식의 응답) | ||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | |||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||
BODY | UPNSIP | String | Y | N | 재 접속할 UPNS IP | |||||
PORT | String | N | 재 접속할 UPNS Port | |||||||
SERVICE | String | Y | N | 앱아이디 | ||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/reAllocateUpns.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"}} |
서비스명 | UPNS 장애복구 후 통지 | API Path | /allBackAllocateUpns.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | UPNS서버 장애복구 후 단말에 통지하야 원래 할당된 UPN로 재접속을 받는다. | |||||||||
Request (POST 방식 호출) | ||||||||||
항목 | 타입 | 필수 | 설명 | |||||||
AUTHKEY | String | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | |||||||
UPNSID | String | Y | 장애 복구 한 UPNS 서버아이디. | |||||||
Response (JSON 방식의 응답) | ||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | |||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||
BODY | reAllocateUser | String | Y | N | 장애가 발생하여 재 할당된 단말수 | |||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/allBackAllocateUpns.ctl | |||||||||
Response | { "BODY": { "reAllocateUser": "1" }, "SERVICE": "kr.msp.push.receiver.controller.ReAllocateUpns", "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
서비스명 | UPNS 발송메세지 삭제요청 | API Path | /rcv_cancel_upnsmsg.ctl | |||||||
---|---|---|---|---|---|---|---|---|---|---|
설명 | 발송사용자가 메시지를 받았다는 ACK가 오지 않았을 경우 SMS로 보낸 후 OFF메시지에 담겨 있는 UPNS 발송메세지를 삭제시켜 컨넥션이 다시 이루어져도 중복메세지를 받지 못하게 처리하는 API | |||||||||
확인사항 | 해당 API는 UPNS버전 4.1.2이상버전에서부터 사용 가능 | |||||||||
Request (POST 방식 호출) | ||||||||||
항목 | 타입 | 필수 | 설명 | |||||||
AUTHKEY | String | N | 인증보안키 (레거시 연동 서버에 대해서는 불필요) | |||||||
APP_ID | String | Y | 앱아이디. | |||||||
SEQNO | String | Y | 메시지 발송 원장 번호 | |||||||
CUID | String | Y | 수신자 아이디 | |||||||
Response (JSON 방식의 응답) | ||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | |||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
|||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
||||||
BODY | SEQNO | String | Y | N | 장애가 발생하여 재 할당된 단말수 | |||||
CUID | String | Y | N | 사용자아이디. | ||||||
PSIDS | String[] | Y | Y | 취소처리한 PSID 리스트 | ||||||
연동 예시 | ||||||||||
Request | https://[UPMC URI]/rcv_cancel_upnsmsg.ctl | |||||||||
Response | { "BODY": { "SEQNO": "25", "CUID": "test2", "PSIDS": [ "2b4506061775a177b79d4d63a26c402b6527de12" ] }, "SERVICE": "kr.msp.push.receiver.controller.CancelUpnsMsgController", "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
서비스명 | 현재 Redis 서버정보리스트 조회 | API Path | / getRedisInfos.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 현재 Sentinel에 등록 관리되는 Redis서버정보 리스트를 조회한다.. | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
Response (JSON 방식의 응답) | |||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | ||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
|||||||
BODY | ip | Strring | Y | Y | Redis 아이피 | ||||||
port | Strring | Y | Y | 포트 | |||||||
runId | Strring | Y | Y | 구동 고유아이디 | |||||||
isMaster | Strring | Y | Y | 마스터여부 | |||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/getRedisInfos.ctl | ||||||||||
Response | { "BODY": [ {"port":"6379","isMaster":"true","runId":"be9bfee97a470ef8bce70e36feb76d41fb7c7cd8","ip":"10.10.10.215"}, {"port":"6379","isMaster":"false","runId":"7a12cc6fd2d54cb1f0869c4441d99f286702a6ba","ip":"10.10.10.217"}], "HEADER": {"RESULT_CODE":"0000","RESULT_BODY":"OK"} } |
||||||||||
서비스명 | 현재 Redis 마스터아이피 조회 | API Path | / getRedisMasterIP.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 현재 master roll을 수행 중인 redis 아이피를 알아온다. | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
Response (JSON 방식의 응답) | |||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | ||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
|||||||
BODY | masterIP | Strring | Y | Y | 현재 마스터 roll을 수행 중이 redis 마스터아이피 | ||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/getRedisMasterIP.ctl | ||||||||||
Response | { "BODY": { " masterIP ": “xxx.xxx.xxx.xxx” } |
||||||||||
서비스명 | 현재 마스터를 다른 슬래이브 Redis로 master roll을 강제 변경 | API Path | / changeSlaveToMaster.ctl | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
설명 | Redis 마스터를 변경하고 싶을 때 사용. 성공시 임의의 슬래이브중 하나가 마스터로 변경됨. | ||||||||||
Request (POST 방식 호출) | |||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||
nowMasterIP | String | Y | 현재 현재 레디스마스터 아이피 | ||||||||
Response (JSON 방식의 응답) | |||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | ||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
|||||||
BODY | beforeMasterIP | String | Y | N | 변경 전 마스터 아이피 | ||||||
afterMasterIP | String | Y | N | 변경 후 마스터 아이피 | |||||||
연동 예시 | |||||||||||
Request | https://[UPMC URI]/changeSlaveToMaster.ctl | ||||||||||
Response | { "BODY": { "beforeMasterIP": “111.111.111.111”, “afterMasterIP”:”222.222.222.222” }, "SERVICE": "kr.msp.push.receiver.controller.ManualAllocateController", "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
서비스명 | 서버 상태 및 처리량 조회 | API Path | /pushServerStatusList.ctl | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
설명 | 현재 서비스 등록되어 있는 UPMC, UPNS TPS 정보 조회 | ||||||||||||||||||||||||||||||||||||
Request (POST 방식 호출) | |||||||||||||||||||||||||||||||||||||
항목 | 타입 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||
Response (JSON 방식의 응답) | |||||||||||||||||||||||||||||||||||||
구분 | 항목 | 타입 | 필수 | 반복 | 설명 | ||||||||||||||||||||||||||||||||
HEADER | RESULT_CODE | String | Y | N | 0000 : 응답 성공 그외 : 에러 메시지 |
||||||||||||||||||||||||||||||||
RESULT_BODY | String | Y | N | OK : 응답 성공 그외 : 에러 메시지 |
|||||||||||||||||||||||||||||||||
BODY | UPNS | array | Y | Y |
|
||||||||||||||||||||||||||||||||
PROVIDER | array | Y | Y |
|
|||||||||||||||||||||||||||||||||
UPMC | array | Y | Y |
|
|||||||||||||||||||||||||||||||||
연동 예시 | |||||||||||||||||||||||||||||||||||||
Request | https://[UPMC URI]/getTpsInfo.ctl | ||||||||||||||||||||||||||||||||||||
Response | { "BODY": { "UPNS": [ { "resultMsg": "org.apache.http.conn.HttpHostConnectException: Connect to 10.10.10.139:18880 [/10.10.10.139] failed: Connection refused", "ACTIVE_YN": "N", "SERVERID": "UPNS_139", "resultCode": "500" } ], "UPMC": [ { "INPUT_CNT": "0", "OUTPUT_CNT": "0", "MAX_INPUT_CNT": "0", "MAX_OUTPUT_CNT": "0", "CHECK_DATE": "20230810084401", "QUEUESIZE": "0", "INTERVAL": "60s", "resultCode": "200", "resultMsg": "SUCCESS", "SERVERID": "10.10.10.139:8080", "ACTIVE_YN": "Y" } ], "PROVIDER": [ { "resultMsg": "org.apache.http.conn.HttpHostConnectException: Connect to 10.10.10.139:10421 [/10.10.10.139] failed: Connection refused", "ACTIVE_YN": "N", "SERVERID": "10.10.10.139:10420", "resultCode": "500" } ] }, "HEADER": { "RESULT_CODE": "0000", "RESULT_BODY": "OK" } } |
||||||||||||||||||||||||||||||||||||