푸시 메시지 발송
HTTP API 를 사용하여 API 기반 푸시 메시지 캠페인을 발송할 수 있습니다.
Authentication
SDK 키를 통해 인증을 진행합니다.
- SDK 키를 아래와 같이 HTTP 헤더에 추가해주세요.
- SDK 키는 핵클 대시보드 내 SDK 연동 정보에서 확인하실 수 있습니다.
X-HACKLE-API-KEY: {YOUR_SERVER_SDK_KEY}push-message
Request
발송 대상 유저발송 대상 유저 정보는 푸시 메시지 캠페인에 설정된 코호트 유저 조건에 부합해야 합니다.
즉, 코호트 조건과 부합하지 않는 유저에게 푸시 메시지가 발송되지 않습니다.
POST https://api.hackle.io/v1/push-message/trigger/sendRequest Body
| Field | Type | Required | Description | Restrict |
|---|---|---|---|---|
| campaignKey | number | O | 푸시 메시지의 캠페인 키 | |
| users | array<User object> | O | 푸시 메시지를 수신할 유저 리스트 | 최대 유저 수는 50명을 넘을 수 없습니다. |
User Object
Field | Type | Required | Description |
|---|---|---|---|
userId | string | X | 사용자 ID (핵클 통합식별자 사용 가능) |
deviceId | string | X | 디바이스 ID (핵클 통합 식별자 사용가능) |
apiProperties | object | X | 푸시 메시지 개인화 에 사용되는 key-value 쌍 입니다. key(string)-value(string|number|boolean) Pair |
Example
curl -i -X POST \
'https://api.hackle.io/v1/push-message/trigger/send' \
-H 'X-HACKLE-API-KEY: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"campaignKey": 1,
"users": [
{
"userId": "eb24b2d8-21a3-4e95-b801-626ba0904e01",
"apiProperties": {
"productNumber": "123"
}
}
]
}'Response
API 발송 요청 결과의 응답 값으로 Success Response 또는 Error Response 객체를 반환합니다.
Success (200)
푸시 메시지 발송 요청 성공 응답은, 실제로 해당 유저가 푸시 메시지를 받았음 보장하지 않습니다.
최종 발송 성공에 대한 통계는 대시 보드에서 확인하실 수 있습니다.
| Field | Data Type | Description |
|---|---|---|
| dispatchId | string | API 로 트리거 된 푸시 메시지 요청에 대한 고유한 uuid 값 |
| message | string | "success" 라는 내용이 담깁니다. |
example
{
"dispatchId": "bac3da45-f6e3-44ea-989e-e0fa0ffc9f5c",
"message": "success"
}Error
| Field | Data Type | Description |
|---|---|---|
| code | string | 특정 응답 에러 코드가 내려옵니다 |
| message | string | 에러에 대한 메시지를 표시합니다 |
example
{
"code": "INVALID_API_KEY",
"message": "Invalid API key"
}error case
| Http Status | Code | Message | Description |
|---|---|---|---|
| 401 | INVALID_API_KEY | “Invalid API key“ | 헤더에 유효하지 않은 API KEY 를 넣는 경우 |
| 401 | API_KEY_NOT_FOUND | “API key not found” | 헤더에 API KEY 를 넣지 않은 경우 |
| 400 | EXCEED_USER_MAX_LENGTH | “Max input length exceeded“ | 한번에 보낼 수 있는 최대 대상 유저 수를 넘겨서 요청한 경우 |
| 400 | CAMPAIGN_NOT_FOUND | “Could not find push message campaign with the given key“ | 주어진 캠페인 키와 일치하는 API 기반 캠페인이 존재하지 않는 경우 |
| 400 | EMPTY_IDENTIFIER | “At least one identifier should be given“ | 푸시 발송 대상 유저 정보에 userId 또는 deviceId 가 모두 존재하지 않는 경우 |
Updated 9 days ago
