본문으로 건너뛰기

푸시 알림 REST API

Maxst Notification API Document (v0.1)

Download OpenAPI specification:Download

Maxst Notification API

Push Notification API

푸시 관련 기능

토큰 조회

유저 ID를 이용해 토큰 정보 확인

Authorizations:
Authorization
query Parameters
user_id
required
string

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "user_id": "user01",
  • "token_list": [
    ]
}

토큰 등록

유저의 토큰을 저장, 기존에 등록되지 않은 유저라면 새로 생성, 등록된 유저라면 토큰이 추가됩니다

Authorizations:
Authorization
Request Body schema: application/json;charset=UTF-8
user_id
required
string

사용자 ID

push_type
required
string [ 0 .. 10 ] characters

토큰의 push type(ANDROID, IOS)

push_token
required
string\S+

구글에서 발급 받은 push key

Responses

Request samples

Content type
application/json;charset=UTF-8
{
  • "user_id": "user1",
  • "push_type": "ANDROID",
  • "push_token": "eYyyyyyyy"
}

Response samples

Content type
application/json;charset=UTF-8
201

푸시 알림 전송

유저 정보를 바탕으로 푸시 알림을 보냄

Authorizations:
Authorization
Request Body schema: application/json;charset=UTF-8
recipient_ids
required
Array of strings

수신할 사용자 ID

push_type
required
string

토큰의 push type(ANDROID | IOS)

title
required
string

제목

body
required
string

제목

object

데이터

Responses

Request samples

Content type
application/json;charset=UTF-8
{
  • "recipient_ids": [
    ],
  • "push_type": "ANDROID",
  • "title": "푸시 제목입니다.",
  • "body": "푸시 내용입니다.",
  • "data": {
    }
}

Response samples

Content type
application/json;charset=UTF-8
{
  • "transactions": [
    ]
}

푸시 결과 조회

Authorizations:
Authorization
path Parameters
transaction_id
required
string

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "request_id": "010c01887c18226c-24e00a60-1f81-44e8-b6c2-c7c3024a7ed2-000000",
  • "transaction_at": "2023-06-02T12:32:16+09:00[Asia/Seoul]",
  • "recipient_id": "sichoi@maxst.com",
  • "transaction_id": "b27fbcd2-8859-4ce8-bc29-175042ec039a",
  • "status": "SUCCESS"
}

토큰 삭제

등록된 유저의 토큰 삭제

Authorizations:
Authorization
path Parameters
push_token
required
string
query Parameters
user_id
required
string

Responses

Response samples

Content type
application/json;charset=UTF-8
200

Console API

콘솔 관련 기능

알림 발송 조회 리스트

Page 형식으로 조회

Authorizations:
Authorization
query Parameters
application_id
required
string
page
integer <int32>
Default: 1
size
integer <int32>
Default: 10

Responses

Response samples

Content type
application/json;charset=UTF-8
200

요청한 알림 전송 수정

아직 전송되지 않은 알림 요청에 대해 수정

Authorizations:
Authorization
query Parameters
application_id
required
string
request_uuid
required
string
Request Body schema: application/json;charset=UTF-8
title
required
string

제목

body
required
string

내용

dispatch_type
required
string

발송 유형(IMMEDIATE, SCHEDULED, RECURRING), 현재 반복 발송은 지원 안함

destination
required
Array of strings

발송 대상(ANDROID, IOS, ALL)

dispatch_date
string\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}

예약 발송 시간, 요청 시 UTC0로 변환해 전달할 것

Responses

Request samples

Content type
application/json;charset=UTF-8
{
  • "title": "테스트 알림 제목입니다.",
  • "body": "테스트 알림 내용입니다.",
  • "dispatch_type": "SCHEDULED",
  • "destination": [
    ],
  • "dispatch_date": "2023-06-07T13:46:08"
}

Response samples

Content type
application/json;charset=UTF-8
200

앱의 모든 유저에게 Push 알림 전송

안드로이드, iOS에 알림 전송

현재 기준으로 반복 전송(RECURRING), iOS 알림 지원 안됨

Authorizations:
Authorization
query Parameters
application_id
required
string
Request Body schema: application/json;charset=UTF-8
title
required
string

