푸시 알림 캠페인 API 트리거 발송

푸시 알림 캠페인 API 트리거 유형을 발송할 경우 사용하는 API 입니다.

API 트리거 발송 만들기 문서를 함께 참고해 주세요.

Process 코드 값

범위
에러 코드
에러 메시지
HTTP 상태 코드

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 트리거 유형을 발송합니다.

• 캠페인키, 발송 대상자 정보를 요청 본문에 넣어서 호출합니다.

기본 정보

메소드
URL
인증 방식

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

요청 본문

이름
타입
설명
필수
비고

campaignKey

String

캠페인 키

O

그루비 관리자 페이지에서 푸시 알림 캠페인(API 트리거 유형) 생성 시 발급

users

User[]

발송 대상자 정보

O

해당 캠페인 발송 대상자 정보의 리스트 (1회 요청 당 최대 100명)

User

이름
타입
설명
필수
비고

memberId

String

회원 ID(회원번호)

O

발급

properties

Map

사용자 설정 변수의 키-값 쌍을 가지는 객체

X

푸시 알림 캠페인(API 트리거 유형)에서 사용자가 생성한 커스텀 변수의 키와 그에 해당하는 값의 쌍

응답

이름
타입
설명

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"
    }
}  

응답(실패)

  {
    "httpStatus": {
        "code": "401",
        "reasonPhrase": "Unauthorized"
    },
    "processCode": "1402",
    "processValue": "해당 서비스는 과금이 필요합니다."
}

발송 결과 조회하기

• 푸시 알림 캠페인 API 트리거 유형의 발송 결과를 조회합니다.

• 푸시 알림 캠페인 API 트리거 유형 발송하기 응답 값의 dispatchId를 path에 넣어서 요청합니다.

기본 정보

메소드
URL
인증 방식

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"
            },
            ...
              ]
    }
}    

응답(실패)

  {
    "httpStatus": {
        "code": "401",
        "reasonPhrase": "Unauthorized"
    },
    "processCode": "1402",
    "processValue": "해당 서비스는 과금이 필요합니다."
}

Last updated