푸시 메시지 발송

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

FieldTypeRequiredDescriptionRestrict
campaignKeynumberO푸시 메시지의 캠페인 키
usersarrayO푸시 메시지를 수신할 유저 리스트최대 유저 수는 50명을 넘을 수 없습니다.

User Object

FieldTypeRequiredDescription
userIdstringX사용자 ID (deviceId 가 없는 경우 필수입니다)
deviceIdstringX디바이스 ID (userId 가 없는 경우 필수입니다)
apiPropertiesobjectX푸시 메시지 개인화에 사용되는 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

FieldData TypeDescription
dispatchIdstringAPI 로 트리거 된 푸시 메시지 요청에 대한 고유한 uuid 값
messagestring"success" 라는 내용이 담깁니다.

푸시 메시지 발송 요청 성공 응답은, 실제로 해당 유저가 푸시 메시지를 받았음 보장하지 않습니다.

최종 발송 성공에 대한 통계는 대시 보드에서 확인하실 수 있습니다.

Error

FieldData TypeDescription
codestring특정 응답 에러 코드가 내려옵니다
messagestring에러에 대한 메시지를 표시합니다

Http StatusCodeMessageDescription
401INVALID_API_KEY“Invalid API key“헤더에 유효하지 않은 API KEY 를 넣는 경우
401API_KEY_NOT_FOUND“API key not found”헤더에 API KEY 를 넣지 않은 경우
400EXCEED_USER_MAX_LENGTH“Max input length exceeded“한번에 보낼 수 있는 최대 대상 유저 수를 넘겨서 요청한 경우
400CAMPAIGN_NOT_FOUND“Could not find push message campaign with the given key“주어진 캠페인 키와 일치하는 API 기반 캠페인이 존재하지 않는 경우
400EMPTY_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"
}