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

알림에서 사용되는 기본 값

항목

형식

설명

title

String

알림 제목

url

String

알림 클릭 시 링크 URL

icon

String

알림 표시 기본 아이콘 URL

(https 필수)

  • 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("그룹 사용자 제거에 실패 하였습니다.");
    
    });