WEB PUSH
1. 개요
본 문서는 message.AI에서 제공하는 Web PUSH의 UPMC 서버 연동 API 정의서를 설명하고 있다, 본 문서는 성능 개선, 기능 추가 등의 사항으로 내용이 변경될 수 있다.
참고
API 호출 시 반환 값 처리 방법 모든 API에 대한 응답은 Promise 형식으로 반환하며, 성공 시 then, 실패 시 catch로 객체를 전달한다.
2. APIs
PUSH 서비스 초기화
구분 |
내용 |
---|---|
API 명 |
Push 서비스 초기화 |
Method |
M.init(String, String, String, Object) |
설명 |
PUSH 서비스를 이용하기 위한 기본 설정 |
Parameters
항목 |
타입 |
필수 |
설명 |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
APP_ID |
String |
Y |
어플리케이션 식별 정보 |
||||||||||||
Receiver_URL |
String |
Y |
UPMC의 주소 (https 필수) |
||||||||||||
PUBLIC_KEY |
String |
Y |
서비스 자가 서명 공개 키 (VAPID Public Key) |
||||||||||||
OPTIONS |
Object |
N |
알림에서 사용되는 기본 값
|
Return (Promise) : 반환값 없음
연동 예시
var M = window.M || []; M.push(function() { // 미지원 브라우저 대응 코드 //서비스그룹아이디는 서비스그룹 상세 화면에서 복사 후 사용하세요. //공개키는 서비스그룹 상세 서비스 설정의 PUSH 목록에서 복사 후 사용하세요. M.init("[서비스그룹아이디-web]", "https://upmc.message-ai.net", "[공개키]", { title: "Web PUSH 수신 시 노출될 타이틀", url: "https://회원사서버URL", icon: "https://회원사서버의이미지.png" }); });
PUSH 서비스 등록
구분 |
내용 |
---|---|
API 명 |
Push 서비스 등록 |
설명 |
PUSH 서비스 사용을 위한 토큰 발급 및 서비스 사용 등록 |
Method |
M.register(String, String) |
Parameters
항목 |
타입 |
필수 |
설명 |
---|---|---|---|
CUID |
String |
Y |
어플리케이션 식별 정보 |
CNAME |
String |
Y |
UPMC의 주소 (https 필수) |
Return (Promise)
항목 |
타입 |
설명 |
---|---|---|
APPID |
String |
어플리케이션 식별 정보 |
AUTHKEY |
String |
전문 통신 인증 키 |
PSID |
String |
Endpoint URL |
연동 예시
M.register("등록대상회원아이디", "등록대상회원명").then(function() { console.log("웹 PUSH 알림이 등록 되었습니다."); }).catch(function(e) { console.log(e); });
PUSH 서비스 해제
구분 |
내용 |
---|---|
API 명 |
Push 서비스 해제 |
Method |
M.unregister() |
설명 |
PUSH 서비스 사용 해제 |
Parameters : 파라미터 없음
Return (Promise) : 반환값 없음
연동 예시
M.unregisterService().then(function() { alert("알림 서비스 등록이 해지 되었습니다."); }).catch(function(e) { alert("알림 서비스 해지 중 오류가 발생하였습니다.("+e + ")"); });
PUSH 서비스 확인
구분 |
내용 |
---|---|
API 명 |
Push 서비스 확인 |
Method |
M.isRegistered() |
설명 |
PUSH 서비스 사용 확인 |
Parameters : 파라미터 없음
Return (Promise)
항목 |
타입 |
설명 |
---|---|---|
result |
boolean |
서비스 등록 여부를 true, false로 반환 |
연동 예시
M.isRegistered().then(function(r) { If(r) alert("알림 서비스가 등록되어 있습니다. "); else alert("알림 서비스가 등록되어 있지 않습니다."); }).catch(function(e) { alert("알림 서비스 해지 중 오류가 발생하였습니다.("+e + ")"); });
사용자 그룹 등록
구분 |
내용 |
---|---|
API 명 |
Push 사용자 그룹 등록 |
Method |
M.addGroup(String) |
설명 |
PUSH 서비스 사용자 그룹 등록 |
Parameters
항목 |
타입 |
필수 |
설명 |
---|---|---|---|
GROUP_NAME |
String |
Y |
등록할 그룹의 명칭 |
Return (Promise)
항목 |
타입 |
설명 |
---|---|---|
GROUP_SEQ |
String |
등록된 그룹의 고유번호 |
연동 예시
M.addGroup(String).then(function(GROUP_SEQ) { alert("등록 된 그룹 번호" + GROUP_SEQ); }).catch(function(e) { alert("그룹 등록에 실패 하였습니다.("+e + ")"); });
사용자 그룹 조회
구분 |
내용 |
---|---|
API 명 |
Push 사용자 그룹 조회 |
Method |
M.getGroup(String) |
설명 |
PUSH 서비스 사용자 그룹 등록 |
Parameters
항목 |
타입 |
필수 |
설명 |
---|---|---|---|
GROUP_SEQ |
String |
Y |
조회할 그룹의 고유번호 |
Return (Promise)
항목 |
타입 |
설명 |
---|---|---|
GROUP_NAME |
String |
등록된 그룹의 명칭 |
연동 예시
M.getGroup(String).then(function(GROUP_SEQ) { alert("그룹 명" + GROUP_NAME); }).catch(function(e) { alert("그룹 조회에 실패 하였습니다.("+e + ")"); });
사용자 그룹 삭제
구분 |
내용 |
---|---|
API 명 |
Push 사용자 그룹 삭제 |
Method |
M.deleteGroup(String) |
설명 |
PUSH 서비스 사용자 그룹 삭제 |
Parameters
항목 |
타입 |
필수 |
설명 |
---|---|---|---|
GROUP_SEQ |
String |
Y |
등록할 그룹의 고유번호 |
Return (Promise) : 반환값 없음
연동 예시
M.deleteGroup(String).then(function() { alert("그룹을 삭제 하였습니다."); }).catch(function(e) { alert("그룹 삭제에 실패 하였습니다."); });
사용자 그룹 사용자 등록
구분 |
내용 |
---|---|
API 명 |
그룹 사용자 등록 |
Method |
M.addGroupUser(String) |
설명 |
지정된 사용자 그룹에 자기 자신을 등록 |
Parameters
항목 |
타입 |
필수 |
설명 |
---|---|---|---|
GROUP_SEQ |
String |
Y |
등록할 그룹의 고유번호 |
Return (Promise) : 반환값 없음
연동 예시
M.addGroupUser("1").then(function(GROUP_SEQ) { alert("사용자 그룹 등록에 성공 하였습니다."); }).catch(function(e) { alert("그룹 등록에 실패 하였습니다."); });
사용자 그룹 사용자 조회
구분 |
내용 |
---|---|
API 명 |
그룹 사용자 조회 |
Method |
M.getGroupUser(String, String) |
설명 |
지정된 사용자 그룹에서 자기 자신을 조회 |
Parameters
항목 |
타입 |
필수 |
설명 |
---|---|---|---|
GROUP_SEQ |
String |
Y |
등록할 그룹의 고유번호 |
Return (Promise)
항목 |
타입 |
설명 |
---|---|---|
GROUP_SEQ |
String |
등록된 그룹의 고유번호 |
CUID |
String |
사용자의 CUID (배열) |
연동 예시
M.getGroupUser("1", "https: //fcm.googleapis.com/fcm/send/fZTGNa43TfQ:AP…hxQOmsgDNdXjRYCqIkAxoD-60YZFKuvgJACoqyfwuFQFD3ENA").then(function(result) { console.log(result.cuid); }).catch(function(e) { alert("그룹 사용자 조회에 실패 하였습니다."); });
사용자 그룹 사용자 삭제
구분 |
내용 |
---|---|
API 명 |
그룹 사용자 삭제 |
Method |
M.deletedGroupUser(String, String) |
설명 |
지정된 사용자 그룹에서 자기 자신을 제외 |
Parameters
항목 |
타입 |
필수 |
설명 |
---|---|---|---|
GROUP_SEQ |
String |
Y |
등록할 그룹의 고유번호 |
CUID |
String |
Y |
현재 사용자의 CUID |
Return (Promise) : 반환값 없음
연동 예시
M.deleteGroupUser("1", "test").then(function() { alert("그룹 사용자 제거에 성공 하였습니다."); }).catch(function(e) { alert("그룹 사용자 제거에 실패 하였습니다."); });