카카오 메시지(브랜드메시지) 발송하기 (Beta)

🧪

베타 서비스 안내

브랜드메시지 API는 현재 베타 서비스로 제공되고 있습니다. 정식 출시 전까지 일부 기능이 불안정할 수 있습니다. 문의사항은 고객센터로 문의해주세요.

브랜드메시지는 카카오톡 채널을 통해 고객에게 마케팅 메시지를 발송할 수 있는 비즈니스 메시징 서비스입니다.

생성된 브랜드메시지 템플릿을 기반으로 발송되며, 채널 친구뿐만 아니라 마케팅 수신 동의한 비친구에게도 발송할 수 있어 더 넓은 고객층에게 도달 가능합니다.

브랜드메시지 발송 전 필수 준비사항

브랜드메시지를 발송하기 위해서는 다음 사항이 필요합니다:

  1. 카카오 비즈니스 채널 생성 및 연동
  2. 브랜드메시지 템플릿 생성 완료
  3. 발신프로필(채널) ID 확인
  4. 브랜드메시지 템플릿 코드 확인
  5. targeting 값 결정 (I/M/N)

브랜드메시지 기본형 발송하기

가장 기본적인 브랜드메시지 발송 방법입니다. I그룹(채널 친구)을 대상으로 메시지를 발송합니다.

const sendon = new Sendon({
  id: SENDON_EXAM_ACCOUNT,
  apikey: SENDON_EXAM_API_KEY,
  debug: false,
});

const result = await sendon.kakao.sendBrandMessage({
  sendProfileId: SENDON_EXAM_KAKAO_PROFILE_ID,
  templateCode: SENDON_EXAM_BRAND_TEMPLATE_CODE,
  targeting: "I",
  to: [SENDON_EXAM_KAKAO_TO_PHONE],
});

console.log("브랜드메시지 발송 결과:", JSON.stringify(result, null, 2));
Sendon sendon = Sendon.getInstance(SENDON_EXAM_ACCOUNT, SENDON_EXAM_API_KEY);

SendBrandMessage sendBrandMessageResult = sendon.kakao.sendBrandMessage(new BrandMessageBuilder()
                                          .setTemplateCode(SENDON_EXAM_BRAND_TEMPLATE_CODE)
                                          .setTargetGroup("I")
                                          .setTo(Arrays.asList(SENDON_EXAM_KAKAO_TO_PHONE)));

여러 수신자에게 동일한 브랜드메시지 발송하기

한 번의 API 호출로 여러 수신자에게 동일한 내용의 브랜드메시지를 발송할 수 있습니다.

const result = await sendon.kakao.sendBrandMessage({
  sendProfileId: SENDON_EXAM_KAKAO_PROFILE_ID,
  templateCode: SENDON_EXAM_BRAND_TEMPLATE_CODE,
  targeting: "I",
  to: [
    SENDON_EXAM_KAKAO_TO_PHONE,
    SENDON_EXAM_KAKAO_TO_PHONE2,
    SENDON_EXAM_KAKAO_TO_PHONE3,
  ],
});
SendBrandMessage sendBrandMessageResult = sendon.kakao.sendBrandMessage(new BrandMessageBuilder()
                                          .setTemplateCode(SENDON_EXAM_BRAND_TEMPLATE_CODE)
                                          .setTargetGroup("I")
                                          .setTo(Arrays.asList(
                                            SENDON_EXAM_KAKAO_TO_PHONE,
                                            SENDON_EXAM_KAKAO_TO_PHONE2,
                                            SENDON_EXAM_KAKAO_TO_PHONE3
                                          )));

변수가 포함된 브랜드메시지 발송하기

브랜드메시지 템플릿에 변수가 포함된 경우, 각 수신자별로 다른 변수값을 적용하여 개인화된 메시지를 발송할 수 있습니다.

