푸시 알림 캠페인 API 트리거 발송
Process 코드 값
0
성공
200
헤더
1101
"x-api-key" 헤더 누락
400
1102
Content-Type 헤더 누락
400
일반
1201
요청 본문에 내용이 없음
400
1202
요청 데이터 행이 너무 많음
400
1203
요청 포맷이 잘못됨
400
1204
올바르지 않은 날짜 형식입니다
400
인증
1401
API 키가 유효하지 않음
401
1402
API 사용권한 없음
401
1403
등록되지 않은 회원사
401
1404
미 승인 회원사
401
1405
만료된 회원사
401
푸시
1901
캠페인이 없음
404
1902
유효하지 않은 캠페인
400
기타
2000
내부 서버 오류
500
발송하기
• 푸시 알림 캠페인 API 트리거 유형을 발송합니다.
• 캠페인키, 발송 대상자 정보를 요청 본문에 넣어서 호출합니다.
‘캠페인키'는 관리자 페이지(그루비 어드민)에서 푸시 알림 캠페인(API 트리거 유형) 생성 시 발급됩니다.
기본 정보
POST
https://api.groobee.io/messages/push/trigger
API Key
요청 헤더
x-api-key
x-api-key: ${x-api-key}
O
Content-Type
Content-Type: application/json
O
요청 본문
요청 본문으로 전송할 수 있는 최대 발송 대상자 수는 100명입니다. 100명이 넘으면 오류를 반환합니다. (processCode : 1202)
campaignKey
String
캠페인 키
O
그루비 관리자 페이지에서 푸시 알림 캠페인(API 트리거 유형) 생성 시 발급
users
User[]
발송 대상자 정보
O
해당 캠페인 발송 대상자 정보의 리스트 (1회 요청 당 최대 100명)
User
memberId
String
회원 ID(회원번호)
O
발급
properties
Map
사용자 설정 변수의 키-값 쌍을 가지는 객체
X
푸시 알림 캠페인(API 트리거 유형)에서 사용자가 생성한 커스텀 변수의 키와 그에 해당하는 값의 쌍
응답
발송 요청 성공 응답은, 실제로 해당 유저가 푸시 메세지를 받았음을 보장하지 않습니다. 응답의 dispatchId 값을 통해 발송 결과를 조회할 수 있습니다.
dispatchId
String
API 발송 요청에 대한 키
예제
요청
{
"campaignKey" : "PU96b0bb8cb8b4533f965d2e7acd0383b6"
"users" : [
{
"memberId" : "groobee1",
"properties" : {
"name" : "이그루",
"goods_name" : "원피스",
"goods_price" : "120,000",
...
}
},
{
"memberId" : "groobee2",
"properties" : {
"name" : "김그루",
"goods_name" : "청바지",
"goods_price" : "200,000",
...
}
},
...
]
}
응답(성공)
{
"httpStatus": {
"code": "200",
"reasonPhrase": "OK"
},
"processCode": "0",
"processValue": {
"dispatchId" : "9ba020b4ef0a40b4872b3d8de1f2322f"
}
}
응답(실패)
API 트리거는 별도 과금되는 서비스입니다. 과금하지 않았을 시 에러를 리턴합니다.
{
"httpStatus": {
"code": "401",
"reasonPhrase": "Unauthorized"
},
"processCode": "1402",
"processValue": "해당 서비스는 과금이 필요합니다."
}
발송 결과 조회하기
• 푸시 알림 캠페인 API 트리거 유형의 발송 결과를 조회합니다.
• 푸시 알림 캠페인 API 트리거 유형 발송하기 응답 값의 dispatchId를 path에 넣어서 요청합니다.
기본 정보
GET
https://api.groobee.io/messages/push/statuses/{dispatchId}
API Key
요청 헤더
x-api-key
x-api-key: ${x-api-key}
O
요청 경로 변수
dispatchId
API 발송 요청에 대한 키
O
응답
하나의 회원 ID에 여러 디바이스가 있는 경우 회원의 모든 디바이스에 발송하기 때문에 회원 ID가 중복일 수 있습니다.
dispatchId
String
API 발송 요청에 대한 키
results
PushApiResult[]
발송 건 각각의 결과 리스트
PushApiResult
memberId
String
회원 ID (회원번호)
deviceType
String
디바이스 타입 - ANDROID : 안드로이드 - IOS : iOS
pushToken
String
푸시 토큰
status
String
발송 결과 - SENDING : 발송 중 - SUCCEED : 성공 - FAILED : 실패
예제
응답(성공)
{
"httpStatus": {
"code": "200",
"reasonPhrase": "OK"
},
"processCode": "0",
"processValue": {
"dispatchId" : "9ba020b4ef0a40b4872b3d8de1f2322f",
"results" : [
{
"memberId" : "groobee1",
"deviceType" : "IOS",
"pushToken" : "ccmxg2-fQY6nA5vlmkXQ9w:APA91bHM3dtNcwWLiCfXe2NIu8689Z0PRBMUsICwu-hQAS9ut0m6TGjtbyXsFRl6oDLFWq37MH03m46mrQY_sGcm3JOiyo8kR8Hgny_22q1ku2I_k1yNDYo-PXc1gE9OsdP8XEctbbP5",
"status" : "SUCCEED"
},
{
"memberId" : "groobee1",
"deviceType" : "ANDROID",
"pushToken" : "fEVPUBO3ToeEPOpsnN2yi8:APA91bERcry4jdQOVt9yVqTm8k-vL1_C_Bv0j5_cDlJCibOd1y-MdYGgfQC7Me0PgbzABCEDMWOcGs47rrpGiagug4ujxaoltX0fcoLdHCKHhtoKpomepzRfEPh8qB0o9G5loHH3NeId",
"status" : "FAILED"
},
{
"memberId" : "groobee2",
"deviceType" : "ANDROID",
"pushToken" : "dCwXIsfJRHymW6SWL6GscT:APA91bFaaPr8wdvKZ0jtxXGCpaG-k-lZAzuiAd_ntdXOWwqWl_xhrPFv2k_p_f12vivKq43LAVN9eDZBvPr5VRhrgKhxzo9_Dg_zzvxByIxVF0-Ove0v-rWnk8k5y-2q0hH_CEW8i_oG",
"status" : "SENDING"
},
{
"memberId" : "groobee3",
"deviceType" : "IOS",
"pushToken" : "dky9RrH0G0iLgkaOy5bC3L:APA91bGks_dHQpP9kkS7cwSCweX_0g7RQrzWLS9kkTXEnEesKWPTFeStpXO1VSRVgrP5m-0FB5gimj2Ot3tFwUmEa1n-YjIOIqcY50d2Mj4IgiC0nMhy0FAW_nw0kq8eaBi4N1ZKaHiH",
"status" : "SUCCEED"
},
...
]
}
}
응답(실패)
API 트리거는 별도 과금되는 서비스입니다. 과금하지 않았을 시 에러를 리턴합니다.
{
"httpStatus": {
"code": "401",
"reasonPhrase": "Unauthorized"
},
"processCode": "1402",
"processValue": "해당 서비스는 과금이 필요합니다."
}
Last updated