본 문서는 PUSH 서비스의 UPMC Server 연동을 위한 제반 사항을 기술합니다.
UPMC Server에 HTTP POST 방식으로 API URL을 호출하면 JSON Format으로 결과를 반환합니다.
POST http://[UPMC URI]/[API Path]
모든 API는 아래 구조로 응답합니다.
{
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
},
"BODY": { ... }
}
| 구분 |
필드 |
설명 |
| HEADER |
RESULT_CODE |
0000 : 성공, 그 외 : 에러코드 |
|
RESULT_BODY |
OK : 성공, 그 외 : 에러메시지 |
| BODY |
|
API별 응답 데이터 (Object 또는 Array) |
WEB-INF/classes/config/receiver.properties 파일에서 설정합니다.
| 설정값 |
동작 |
security.using=true |
보안 인증키 사용 (설정 후 재기동) |
security.using=false |
보안 인증키 미사용 |
레거시 연동 서버(UPMC 서버 설정에 등록된 서버)에 대해서는 보안 인증키가 불필요합니다.
asking_authorization.ctl을 호출하여 AUTHKEY 발급
- 발급받은 AUTHKEY를 단말 메모리에 저장
- 이후 모든 API 호출 시 AUTHKEY를 파라미터로 전송
클라이언트(단말)는 항상 AUTHKEY를 UTF-8로 URL Encoding하여 서버로 전송해야 합니다.
서비스 등록(rcv_register_service.ctl) 또는 서비스 추가(rcv_add_service.ctl) 호출 시에는 사전에 asking_authorization.ctl로 인증키를 먼저 발급받아야 하며, 등록/추가 응답으로 내려온 새 AUTHKEY로 교체해야 합니다.
| HTTP Status |
원인 |
처리 방법 |
| 200 OK |
인증키 시간만료 |
RESULT_CODE=0000, BODY의 AUTHKEY 값을 저장 후 재사용 |
| 400 Bad Request |
AUTHKEY 파라미터 누락 |
AUTHKEY를 포함하여 재요청 |
| 401 Unauthorized |
인증키 복호화/검증 실패 |
asking_authorization.ctl로 인증키 재발급 |
| 403 Forbidden |
사용자 검증 실패 (CUID 불일치 등) |
요청 파라미터 확인 후 재요청 |
| 500 |
서버 내부 오류 |
서버 관리자 확인 필요 |
| 서비스명 |
보안인증키 요청 |
| API Path |
/asking_authorization.ctl |
| 설명 |
비인가 사용자에 대해 접속을 차단하기 위한 보안인증키 요청 API |
UPMC 서버 설정에 등록된 레거시 연동 서버에 대해서는 불필요 (단말기 요청에서만 사용되는 API)
| 항목 |
타입 |
필수 |
설명 |
| 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 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
AUTHKEY |
String |
Y |
N |
보안인증키 |
Request
POST https://[UPMC URI]/asking_authorization.ctl
Response
{
"SERVICE": "com.push.app",
"BODY": [
{
"AUTHKEY": "C%3D11Q1872gV8cy2Sf8og5p%2BCyINU4nz4a2Ihka6omXpfip3Q%3D"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
접속변수 조회 |
| API Path |
/rcv_comm_configuration.ctl |
| 설명 |
모바일 통신 관련 환경설정값 조회 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID (레거시 연동 서버에 대해서는 불필요) |
| PNSID |
String |
Y |
PUSH 유형 (APNS, UPNS FCM 등) |
| DEVICE_ID |
String |
Y |
디바이스 식별 정보(UUID등) 확인 |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
SERVICE |
String |
Y |
N |
처리 Controller |
| BODY |
RECONNECT_PERIOD |
String |
Y |
N |
재접속 (단위:초) |
|
KEEPALIVE_PERIOD |
String |
Y |
N |
KEEPALIVE (단위:초) |
|
SERVICE_STOP |
String |
Y |
N |
서비스 상태 (N:가용, Y:중단) |
|
VERSION |
String |
Y |
N |
버전 |
|
CONNECT_IP |
String |
N |
N |
접속할 UPNS 아이피 |
|
CONNECT_PORT |
String |
N |
N |
접속할 UPNS포트(해당값이 없으면 앱에서 설정한 값으로 셋팅) |
|
CONNECT_WSPORT |
String |
N |
N |
접속할 UPNS 웹소켓 포트 |
Request
POST https://[UPMC URI]/rcv_comm_configuration.ctl
Response
{
"BODY": {
"RECONNECT_PERIOD": "360",
"KEEPALIVE_PERIOD": "5",
"SERVICE_STOP": "N",
"VERSION": "4.0",
"CONNECT_IP": "111.111.111.111",
"CONNECT_PORT": "1883",
"CONNECT_WSPORT": "8883"
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK",
"SERVICE": ""
}
}
| 서비스명 |
PUSH 서비스 등록 |
| API Path |
/rcv_register_service.ctl |
| 설명 |
PUSH를 사용하는 앱이 단말에 최초로 설치되는 경우에 요청하는 최초 "등록" |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) |
| CUID |
String |
Y |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
| DEVICE_ID |
String |
Y |
디바이스 식별 정보(UUID등) |
| DEVICE_TYPE |
String |
N |
디바이스 유형('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 둘 중 하나값 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
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
POST https://[UPMC URI]/rcv_register_service.ctl
Response
{
"SERVICE": "com.push.app",
"BODY": [
{
"PSID": "60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94",
"APPID": "com.push.app",
"AUTHKEY": "",
"DEVICEID_CHANGE_YN": "N",
"UPNSIP": "111.111.111.111",
"PORT": "1883"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 서비스 조회 |
| API Path |
/rcv_get_service.ctl |
| 설명 |
해당 단말에서 PUSH 서비스를 사용하고 있는 앱들의 목록을 조회 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) |
| PSID |
String |
Y |
PSID |
| 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) |
| PHONENUM |
String |
N |
사용자 전화번호 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
ISREGISTERED |
String |
Y |
N |
푸쉬서비스 등록여부 Y:등록, N:미등록, C: CUID 변경됨. C는 원유저원디바이스일 때 나타나며 서비스가입을 하지 말고 유저등록프로세스 호출. |
Request
POST https://[UPMC URI]/rcv_get_service.ctl
Response
{
"SERVICE": "com.push.app",
"BODY": [
{
"ISREGISTERED": "Y"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 서비스 삭제 |
| API Path |
/rcv_delete_service.ctl |
| 설명 |
수신자가 수신 가능한 서비스(PSID + APPID)를 제거. PSID에 등록된 APPID가 하나도 없을 경우 PSID까지 제거 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) |
| CUID |
String |
N |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
| 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 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
PSID_DELETED |
String |
Y |
N |
삭제결과 (Y/N) |
|
PSID |
String |
Y |
N |
UPNS는 등록 후 발급된 PSID |
|
APPID |
String |
Y |
N |
어플리케이션 식별 정보 (패키지명) |
Request
POST https://[UPMC URI]/rcv_delete_service.ctl
Response
{
"SERVICE": "com.push.app",
"BODY": [
{
"PSID_DELETED": "Y",
"PSID": "60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94",
"APPID": "com.push.app"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
사용자 등록 |
| API Path |
/rcv_register_user.ctl |
| 설명 |
사용자 테이블에 사용자 정보를 추가 |
| 항목 |
타입 |
필수 |
설명 |
| 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 |
N |
사용자 이름 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
PSID |
String |
Y |
N |
발급된 PSID |
|
APPID |
String |
Y |
N |
어플리케이션 식별 정보 (패키지명) |
|
AUTHKEY |
String |
Y |
N |
보안인증키 |
Request
POST https://[UPMC URI]/rcv_register_user.ctl
Response
{
"SERVICE": "com.push.app",
"BODY": [
{
"PSID": "60d3b18f...",
"APPID": "com.push.app",
"AUTHKEY": "..."
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 서비스 등록 |
| API Path |
/new_rcv_register_service_and_user.ctl |
| 설명 |
해당 서비스는 서비스 등록과 유저등록을 한번에 처리 할 수 있는 API로써 서비스 조회도 할 필요가 없습니다. |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) |
| CUID |
String |
Y |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
| CNAME |
String |
N |
사용자 이름 |
| DEVICE_ID |
String |
Y |
디바이스 식별 정보(UUID등) |
| DEVICE_TYPE |
String |
N |
디바이스 유형('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 필드와 동일한 값 사용) |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
PSID |
String |
Y |
N |
UPNS는 등록 후 발급된 PSID |
|
APPID |
String |
Y |
N |
어플리케이션 식별 정보 (패키지명) |
|
AUTHKEY |
String |
Y |
N |
보안인증키 보내지 않음. 빈값 |
|
DEVICEID_CHANGE_YN |
String |
Y |
N |
디바이스 변경 여부 (Y/N) |
|
UPNSIP |
String |
N |
N |
UPNS로 서비스 가입 시 접속할 아이피를 할당 받는다. |
|
PORT |
String |
N |
N |
UPNS로 서비스 가입시 접속할 포트를 할당 받는다. |
|
WSPORT |
String |
N |
N |
UPNS 웹소켓 포트 (UPNS 가입시에만 반환) |
{
"SERVICE": "com.push.app",
"BODY": [
{
"PSID": "60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94",
"APPID": "com.push.app",
"AUTHKEY": "",
"DEVICEID_CHANGE_YN": "N",
"UPNSIP": "111.111.111.111",
"PORT": "1883"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 서비스 등록 |
| API Path |
/wpns_rcv_register_service_and_user.ctl |
| 설명 |
해당 서비스는 서비스 등록과 유저등록을 한번에 처리 할 수 있는 API로써 서비스 조회도 할 필요가 없습니다. |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (도메인) |
| CUID |
String |
Y |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
| CNAME |
String |
N |
사용자 이름 |
| 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 버전 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
PSID |
String |
Y |
N |
UPNS는 등록 후 발급된 PSID |
|
APPID |
String |
Y |
N |
어플리케이션 식별 정보 (도메인) |
|
AUTHKEY |
String |
Y |
N |
보안인증키 보내지 않음. 빈값 |
{
"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로 사용자 데이터 조회 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
Y |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
Y |
PSID (레거시 연동 서버에 대해서는 불필요) |
| CUID |
String |
Y |
사용자 CUID |
| APPID |
String |
Y |
사용자 APPID |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
USERS |
Array |
Y |
Y |
사용자 정보 배열 |
|
└ CUID |
String |
|
Y |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
|
└ CNAME |
String |
|
Y |
사용자 이름 |
|
└ PHONENO |
String |
|
Y |
사용자 전화번호 |
|
└ PSID |
String |
|
|
사용자 PSID |
|
└ PNSID |
String |
|
|
사용자 PNSID |
|
└ DEVICESEQ |
String |
|
|
사용자 DEVICE 순번 |
|
└ PNSINFOSEQ |
String |
|
|
사용자 PNSINFO 순번 |
|
└ DEVICEID |
String |
|
|
사용자 DEVICEID |
|
└ DEVICETYPE |
String |
|
|
사용자 DEVICETYPE |
|
└ APPID |
String |
|
|
사용자 APPID |
|
└ PUSHKEY |
String |
|
|
사용자 PUSH 고유키 |
|
└ UPNSID |
String |
|
|
할당된 UPNS 서버 ID |
|
└ APNS_MODE |
String |
|
|
APNS 모드 (REAL/DEV) |
|
└ ORGUPNSID |
String |
|
|
원래 할당된 UPNS 서버 ID (재할당 전) |
|
└ PUB_TOKEN |
String |
|
|
UPNS Public 토큰 |
|
└ P256DH |
String |
|
|
Web Push P256DH 키 |
※ BODY에 SERVICE_CODE (String 배열) 필드가 함께 반환됩니다. 해당 APP_ID에 등록된 서비스코드 목록입니다.
{
"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로 변경 |
| 항목 |
타입 |
필수 |
설명 |
| 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 |
사용자 아이디 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY (Array) |
CUID |
String |
Y |
N |
삭제 처리된 사용자 아이디 (GUEST로 변경됨) |
|
CNAME |
String |
Y |
N |
삭제 처리된 사용자 이름 |
{
"SERVICE": "com.push.app",
"BODY": [
{
"CUID": "GUEST",
"CNAME": "GUEST"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
사용자 그룹 등록 |
| API Path |
/rcv_register_usergroup.ctl |
| 설명 |
사용자 그룹에 사용자를 등록 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID (레거시 연동 서버에 대해서는 불필요) |
| CUID |
String |
Y |
사용자 아이디 (GUEST 불가) |
| GROUPSEQ |
String |
Y |
그룹 시퀀스 번호 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
SERVICE |
String |
Y |
N |
처리 Controller |
| BODY |
GROUPSEQ |
String |
Y |
N |
등록된 그룹 시퀀스 번호 |
|
ROWS |
int |
Y |
N |
등록 건수 |
{
"BODY": {
"GROUPSEQ": "13",
"ROWS": 1
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK",
"SERVICE": ""
}
}
| 서비스명 |
사용자 그룹 조회 |
| API Path |
/rcv_get_usergroup.ctl |
| 설명 |
사용자 그룹정보 조회 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID (레거시 연동 서버에 대해서는 불필요) |
| GROUPSEQ |
String |
Y |
사용자 그룹 일련번호 |
| GROUPNAME |
String |
N |
사용자 그룹명 (미사용) |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
SERVICE |
String |
Y |
N |
처리 Controller |
| BODY (Array) |
REGDATE |
String |
Y |
N |
등록일(YYYYMMDD HHMISS) |
|
MODDATE |
String |
Y |
N |
수정일(YYYYMMDD HHMISS) |
|
GROUPSEQ |
String |
Y |
N |
사용자 그룹 일련번호 |
|
GROUPNAME |
String |
Y |
N |
사용자 그룹명 |
{
"BODY": [
{
"REGDATE": "20230418 164042",
"MODDATE": "20230418 164042",
"GROUPSEQ": 5,
"GROUPNAME": "TEST_GROUP"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK",
"SERVICE": ""
}
}
| 서비스명 |
사용자 그룹 삭제 |
| API Path |
/rcv_delete_usergroup.ctl |
| 설명 |
사용자 그룹 삭제 (그룹에 등록된 사용자가 있으면 모두 일괄 삭제된다. 사용자 정보 자체는 삭제되지 않는다.) |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID (레거시 연동 서버에 대해서는 불필요) |
| GROUPSEQ |
String |
Y |
사용자 그룹 일련번호 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
SERVICE |
String |
Y |
N |
처리 Controller |
| BODY |
ROWS |
String |
Y |
N |
삭제 처리된 그룹 수 |
{
"BODY": {
"ROWS": 1
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK",
"SERVICE": ""
}
}
| 서비스명 |
사용자 그룹 사용자 등록 |
| API Path |
/rcv_register_usergroup_user.ctl |
| 설명 |
사용자 그룹에 사용자를 등록 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID (레거시 연동 서버에 대해서는 불필요) |
| CUID |
String |
Y |
사용자 아이디 (로그인 아이디 등 유일한 정보). 쉼표 구분자로 여러명 등록 가능 예)user1,user2,user3 |
| GROUPSEQ |
String |
Y |
사용자 그룹 일련번호 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
SERVICE |
String |
Y |
N |
처리 Controller |
| BODY |
ROWS |
int |
Y |
N |
등록 건수 |
{
"BODY": {
"ROWS": 1
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK",
"SERVICE": ""
}
}
| 서비스명 |
사용자 그룹 사용자 조회 |
| API Path |
/rcv_get_usergroup_user.ctl |
| 설명 |
사용자 그룹에 속한 사용자 정보를 조회 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID (레거시 연동 서버에 대해서는 불필요) |
| GROUPSEQ |
String |
Y |
사용자 그룹 일련번호 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
SERVICE |
String |
Y |
N |
처리 Controller |
| BODY (Array) |
CUID |
String |
Y |
Y |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
{
"BODY": [
{
"CUID": "TEST000001"
},
{
"CUID": "TEST000002"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK",
"SERVICE": ""
}
}
| 서비스명 |
사용자 그룹 사용자 삭제 |
| API Path |
/rcv_delete_usergroup_user.ctl |
| 설명 |
사용자 그룹에 등록된 사용자를 그룹에서 삭제 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID (레거시 연동 서버에 대해서는 불필요) |
| CUID |
String |
Y |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
| GROUPSEQ |
String |
Y |
사용자 그룹 일련번호 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
SERVICE |
String |
Y |
N |
처리 Controller |
| BODY |
ROWS |
String |
Y |
N |
삭제 처리된 사용자 수 |
{
"BODY": {
"ROWS": 1
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK",
"SERVICE": ""
}
}
| 서비스명 |
PUSH 발송 |
| API Path |
/rcv_register_message.ctl |
| 설명 |
관리자가 수신자를 지정하여 전송할 PUSH메시지를 등록 |
| 항목 |
타입 |
필수 |
설명 |
| 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), Public Push에서 2 이상일 때, Real PROVIDER로 전송 |
| 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 커스텀 메시지. |
| 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 형식으로 보낸다. - 3:00 새벽3시이후 발송되지 않음 - 15:00 오후 3시부터 발송되지 않음. |
| 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 의미: 푸 |
| 은 사용자를 SMS 발송저장테이블(T_PUSH_SMS)에 등록된다. 주의 : 해당 기능을 사용 할 경우 SMS 문자를 받고 푸시도 중복으로 받을 수 있음을 유의 하시기 바랍니다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| 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 발송요청수 |
|
WPNS |
String |
Y |
N |
WPNS 발송요청수 |
|
NOTEXISTCUIDS |
Array |
N |
Y |
배열발송일 경우 푸시서비스에 가입되어 있지 않는 사용자 아이디 리스트를 리턴한다. |
|
CUST_KEY |
String |
N |
N |
커스텀 키 |
|
CUST_VAR1 |
String |
N |
N |
커스텀 변수1 |
|
CUST_VAR2 |
String |
N |
N |
커스텀 변수2 |
|
CUST_VAR3 |
String |
N |
N |
커스텀 변수3 |
※ TYPE=S (시스템 개별대량발송) 일 경우, SENDMSG_SEQNO 및 발송수 필드 없이 CUST_KEY/VAR 필드만 반환됩니다.
{
"BODY": {
"APNS": "1",
"REG_SUCCESS_CNT": "1",
"UPNS": "0",
"REG_FAIL_CNT": "0",
"NOTEXISTCUIDS": [
"apnsTest2",
"test00010"
],
"FCM": "0",
"WPNS": "0",
"SENDMSG_SEQNO": "35",
"HOST_URL": "http://10.10.10.139:8080",
"CUST_KEY": "",
"CUST_VAR1": "",
"CUST_VAR2": "",
"CUST_VAR3": ""
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
RESERVE_SEQNO |
String |
Y |
N |
발송메세지 고유 번호. 예약발송 취소시 사용 |
{
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
},
"BODY": {
"RESERVE_SEQNO": "20",
"CUST_KEY": "",
"CUST_VAR1": "",
"CUST_VAR2": "",
"CUST_VAR3": ""
}
}
| 서비스명 |
알림없이 뱃지만PUSH 발송 |
| API Path |
/noAlertBadgeSend.ctl |
| 설명 |
관리자가 수신자를 지정하여 전송할 PUSH메시지를 등록 |
| 항목 |
타입 |
필수 |
설명 |
| 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 커스텀 메시지. |
| SENDERCODE |
String |
Y |
메시지 구분코드, 관리페이지 푸시>설정>메시지 구분에 등록된 코드 입력 ex)admin |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) ex) kr.co.morpheus.mobile1 |
| TYPE |
String |
Y |
S 설명 : 무조건 'S'로 보내야 한다. DB저장 안함. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
|
|
|
|
|
{
"BODY": {},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
※ 본 API는 예약발송을 지원하지 않습니다.
| 서비스명 |
PUSH 그룹/전체 발송 |
| API Path |
/rcv_register_groupmessage.ctl |
| 설명 |
PUSH 그룹/전체 발송 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID 데이터 포멧 json 배열(레거시 연동 서버에 대해서는 불필요) |
| 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), Public Push에서 2 이상일 때, Real PROVIDER로 전송 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 커스텀 메시지. |
| 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 형식으로 보낸다. - 3:00 새벽3시이후 발송되지 않음 - 15:00 오후 3시부터 발송되지 않음. |
| 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 저장테이블에 등록된다. 저장소 : DB T_PUSH_SMS테이블에 현재 시간보다 큰 사용자를 가져와 SMS 발송을 하면 된다. 저장소 : REDIS 2.25 SMS 발송대상자 API를 이용하여 조회. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| 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 |
|
WPNS |
String |
Y |
N |
WPNS 발송요청수 |
|
NOTEXISTCUIDS |
Array |
N |
Y |
푸시서비스에 가입되어 있지 않는 사용자 아이디 리스트 |
|
CUST_KEY |
String |
N |
N |
커스텀 키 |
|
CUST_VAR1 |
String |
N |
N |
커스텀 변수1 |
|
CUST_VAR2 |
String |
N |
N |
커스텀 변수2 |
|
CUST_VAR3 |
String |
N |
N |
커스텀 변수3 |
{
"BODY": {
"APNS": "0",
"REG_SUCCESS_CNT": "1",
"UPNS": "1",
"REG_FAIL_CNT": "0",
"FCM": "0",
"WPNS": "0",
"SENDMSG_SEQNO": "1151",
"HOST_URL": "",
"NOTEXISTCUIDS": [],
"CUST_KEY": "",
"CUST_VAR1": "",
"CUST_VAR2": "",
"CUST_VAR3": ""
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH CSV/템플릿CSV 발송 |
| API Path |
/rcv_register_csvmessage.ctl |
| 설명 |
PUSH CSV/템플릿CSV 발송 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID 데이터 포멧 json 배열(레거시 연동 서버에 대해서는 불필요) |
| 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), Public Push에서 2 이상일 때, Real PROVIDER로 전송 |
| 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 커스텀 메시지. |
| 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 형식으로 보낸다. - 3:00 새벽3시이후 발송되지 않음 - 15:00 오후 3시부터 발송되지 않음. |
| 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 문자를 받고 푸시도 중복으로 받을 수 있음을 유의 하시기 바랍니다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| 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 발송요청수 |
|
WPNS |
String |
Y |
N |
WPNS 발송요청수 |
|
NOTEXISTCUIDS |
Array |
N |
Y |
배열발송일 경우 푸시서비스에 가입되어 있지 않는 사용자 아이디 리스트를 리턴한다. |
{
"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",
"CUST_KEY": "",
"CUST_VAR1": "",
"CUST_VAR2": "",
"CUST_VAR3": ""
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
발송 중인 메시지 삭제 |
| API Path |
/cancel_sendingMsg.ctl |
| 설명 |
대량발송 또는 지연발송 중인 메시지들 중 아직 발송되지 않은 메시지를 취소처리함. |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
Y |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| SEQNO |
String |
Y |
발송 취소처리 할 메시지원장고유번호 ex)120348 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
SEQNO |
String |
Y |
N |
발송취소 요청한 메시지 시퀀스번호 |
{
"BODY": {
"SEQNO": "232"
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
발송 메시지 발송상태 |
| API Path |
/rcv_getSentMsgInfo.ctl |
| 설명 |
대량 발송 중 실시간 Push 발송 상태를 모니터링 |
※ 발송 상태 정보는 메모리에서 관리되며, 발송이 완료되면 메모리에서 제거됩니다. 발송 완료 후 또는 존재하지 않는 SEQNO로 요청 시 sentInfo는 빈 문자열("")로 반환됩니다. (Progress bar 용도로, 발송 진행 중에만 유효한 데이터가 반환됩니다.)
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
Y |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| SEQNO |
String |
Y |
발송 요청 후 받은 메시지원장고유번호 ex)120348 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
sentInfo |
Object |
Y |
N |
발송 상태 정보 |
|
└ SEQNO |
String |
|
|
발송 고유번호 |
|
└ TOTAL_SEND_CNT |
int |
|
|
전체 발송수 |
|
└ SEND_CNT |
int |
|
|
성공수 |
|
└ FAIL_CNT |
int |
|
|
실패수 |
|
└ PROCESS_CNT |
int |
|
|
발송처리건수 (성공수+실패수) |
|
└ REVSUCC_CNT |
int |
|
|
수신확인수 |
|
└ READ_CNT |
int |
|
|
읽음확인수 |
|
└ UPNS_CNT |
int |
|
|
UPNS 발송수 |
|
└ APNS_CNT |
int |
|
|
APNS 발송수 |
|
└ FCM_CNT |
int |
|
|
FCM 발송수 |
|
└ WPNS_CNT |
int |
|
|
WPNS 발송수 |
|
└ REG_MILTIME |
long |
|
|
발송 등록 시간 (밀리초) |
|
└ START_TIMESTAMP |
long |
|
|
발송 시작 시간 (타임스탬프) |
|
└ END_TIMESTAMP |
long |
|
|
발송 완료 시간 (타임스탬프) |
|
└ isFORCE_KILL_SEND |
boolean |
|
|
강제종료 후 재발송 여부 (true/false) |
{
"BODY": {
"sentInfo": {
"SEQNO": "232",
"TOTAL_SEND_CNT": 100,
"SEND_CNT": 95,
"FAIL_CNT": 5,
"PROCESS_CNT": 100,
"REVSUCC_CNT": 90,
"READ_CNT": 50,
"UPNS_CNT": 30,
"APNS_CNT": 40,
"FCM_CNT": 25,
"WPNS_CNT": 5,
"REG_MILTIME": 0,
"START_TIMESTAMP": 0,
"END_TIMESTAMP": 0,
"isFORCE_KILL_SEND": false
}
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 분할지연발송 취소 |
| API Path |
/rcv_sleep_send_cancel.ctl |
| 설명 |
PUSH 분할지연발송일 경우 발송 도중에 취소를 하는 API |
※ 주의사항: 여러대의 UPMC가 있을 경우 반드시 발송시 리턴값으로 받은 HOST_URL을 이용하여 해당 서버로 지연발송 취소를 하여야 만 한다.
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
Y |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| PSID |
String |
N |
PSID 데이터 포멧 json 배열(레거시 연동 서버에 대해서는 불필요) |
| SEQNO |
String |
Y |
발송시 리턴받은 메시지 원장 번호 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY |
SEQNO |
String |
Y |
N |
취소 요청한 메시지 시퀀스번호 |
{
"SERVICE": "kr.msp.push.receiver.controller.CancelSplitSendController",
"BODY": {
"SEQNO": "1"
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 예약 메시지 삭제 |
| API Path |
/rcv_message_cancel_reservation.ctl |
| 설명 |
PUSH 예약 메시지 삭제 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
Y |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| RESERVE_SEQNO |
String |
Y |
예약 메시지 메시지 등록 유니크 값 (T_PUSH_RESERVE_MSG 테이블 내의 RESERVE_SEQNO) ex)120348 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY |
|
|
|
|
(성공시 빈 Object 반환) |
{
"SERVICE": "kr.msp.push.receiver.controller.CancelReserveController",
"BODY": {},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
Public PUSH 수신확인 |
| API Path |
/rcv_register_sent_ack.ctl |
| 설명 |
FCM, APNS, WPNS를 통해 PUSH를 수신한 단말용 수신확인 API |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| DEVICE_ID |
String |
N |
디바이스 식별 정보(UUID등) 확인 |
| PNSID |
String |
N |
PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) |
| SEQNO |
String |
Y |
메시지 마스터 번호 |
| CUID |
String |
N |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) |
| PSID |
String |
Y |
APNS : Token FCM: Registration id |
| SENDDATE |
String |
Y |
받은 메세지 정보에서 senddate 값을 리턴 |
| DB_IN |
String |
Y |
받은 메세지 정보에서 db_in 값을 리턴. 주의)UPNS는 모두 대문자임 |
| SENDERCODE |
String |
N |
!주의.UPNS 발송일 경우는 필수 입니다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY |
|
|
|
|
|
{
"SERVICE": "kr.msp.push.receiver.controller.RevMsgController",
"BODY": {},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 메시지 읽음확인 |
| API Path |
/rcv_register_send_result.ctl |
| 설명 |
PUSH 메시지를 전송받은 단말의 앱에서 사용자가 메시지를 확인API |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| DEVICE_ID |
String |
N |
디바이스 식별 정보(UUID등) 확인 |
| PNSID |
String |
N |
PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) |
| SEQNO |
String |
Y |
메시지 마스터 번호 |
| CUID |
String |
N |
사용자 아이디 (로그인 아이디 등 유일한 정보) |
| 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 |
String |
N |
!주의.UPNS 발송일 경우는 필수 입니다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY |
|
|
|
|
|
{
"SERVICE": "kr.msp.push.receiver.controller.RevMsgController",
"BODY": {},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
뱃지 강제셋팅/초기화 |
| API Path |
/rcv_init_badgeNo.ctl |
| 설명 |
단말기의 PUSH 앱 뱃지 카운트를 강제 셋팅 또는 초기화 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
Y |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| DEVICE_ID |
String |
Y |
디바이스 식별 정보(UUID등) 확인 |
| PNSID |
String |
Y |
PUSH 유형 (UPNS,UPNC,FCM,APNS,WPNS) |
| APP_ID |
String |
Y |
어플리케이션 식별 정보 (패키지명) |
| BADGENO |
String |
Y |
강제로 세팅할 뱃지카운트. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
|
|
|
|
|
{
"SERVICE": "kr.msp.push.receiver.controller.RevMsgController",
"BODY": {},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
PUSH 메시지 재발송 |
| API Path |
/rcv_retry_message.ctl |
| 설명 |
PUSH 메시지를 재발송 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
Y |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| SEQNO |
String |
Y |
재발송 할 메시지 마스터 번호 |
| RETRY_TYPE |
String |
Y |
재발송 타입. CON_FAIL : push server(upns,provider)와의 연결 장애로 발송 실패한 메시지에 대한 재 발송. NOT_RECV : 수신확인 안된 메시지에 대한 재 발송. NOT_READ : 읽음확인 안된 메시지에 대한 재 발송 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| 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 |
{
"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"
}
}
| 서비스명 |
앱삭제여부 조회 (APNS Feedback) |
| API Path |
/getApnsFeedbackResult.ctl |
| 설명 |
APNS Feedback 결과를 조회하여 앱 삭제(비활성) 토큰 목록을 반환 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APPID |
String |
Y |
어플리케이션 식별 정보 (패키지명, 언더스코어 없음) |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
INACTIVE_TOKENS |
Array |
Y |
Y |
비활성 토큰 목록. 각 항목에 PSID, CUID, DEVICEID, APPID, DELDATE 포함 |
{
"BODY": {
"INACTIVE_TOKENS": [
{
"PSID": "60d3b18f1e5f4c6c6a8971936d4b320c7f69dc94",
"CUID": "testuser",
"DEVICEID": "test123",
"APPID": "com.push.app",
"DELDATE": "20260406"
}
]
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
REDIS 앱 아이디별 서비스 가입 수 조회 |
| API Path |
/redisUserCountInfo.ctl |
| 설명 |
RDB에 T_PUSH_USER_INFO테이블과 동기화가 이루어지는 REDIS 유저정보 키테이블의 앱아이디별 등록 서비스 가입자 수를 조회한다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
|
MEMBER |
String |
Y |
N |
회원가입자수 |
| BODY (Array) |
GUEST |
String |
Y |
N |
비회원가입자수 |
|
TOTAL |
String |
Y |
N |
전체 서비스 가입자수. |
{
"BODY": [
{
"MEMBER": "100000",
"TOTAL": "100000",
"GUEST": "0"
}
],
"SERVICE": "test",
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
REDIS UPNS별 유저할당 카운트 수 조회 |
| API Path |
/getRedisUpnsUserCntInfo.ctl |
| 설명 |
UPNS 서버별 유저 할당 카운트를 Redis에서 조회 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
N |
어플리케이션 식별 정보 (패키지명) |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY |
|
String |
Y |
Y |
동적 키: UPNS 서버 ID별 유저 수 |
{
"BODY": {
"UPNS_1": "20053",
"UPNS_2": "20052"
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
},
"SERVICE": "test"
}
| 서비스명 |
REDIS UPNS별 유저할당 카운트 수동셋팅 |
| API Path |
/redisUpnsUserCntSet.ctl |
| 설명 |
UPNS 서버 개별 할당 건수를 Redis에 수동 설정 |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
N |
어플리케이션 식별 정보 (패키지명) |
|
String |
Y |
DB에 등록되어 있는 UPNS 아이디를 키로 (예: UPNS_1=20000), value값을 유저수로 하여 넘긴다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| SERVICE |
|
String |
Y |
N |
처리 Controller |
| BODY |
|
String |
Y |
Y |
동적 키: 설정된 UPNS 서버 ID별 유저 수 |
{
"BODY": {
"UPNS_1": "20053",
"UPNS_2": "20052"
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
},
"SERVICE": "test"
}
| 서비스명 |
UPNS 서버 재할당 |
| API Path |
/reAllocateUpns.ctl |
| 설명 |
UPNS서버 장애시 다른 UPNS서버로 할당 |
| 항목 |
타입 |
필수 |
설명 |
| 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 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
UPNSIP |
String |
Y |
N |
재 접속할 UPNS IP |
|
PORT |
String |
Y |
N |
재 접속할 UPNS Port |
| SERVICE |
|
String |
Y |
N |
처리 Controller 클래스명 |
{
"SERVICE": "kr.msp.push.receiver.controller.ReAllocateUpns",
"BODY": {
"UPNSIP": "111.111.111.111",
"PORT": "1883"
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
UPNS 장애복구 후 통지 |
| API Path |
/allBackAllocateUpns.ctl |
| 설명 |
UPNS서버 장애복구 후 단말에 통지하야 원래 할당된 UPN로 재접속을 받는다. |
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| UPNSID |
String |
Y |
장애 복구 한 UPNS 서버아이디. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
reAllocateUser |
String |
Y |
N |
장애가 발생하여 재 할당된 단말수 |
| SERVICE |
|
String |
Y |
N |
처리 Controller 클래스명 |
{
"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 이상에서만 사용 가능합니다.
| 항목 |
타입 |
필수 |
설명 |
| AUTHKEY |
String |
N |
인증보안키 (레거시 연동 서버에 대해서는 불필요) |
| APP_ID |
String |
Y |
앱아이디. |
| SEQNO |
String |
Y |
메시지 발송 원장 번호 |
| CUID |
String |
Y |
수신자 아이디 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| 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 리스트 |
{
"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서버정보 리스트를 조회한다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY (Array) |
ip |
String |
Y |
Y |
Redis 아이피 |
|
port |
String |
Y |
Y |
포트 |
|
runId |
String |
Y |
Y |
구동 고유아이디 |
|
isMaster |
String |
Y |
Y |
마스터여부 |
{
"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 아이피를 알아온다. |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY (Array) |
masterIP |
String |
Y |
Y |
현재 마스터 roll을 수행 중인 redis 마스터아이피 |
{
"BODY": [
{
"masterIP": "xxx.xxx.xxx.xxx"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
현재 마스터를 다른 슬래이브 Redis로 master roll을 강제 변경 |
| API Path |
/changeSlaveToMaster.ctl |
| 설명 |
Redis 마스터를 변경하고 싶을 때 사용. 성공시 임의의 슬래이브중 하나가 마스터로 변경됨. |
| 항목 |
타입 |
필수 |
설명 |
| nowMasterIP |
String |
Y |
현재 현재 레디스마스터 아이피 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY (Array) |
beforeMasterIP |
String |
Y |
N |
변경 전 마스터 아이피 |
|
afterMasterIP |
String |
Y |
N |
변경 후 마스터 아이피 |
{
"BODY": [
{
"beforeMasterIP": "111.111.111.111",
"afterMasterIP": "222.222.222.222"
}
],
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}
| 서비스명 |
서버 상태 및 처리량 조회 |
| API Path |
/pushServerStatusList.ctl |
| 설명 |
현재 서비스 등록되어 있는 UPMC, UPNS TPS 정보 조회 |
| 구분 |
항목 |
타입 |
필수 |
반복 |
설명 |
| HEADER |
RESULT_CODE |
String |
Y |
N |
0000 : 응답 성공, 그외 : 에러 메시지 |
|
RESULT_BODY |
String |
Y |
N |
OK : 응답 성공, 그외 : 에러 메시지 |
| BODY |
UPNS |
Array |
Y |
Y |
UPNS 서버 상태 목록 (하위 필드는 공통 참조) |
|
PROVIDER |
Array |
Y |
Y |
PROVIDER 서버 상태 목록 (하위 필드는 공통 참조) |
|
UPMC |
Array |
Y |
Y |
UPMC 서버 상태 목록 (하위 필드는 공통 참조) |
UPNS / PROVIDER / UPMC 배열 공통 하위 필드:
| 항목 |
타입 |
설명 |
| SERVERID |
String |
서버 아이디 |
| ACTIVE_YN |
String |
서비스 상태 (Y/N) |
| resultCode |
String |
서비스 상태 호출 결과코드 (200: 정상) |
| resultMsg |
String |
서비스 상태 호출 결과 메시지 |
| QUEUE_SIZE |
String |
현재 발송대기 큐 사이즈 |
| INPUT_CNT |
String |
이전 1분간 요청 메시지 수 |
| OUT_CNT |
String |
이전 1분간 처리 메시지 수 |
| MAX_INPUT_CNT |
String |
최대 요청 메시지 수 |
| MAX_OUTPUT_CNT |
String |
최대 처리 메시지 수 |
| CHECK_DATE |
String |
측정 일자 |
| INTERVAL |
String |
측정 간격 |
{
"BODY": {
"UPNS": [
{
"resultCode": "200",
"resultMsg": "SUCCESS",
"INPUT_CNT": "0",
"OUT_CNT": "0",
"MAX_INPUT_CNT": "0",
"MAX_OUTPUT_CNT": "0",
"CHECK_DATE": "20260406131812",
"QUEUE_SIZE": "0",
"INTERVAL": "60s",
"SERVERID": "UPNS_1",
"ACTIVE_YN": "Y"
}
],
"UPMC": [],
"PROVIDER": []
},
"HEADER": {
"RESULT_CODE": "0000",
"RESULT_BODY": "OK"
}
}