const result = await sendon.kakao.sendBrandMessage({
  sendProfileId: SENDON_EXAM_KAKAO_PROFILE_ID,
  templateCode: SENDON_EXAM_BRAND_TEMPLATE_CODE,
  targeting: "M", // 친구 + 비친구 모두 발송
  to: [
    {
      phone: SENDON_EXAM_KAKAO_TO_PHONE,
      variables: {
        "#{이름}": "홍길동",
        "#{포인트}": "1,234",
        "#{등급}": "VIP",
      },
    },
  ],
});
JsonObject to = new JsonObject();
to.addProperty("phone", "01012345678");

JsonObject variables = new JsonObject();
variables.addProperty("#{이름}", "홍길동");
variables.addProperty("#{포인트}", "1,234");
variables.addProperty("#{등급}", "VIP");
to.add("variables", variables);

SendBrandMessage sendBrandMessageResult = sendon.kakao.sendBrandMessage(new BrandMessageBuilder()
                                          .setTemplateCode(SENDON_EXAM_BRAND_TEMPLATE_CODE)
                                          .setTargetGroup("M")
                                          .setTo(Arrays.asList(to)));

주의: 변수는 반드시 #{변수명} 형식으로 작성해야 하며, 브랜드메시지 템플릿에 정의된 모든 변수에 대한 값을 제공해야 합니다.


타겟 그룹별 발송하기

브랜드메시지는 3가지 타겟 그룹으로 발송할 수 있습니다.

타겟 그룹 종류

타겟 그룹 (targeting)설명발송 조건
I그룹 (I)채널 친구 중 마케팅 수신 동의자제한 없음
M그룹 (M)마케팅 수신 동의한 모든 사용자 (친구+비친구)채널 친구 5만명 이상
N그룹 (N)마케팅 수신 동의한 비친구만채널 친구 5만명 이상

N그룹(비친구) 발송 예시

채널 친구가 5만명 이상인 경우, 비친구에게도 브랜드메시지를 발송할 수 있습니다.

const result = await sendon.kakao.sendBrandMessage({
  sendProfileId: SENDON_EXAM_KAKAO_PROFILE_ID,
  templateCode: SENDON_EXAM_BRAND_TEMPLATE_CODE,
  targeting: "N", // 비친구만 발송
  to: [SENDON_EXAM_KAKAO_TO_PHONE],
});

파라미터 상세 설명

필수 파라미터

파라미터타입설명
sendProfileIdstring발신프로필(채널) ID
templateCodestring브랜드메시지 템플릿 코드
tostring[] 또는 object[]수신자 정보 (전화번호 또는 전화번호와 변수값)

선택 파라미터

파라미터타입설명
targetingstring타겟 그룹 지정 (I, M, N)
reservationobject예약 발송 설정 ({ dateTime: ISO8601 })
fallbackobject대체 발송 설정 (fallbackType, custom 등)
useCreditboolean크레딧 우선 차감 여부

응답 형식

성공적으로 요청이 처리되면 다음과 같은 응답을 받습니다:

{
  "code": 200,
  "message": "성공",
  "data": {
    "groupId": "84db8cbb-db70-4e68-8ee7-c37704787e0d"
  }
}

groupId는 발송 요청 단위를 식별하는 값으로, 카카오 메시지 발송결과 조회하기에서 발송 현황을 확인할 때 사용합니다.

주의사항

  1. 브랜드메시지는 마케팅 메시지에만 사용해야 합니다
  2. 채널 친구 5만명 미만인 경우 I그룹만 발송 가능합니다
  3. M그룹과 N그룹은 채널 친구 5만명 이상인 경우에만 사용 가능합니다
  4. 비친구 발송 시 더 높은 단가가 적용됩니다 (15원 vs 8.8원)
  5. 전화번호는 하이픈(-) 없이 제공해야 합니다 (예: 01012345678)

관련 링크

  • [카카오 브랜드메시지 템플릿 관리하기](../카카오 채널:템플릿 관리하기/카카오-브랜드메시지-템플릿.md)
  • 카카오톡 레시피