==================== WEB PUSH ==================== 1. 개요 ==== 본 문서는 (주)유라클에서 제공하는 “MSP Push Platform”의 Receiver Server 연동 API 정의서를 설명하고 있다, 본 문서는 성능 개선, 기능 추가 등의 사항으로 내용이 변경될 수 있다. .. note:: 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 알림에서 사용되는 기본 값 ===== ====== ========================= 항목 형식 설명 ===== ====== ========================= title String 알림 제목 url String 알림 클릭 시 링크 URL icon String 알림 표시 기본 아이콘 URL (https 필수) ===== ====== ========================= ============ ====== ==== =========================================== * **Return (Promise)** : 반환값 없음 * **연동 예시** .. code-block:: javascript var M = window.M || []; M.push(function() { // 미지원 브라우저 대응 코드 M.init("[프로젝트 아이디-web]", "https://upmcapi.morpheus.kr", "[공개키]", { title: "Mobile No.1 - Morpheus", url: "https://morpheus.kr", icon: "https://www.morpheus.kr/layouts/morpheus_2013/img/common/logo.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 ======= ====== ====================== * **연동 예시** .. code-block:: javascript M.register("morpheus", "모피어스").then(function() { console.log("웹 PUSH 알림이 등록 되었습니다."); }).catch(function(e) { console.log(e); }); PUSH 서비스 해제 ---------------- ====== ====================================== 구분 내용 ====== ====================================== API 명 Push 서비스 해제 Method M.unregister() 설명 PUSH 서비스 사용 해제 ====== ====================================== * **Parameters** : 파라미터 없음 * **Return (Promise)** : 반환값 없음 * **연동 예시** .. code-block:: javascript M.unregisterService().then(function() { alert("알림 서비스 등록이 해지 되었습니다."); }).catch(function(e) { alert(“알림 서비스 해지 중 오류가 발생하였습니다.(“+e + ”)”); }); PUSH 서비스 확인 ---------------- ====== ====================================== 구분 내용 ====== ====================================== API 명 Push 서비스 확인 Method M.isRegistered() 설명 PUSH 서비스 사용 확인 ====== ====================================== * **Parameters** : 파라미터 없음 * **Return (Promise)** ====== ======= ===================================== 항목 타입 설명 ====== ======= ===================================== result boolean 서비스 등록 여부를 true, false로 반환 ====== ======= ===================================== * **연동 예시** .. code-block:: javascript 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 등록된 그룹의 고유번호 ========= ====== ====================== * **연동 예시** .. code-block:: javascript 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 등록된 그룹의 명칭 ========== ====== ================== * **연동 예시** .. code-block:: javascript 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)** : 반환값 없음 * **연동 예시** .. code-block:: javascript M.deleteGroup(String).then(function() { alert(“그룹을 삭제 하였습니다.”); }).catch(function(e) { alert(“그룹 삭제에 실패 하였습니다.”); }); 사용자 그룹 사용자 등록 ----------------------- ====== ====================================== 구분 내용 ====== ====================================== API 명 그룹 사용자 등록 Method M.addGroupUser(String) 설명 지정된 사용자 그룹에 자기 자신을 등록 ====== ====================================== * **Parameters** ========= ====== ==== ====================== 항목 타입 필수 설명 ========= ====== ==== ====================== GROUP_SEQ String Y 등록할 그룹의 고유번호 ========= ====== ==== ====================== * **Return (Promise)** : 반환값 없음 * **연동 예시** .. code-block:: javascript 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 (배열) ========= ====== ====================== * **연동 예시** .. code-block:: javascript 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)** : 반환값 없음 * **연동 예시** .. code-block:: javascript M.deleteGroupUser(“1”, “test”).then(function() { alert(“그룹 사용자 제거에 성공 하였습니다.”); }).catch(function(e) { alert(“그룹 사용자 제거에 실패 하였습니다.”); });