카카오 메시지 발송

HTTP API 를 사용하여 API 기반 카카오 메시지 캠페인을 발송할 수 있습니다.

Authentication

API 키를 통해 인증을 진행합니다. 키를 HTTP 헤더로 전송해야 합니다.

X-HACKLE-API-KEY: {YOUR_API_KEY}

🚧

API KEY 환경 유의

운영 환경과 개발 환경의 API 키가 서로 다르다는 것을 유의해 주세요.

Request

POST https://api.hackle.io/v1/kakao-message/trigger/send

Request Body

FieldTypeRequiredDescriptionRestrict
campaignKeynumberO카카오 메시지의 캠페인 키
usersarrayO메시지를 수신할 사용자 목록목록의 최대 길이는 50입니다.

User Object

FieldTypeRequiredDescription
userIdstringO사용자 ID
apiPropertiesobjectX카카오 메시지 개인화에 사용되는 key-value 쌍 입니다.
key(string)-value(string|number) Pair

🚧

발송 대상 사용자

  • 발송 대상 사용자의 정보는 카카오 메시지 캠페인에 설정된 '발송 대상' 조건에 부합해야 합니다.
    해당 조건과 부합하지 않는 사용자에게는 카카오 메시지가 발송되지 않습니다.
  • 카카오 메시지 발송을 위해서는 userId 별로 전화번호 수집이 필요합니다. 관련 내용은 가이드 문서를 참고해주세요.

Example

curl -i -X POST \
  'https://api.hackle.io/v1/kakao-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 kakao message campaign with the given key“주어진 캠페인 키와 일치하는 API 기반 캠페인이 존재하지 않는 경우
400EMPTY_IDENTIFIER“At least one identifier should be given“카카오 발송 대상 유저 정보에 userId 가 존재하지 않는 경우

Example

발송 요청 성공 예시

{
    "dispatchId": "bac3da45-f6e3-44ea-989e-e0fa0ffc9f5c",
    "message": "success"
}

발송 요청 실패 예시

{
    "code": "INVALID_API_KEY",
    "message": "Invalid API key"
}