푸시 알림 REST API
토큰 등록
유저의 토큰을 저장, 기존에 등록되지 않은 유저라면 새로 생성, 등록된 유저라면 토큰이 추가됩니다
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
- Payload
Content type
application/json;charset=UTF-8
{- "user_id": "user1",
- "push_type": "ANDROID",
- "push_token": "eYyyyyyyy"
}
Response samples
- 201
- 400
- 422
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
- Payload
Content type
application/json;charset=UTF-8
{- "recipient_ids": [
- "user1",
- "user2"
], - "push_type": "ANDROID",
- "title": "푸시 제목입니다.",
- "body": "푸시 내용입니다.",
- "data": {
- "body": "===test data==="
}
}
Response samples
- 202
- 400
- 422
Content type
application/json;charset=UTF-8
{- "transactions": [
- {
- "recipient_id": "string",
- "transaction_id": "string",
- "transaction_type": "string",
- "status": "string"
}
]
}
Response samples
- 200
- 204
- 400
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
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
- Payload
Content type
application/json;charset=UTF-8
{- "title": "테스트 알림 제목입니다.",
- "body": "테스트 알림 내용입니다.",
- "dispatch_type": "SCHEDULED",
- "destination": [
- "ANDROID, IOS, ALL"
], - "dispatch_date": "2023-06-07T13:46:08"
}
Response samples
- 200
- 204
- 403
- 422
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
- Payload
Content type
application/json;charset=UTF-8
{- "title": "테스트 알림 제목입니다.",
- "body": "테스트 알림 내용입니다.",
- "dispatch_type": "SCHEDULED",
- "destination": [
- "ANDROID, IOS, ALL"
], - "dispatch_date": "2023-06-07T13:46:08"
}
Response samples
- 200
- 204
- 400
- 422
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
- Payload
Content type
application/json;charset=UTF-8
{- "request_uuids": [
- "2c76b996-92bb-44a7-a9a3-9559aa63c9cf",
- "a8bcbf65-7fa5-4c03-bc88-1c23db82615d"
]
}
Response samples
- 200
- 204
- 403
- 422
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
- 200
- 204
- 400
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
- 200
- 204
- 400
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
- Payload
Content type
application/json;charset=UTF-8
{- "package_name": "test.android",
- "fcm_server_key": "AAAAHsTKWxk:APA91bEPgHec6BW9TClrMthtCU0P0o2cTBd0NDEumkuBuUfRfL3xJWI96tWvM0TfuNU3U52uHc5vyIHbxb3hR5yoG0FYgP1Z_yTYtyn7St8TJSjxhfV5kmm77UZ7gi8lVDXU_5UUzKZK"
}
Response samples
- 200
- 204
Content type
application/json;charset=UTF-8
200
알림 정보 조회
알림 정보 조회(상태, 인증 정보, iOS 인증 정보)
Authorizations:
Authorization
query Parameters
application_id required | string |
Responses
Response samples
- 200
- 204
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"
}