제목

body
required
string

내용

dispatch_type
required
string

발송 유형(IMMEDIATE, SCHEDULED, RECURRING), 현재 반복 발송은 지원 안함

destination
required
Array of strings

발송 대상(ANDROID, IOS, ALL)

dispatch_date
string\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}

예약 발송 시간, 요청 시 UTC0로 변환해 전달할 것

Responses

Request samples

Content type
application/json;charset=UTF-8
{
  • "title": "테스트 알림 제목입니다.",
  • "body": "테스트 알림 내용입니다.",
  • "dispatch_type": "SCHEDULED",
  • "destination": [
    ],
  • "dispatch_date": "2023-06-07T13:46:08"
}

Response samples

Content type
application/json;charset=UTF-8
200

요청한 알림 전송 취소

아직 전송되지 않은 알림 요청을 삭제

Authorizations:
Authorization
query Parameters
application_id
required
string
Request Body schema: application/json;charset=UTF-8
request_uuids
required
Array of strings

앱 푸시 요청 id List

Responses

Request samples

Content type
application/json;charset=UTF-8
{
  • "request_uuids": [
    ]
}

Response samples

Content type
application/json;charset=UTF-8
200

iOS(APNs) 인증키(.p8) 등록

iOS push를 위해 해당 config 등록

Authorizations:
Authorization
query Parameters
application_id
required
string
bundle_id
required
string
team_id
required
string
key_id
required
string
Request Body schema: multipart/form-data
auth_key_file
required
string <binary>

multipart/form-data 형식의 파일을 받습니다.

Responses

Response samples

Content type
application/json;charset=UTF-8
200

iOS(APNs) 인증서(.p12) 등록

iOS push를 위해 해당 config 등록

Authorizations:
Authorization
query Parameters
application_id
required
string
apns_certificate_password
required
string
bundle_id
required
string
Request Body schema: multipart/form-data
certificate_file
string <binary>

multipart/form-data 형식의 p12 파일을 받습니다.

Responses

Response samples

Content type
application/json;charset=UTF-8
200

안드로이드 Package Name, Server Key 등록

안드로이드 push를 위한 설정 등록

Authorizations:
Authorization
query Parameters
application_id
required
string
Request Body schema: application/json;charset=UTF-8
package_name
required
string

안드로이드 패키지 네임

fcm_server_key
required
string

FCM API Server Key

Responses

Request samples

Content type
application/json;charset=UTF-8
{
  • "package_name": "test.android",
  • "fcm_server_key": "AAAAHsTKWxk:APA91bEPgHec6BW9TClrMthtCU0P0o2cTBd0NDEumkuBuUfRfL3xJWI96tWvM0TfuNU3U52uHc5vyIHbxb3hR5yoG0FYgP1Z_yTYtyn7St8TJSjxhfV5kmm77UZ7gi8lVDXU_5UUzKZK"
}

Response samples

Content type
application/json;charset=UTF-8
200

알림 정보 조회

알림 정보 조회(상태, 인증 정보, iOS 인증 정보)

Authorizations:
Authorization
query Parameters
application_id
required
string

Responses

Response samples

Content type
application/json;charset=UTF-8
{
  • "fcm_server_key": "AAAAz3cTpA4:APA91bFovo--KmJMMK00z9_x-_EzBLL5TWnLbd4x5adfdjtRdCpJ2TR_9vgoCCOHausYTsJTtt5IOFJZZYccGelFH26oS9Urf92jcXi-V_nwUtRy6e1KY0lo9xx9e_dAPCfiHANY8ylui\n",
  • "package_name": "com.maxst.noti",
  • "bundle_id": "com.maxst.noti",
  • "team_id": "LY4A29123H",
  • "key_id": "LP9CCFA7MJ",
  • "ios_apns_type": "인증서(CERTIFICATE), 인증키(TOKEN), 미설정(NONE)",
  • "certificate_expiry_date": "2023-11-22"
}

인증서, 인증키 삭제

인증서 및 인증키 삭제 요청

Authorizations:
Authorization
query Parameters
application_id
required
string

Responses

Response samples

Content type
application/json;charset=UTF-8
200