푸시 메시지 발송
HTTP API 를 사용하여 API 기반 푸시 메시지 캠페인을 발송할 수 있습니다.
Authentication
API 키를 통해 인증을 진행합니다. 키를 HTTP 헤더로 전송해야 합니다.
X-HACKLE-API-KEY: {YOUR_API_KEY}
API KEY 환경 유의
API 연동 키는 환경 별로 다르다는 점을 유의해 주세요
Request
POST https://api.hackle.io/v1/push-message/trigger/send
Request Body
Field | Type | Required | Description | Restrict |
---|---|---|---|---|
campaignKey | number | O | 푸시 메시지의 캠페인 키 | |
users | array | O | 푸시 메시지를 수신할 유저 리스트 | 최대 유저 수는 50명을 넘을 수 없습니다. |
User Object
Field | Type | Required | Description |
---|---|---|---|
userId | string | X | 사용자 ID (deviceId 가 없는 경우 필수입니다) |
deviceId | string | X | 디바이스 ID (userId 가 없는 경우 필수입니다) |
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 OK
Field | Data Type | Description |
---|---|---|
dispatchId | string | API 로 트리거 된 푸시 메시지 요청에 대한 고유한 uuid 값 |
message | string | "success" 라는 내용이 담깁니다. |
푸시 메시지 발송 요청 성공 응답은, 실제로 해당 유저가 푸시 메시지를 받았음 보장하지 않습니다.
최종 발송 성공에 대한 통계는 대시 보드에서 확인하실 수 있습니다.
Error
Field | Data Type | Description |
---|---|---|
code | string | 특정 응답 에러 코드가 내려옵니다 |
message | string | 에러에 대한 메시지를 표시합니다 |
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 가 모두 존재하지 않는 경우 |
Example
발송 요청 성공 예시
{
"dispatchId": "bac3da45-f6e3-44ea-989e-e0fa0ffc9f5c",
"message": "success"
}
발송 요청 실패 예시
{
"code": "INVALID_API_KEY",
"message": "Invalid API key"
}
Updated about 2 months ago