비즈뿌리오 BIZCLIENT
공통 사항
BIZCLIENT 아키텍처 — 큐 테이블 기반 동작 모델과 테이블 구조
동작 모델
- 고객사 애플리케이션이 발송 데이터를
biz_msg테이블에 INSERT (STATUS = 0, 발송 대기) - BIZCLIENT 모듈이 큐를 폴링하여 비즈뿌리오 서버로 메시지 전송
- 비즈뿌리오 서버가 발송 결과를 BIZCLIENT 모듈로 회신
- BIZCLIENT 모듈이
biz_msg의CALL_STATUS를 기록하고STATUS = 2로 변경 (비즈뿌리오 서버가biz_msg를 직접 갱신하지 않음) - 처리 완료된 레코드는 월별 로그 테이블
BIZ_LOG_YYYYMM으로 이동
자동 생성되는 테이블
테이블 생성 권한이 있다면 BIZCLIENT 가 다음 테이블들을 자동 생성:
| 테이블 | 용도 |
|---|---|
biz_msg |
메시지 발송 큐 (STATUS=2 까지 데이터 존재) |
BIZ_LOG_YYYYMM |
월별 로그 — 발송 완료 데이터 이동 |
BIZ_RCS |
RCS 발송 큐 (RCS 사용 시) |
BIZ_RCS_LOG_YYYYMM |
RCS 월별 로그 |
BIZ_ATTACHMENTS |
첨부파일 데이터 (FILE_HANDLING_MODE 설정 시) |
BIZ_ATTACHMENTS_LOG_YYYYMM |
첨부파일 월별 로그 |
ℹ️ RCS 사용 활성화 — 기본값에서는 RCS 테이블이 생성되지 않습니다.
uds.conf에MESSAGE_SUPPORT_TYPE = ALL을 추가해야 RCS 테이블이 생성됩니다.
백업 옵션
| 옵션 | 기본값 | 설명 |
|---|---|---|
RCS_BACKUP_OPTION |
N |
Y 시 RCS 데이터를 로그 테이블로 이동, 미설정 시 BIZ_RCS 데이터 재사용 |
ATTACHMENTS_BACKUP_OPTION |
N |
첨부파일 테이블 동작도 동일 |
테이블 간 관계
biz_msg.RCS_REFKEY ──참조──▶ BIZ_RCS.REFKEY (RCS 메시지의 본문/버튼)
biz_msg.CMID + ATTACHED_FILE ──참조──▶ BIZ_ATTACHMENTS.MSG_KEY + SEQ
(첨부파일 테이블 모드 사용 시)
데이터 식별 키
CMID— 고객사가 부여하는 고유 키 (Primary Key, ASCII 문자만, 중복 불가)UMID— 비즈뿌리오 서버가 부여하는 메시지 키 (대체 발송의 매핑 키로도 사용)CINFO— Client Indexed Info, 사내 부서/팀 구분용. bizppurio.com [발송 조회] 의 SUB ID 에 표시
⚠️
CMID중복 시 발송은 진행되지만 결과 리포트 반영이 정상적이지 않을 수 있습니다. 반드시 고유한 값을 사용하세요.
사전 준비
BIZCLIENT 모듈 도입 전 준비 사항 — 사전 점검 / 설치 / 연동 / 용어.
사전 점검
BIZCLIENT 발송 선결 조건 — 발송 전에 필요한 계정·채널·브랜드 등록
1. 비즈뿌리오 계정
| 항목 | 절차 |
|---|---|
| 회원 가입 | www.bizppurio.com |
| 서비스 사용 승인 요청 | 전화 1599-9782 / 이메일 bizppurio@daou.co.kr |
2. 카카오톡 비즈메시지 (AT/BT 사용 시)
| 단계 | 위치 |
|---|---|
| 카카오톡 채널 개설 및 비즈니스 채널 신청 | 카카오 비즈니스 |
| 발신프로필 키 생성 | 비즈뿌리오 사이트 |
| 알림톡 템플릿 등록·승인 | 비즈뿌리오 사이트 (알림톡 사용 시 필수) |
| 브랜드메시지 이미지 등록 | KAPI (브랜드메시지에 이미지 삽입 시) |
3. RCS (RCS 사용 시)
| 단계 | 위치 |
|---|---|
| RCS 브랜드 개설 및 대행사 설정 | RCS 비즈센터 |
| RCS 브랜드 등록 | 비즈뿌리오 사이트 |
| RCS 발신번호 등록 | 비즈뿌리오 사이트 |
| RCS 템플릿 등록·승인 | 비즈뿌리오 사이트 (템플릿 사용 시 필수) |
설치
BIZCLIENT 설치 및 구동
시스템 요구사항
| 항목 | 사양 |
|---|---|
| 운영체제 | JDK 1.8 이상 운용 가능한 OS |
| CPU | 2 GHz 이상 듀얼코어 또는 그 이상의 코어 |
| 메모리 | 4 GB 이상 RAM 권장 |
| 디스크 공간 | SMS 100만 건 전송 시 약 400 MB 사용 |
| JDK | 1.8 이상 |
| DBMS | MySQL / Oracle / MSSQL (정식 지원). Sybase / DB2 / DB2 AS400 / CUBRID / EDB / PostgreSQL (버전 따라 지원) |
방화벽 오픈
| 환경 | 도메인:포트 | 방향 |
|---|---|---|
| 운영 | bizppurio.com:38300, 38400 |
Outbound |
| 검수 | biztest.ppurio.com:38300, 38400 |
Outbound (2025-08-14 기준 미지원) |
⚠️ 기존 BIZCLIENT 구동 여부 확인 — 한 비즈뿌리오 계정을 여러 클라이언트 모듈에 세팅할 경우 리포트가 분산되어 정상 반영되지 않을 수 있습니다. 하나의 모듈에 하나의 계정 을 권장.
DBMS / JDBC 드라이버
- DBMS 의 버전에 따라 JDBC 드라이버의 JDK 요구사항이 달라질 수 있음
- 사용하는 DBMS 에 맞게 JDBC 드라이버 교체 위치:
{모듈위치}/lib/jdbc/{드라이버}.jar - 낮은 버전의 DBMS 를 지원하기 위해 기본 JDBC 드라이버는 버전이 낮게 세팅됨 — 운영 시 사용하는 DBMS 버전에 맞는 드라이버로 교체 필요
| DBMS | 비고 |
|---|---|
| Microsoft SQL Server 2008 이상 | uds.conf 에 DBNAME=MSSQL2005 로 설정 (내부적으로 Microsoft JDBC Driver 4.1 사용, JDK 1.7 이상 필요) |
설치 및 구동 (Linux/Unix)
# 1) 업로드한 모듈 압축 해제
unzip biz_client_v5xxx.zip
# 2) 환경 설정 파일 수정: {모듈경로}/config/uds.conf
# - 계정 : UDS_ID / UDS_PW (bizppurio.com 계정)
# - DB 연결 : DBNAME / DBURL / DBUSER / DBPASS
# 예) DBNAME=MYSQL (MYSQL / MSSQL2005 / ORACLE 등)
# DBURL=jdbc:mysql://localhost:3306/bizclient
# 3) 시작 / 중지: {모듈경로}/script
cd {모듈경로}/script
./biz_start # 시작
./biz_stop # 중지
설치 및 구동 (Windows)
# 1) 업로드한 모듈 압축 해제
unzip biz_client_v5xxx.zip
# 2) 환경 설정 파일 수정: {모듈경로}\config\uds.conf (Linux 와 동일 — 계정·DB 연결 정보)
# 3) 서비스 등록 / 시작 / 중지: {모듈경로}\bat
cd {모듈경로}\bat
service-install.bat # Windows 서비스 등록
service-start.bat # 시작 (서비스 상태가 '시작' 으로 변경)
service-stop.bat # 중지
service-uninstall.bat # 서비스 제거
서비스 등록 후 제어판 → 관리도구 → 서비스 → "Daoutech BizClient" 에서도 직접 시작/종료할 수 있습니다.
RCS 발송 활성화 (선택)
기본값은 RCS 미지원. RCS 를 사용하려면 uds.conf 에 다음을 추가:
MESSAGE_SUPPORT_TYPE = ALL
설정 후 BIZCLIENT 를 재시작하면 BIZ_RCS 테이블이 자동 생성됨.
연동
BIZCLIENT 고객시스템 연동 구성 — biz_msg / BIZ_RCS / BIZ_ATTACHMENTS 테이블의 전체 컬럼 정의
BIZCLIENT 는 고객사 데이터베이스에 큐 테이블을 생성하고, 고객사 애플리케이션이 발송 데이터를 INSERT 하면 모듈이 이를 감지하여 비즈뿌리오 서버로 전송하는 방식으로 동작합니다.
biz_msg 컬럼
공통 컬럼 (모든 메시지 타입)
| 컬럼 | 타입 | 필수 | 설명 | 기본값 |
|---|---|---|---|---|
CMID |
String(32) | Y | 데이터 ID, 고유한 값. Primary Key. 기본 ASCII 문자만 (옵션으로 확장 가능) | — |
UMID |
String(32) | N | 비즈뿌리오 서버에서 정의한 MESSAGE ID | — |
MSG_TYPE |
Number(1) | Y | SMS=0 / FAX=2 / PHONE=3 / MMS=5 / AT=6 / RCS=8 / BT=9 (LMS는 5 + ATTACHED_FILE 비어있을 때) |
0 |
STATUS |
Number(1) | Y | 발송 상태 — 발송 용어 — STATUS 참고 | 0 |
REQUEST_TIME |
Datetime | Y | 데이터 등록 시간 | NOW() |
SEND_TIME |
Datetime | Y | 발송 기준 시간 (예약 발송 시 미래) | NOW() |
REPORT_TIME |
Datetime | N | 단말기 수신 시간 | — |
DEST_PHONE |
String(16) | Y | 수신번호 | — |
DEST_NAME |
String(32) | N | 수신자명 | — |
SEND_PHONE |
String(16) | Y | 발신자번호 (사전 등록 필수) | — |
SEND_NAME |
String(32) | N | 발신자명 | — |
MSG_BODY |
String(4000) | Y | 메시지 내용 | — |
CALL_STATUS |
String(4) | N | 발송 결과 리포트 (발송 결과 코드 참조) | — |
TEL_INFO |
String(10) | N | 통신사 정보 (SKT/KTF/LGT/KKO) | — |
CINFO |
String(32) | N | Client Indexed Info — 사내 구분용. 특수기호 \/:*?"<>|. 사용 불가 |
— |
채널별 전용 컬럼
FAX/MMS 전용
SUBJECTString(64) — 제목
AT/BT (브랜드메시지) 전용
NATION_CODEString(5) Y — 국가코드 (한국 = 82)SENDER_KEYString(40) Y — 발신프로필 키TEMPLATE_CODEString(64) Y — 템플릿 코드
AT 전용
RESPONSE_METHODString(8) — 발송 방식 (PUSH)
AT 전용 (대체 발송)
TIMEOUTString(4) — 대체 발송용 타임아웃 시간RE_TYPEString(3) — 대체 발송 메시지 타입 (발송 용어 — 대체발송타입 참조)
AT/BT/RCS 공용 (대체 발송)
RE_BODYString(4000) — 대체 발송 메시지 내용RE_PARTString(1) — 대체 발송 처리 주체 (C: CLIENT,S: Server)
FAX 전용
COVER_FLAGNumber(1) — 표지 발송 옵션 (0/1, 기본 0)USE_PAGENumber(2) — 발송 페이지 수 (기본 0)
PHONE 전용
SMS_FLAGNumber(1) — 실패 시 문자 전송 옵션 (기본 0)REPLY_FLAGNumber(1) — 시나리오 답변 기능 (Y:1,N:0, 기본 0)VXML_FILEString(64) — 음성 시나리오 파일 이름USE_TIMENumber(4) — 발송 소요 시간 (초, 기본 0)SN_RESULTNumber(1) — 설문 조사 응답 값 (0~9, 기본 0)
FAX/PHONE 공용
RETRY_CNTNumber(4) — 재시도 횟수
MMS/FAX/PHONE/AT 공용
ATTACHED_FILEString(1000) — [기본 MODE] 첨부파일명 (여러 개는\|구분) / [첨부파일 테이블 MODE] 첨부파일 테이블 KEY
legacy (적용 채널 없음 — 과거 친구톡 전용, v5.2.4 친구톡 제거)
USER_KEYString(30) — 옐로아이디 봇 사용자 식별키AD_FLAGString(1) — 광고성 메시지 표기 노출 여부 (Y/N, 기본Y)
RCS 전용
RCS_REFKEYString(32) —BIZ_RCS테이블의REFKEY참조
BIZ_RCS 컬럼
RCS 메시지의 본문·버튼을 별도 테이블에 등록. biz_msg.RCS_REFKEY 가 이 테이블의 REFKEY 를 참조.
| 컬럼 | 타입 | 필수 | 설명 | 기본값 |
|---|---|---|---|---|
REFKEY |
String(32) | Y | 테이블 참조키 (Primary Key) | — |
CHATBOT_ID |
String(40) | Y | RCS 비즈센터 챗봇 ID | — |
HEADER |
String(1) | Y | 메시지 상단 식별 문구 (0: Web 발신, 1: 광고). 통합 RCS 는 0 만 허용 |
— |
FOOTER |
String(64) | N | 메시지 하단 수신거부 문구 (안드로이드 RCS 전용) | — |
MESSAGEBASE_ID |
String(40) | Y | RCS 공통 포맷 또는 템플릿 ID (전체 목록은 RCS 발송 페이지 참조) | — |
COPY_ALLOWED |
String(1) | N | 복사·공유 메뉴 (Y/N) — 안드로이드 RCS 전용 |
N |
RCS_BODY |
String(4000) | Y | 메시지 베이스에서 치환할 파라미터 정보 (JSON) | — |
BUTTONS |
String(4000) | N | 메시지에 삽입할 버튼 정보 (JSON) | — |
AGENCY_KEY |
String(64) | N | 대행사 Key (2차 대행사인 경우 필수) | — |
BRAND_KEY |
String(64) | Y | 브랜드별 제공되는 특수 키 | — |
BIZ_ATTACHMENTS 컬럼
FILE_HANDLING_MODE 설정에 따라 생성되는 첨부파일 테이블.
| 컬럼 | 타입 | 필수 | 설명 | 기본값 |
|---|---|---|---|---|
MSG_KEY |
String(32) | Y | biz_msg 와 매칭되는 KEY (복합키) |
— |
SEQ |
Number | Y | 데이터 시퀀스 (복합키) | — |
TYPE |
String(10) | Y | 데이터 타입 (FILE / HTTP / JSON) |
FILE |
CONTENTS |
String(2000) | Y | 데이터 값 (파일명 / URL / JSONString) | — |
ℹ️ 첨부파일 테이블 사용은 변수가 포함된 웹·앱 링크 처리 등 JSON 파일을 미리 만들기 어려운 경우 유용.
인덱스 권고
- 메시지 테이블의
CMID컬럼은 Primary Key 로 자동 설정 - 로그 테이블은 중복 키 허용 (PK 미설정)
- 추가 인덱스는 운영 환경에 맞게 자유롭게 추가 가능
용어
BIZCLIENT 발송 용어 — MSG_TYPE / STATUS / CALL_STATUS / RE_TYPE 정의
메시지 인코딩
메시지 문자열은 KSC 5601 (ISO 10646-1 / Unicode 1.1) 한글 코드에 정의된 문자열입니다.
- AT, 브랜드메시지(BT), RCS, 국제문자 메시지는 이모지 포함 가능
- 이동통신 3사 인코딩 범위를 벗어나는 문자는
?로 표시되어 전송될 수 있음
메시지 타입별 이모지 발송 가능 여부:
| 메시지 타입 | 이모지 발송 |
|---|---|
| SMS | ✗ |
| LMS / MMS | ✗ |
| 알림톡 (AT) · 브랜드메시지 (BT) | ✓ |
| RCS | ✓ |
| FAX / PHONE | ✗ |
ℹ️ FAX 발송 문서 파일에 입력된 이모지는 정상 발송됩니다.
이모지 데이터 발송 시 DBMS 캐릭터 셋 권장 (로그 테이블은 주기적으로 생성되므로 확인 필요):
| DBMS | Version | Character Set |
|---|---|---|
| MySQL / MariaDB | 5.5.3 이상 | UTF8MB4_GENERAL_CI |
| Oracle | 9i 이상 | AL32UTF8 |
| MSSQL | SQL Server 2017 이상 | Latin1_General_100_CI_AI_SC_UTF8 |
메시지타입 (MSG_TYPE)
| 코드 | 메시지 타입 | 비고 |
|---|---|---|
0 |
SMS | 단문 |
2 |
FAX | |
3 |
PHONE | |
5 |
LMS / MMS | LMS 는 ATTACHED_FILE 비어있을 때, MMS 는 첨부 있을 때 |
6 |
AT | 카카오 알림톡 |
7 |
FT | 카카오 친구톡 (서비스 종료 — 과거 발송 이력 조회 시에만 노출, v5.2.4 친구톡 제거) |
8 |
RCS | |
9 |
BT | 카카오 브랜드메시지 |
발송상태변화 (STATUS)
biz_msg.STATUS 의 정상 발송 흐름은 다음과 같습니다.
| 값 | 상태 | 설명 |
|---|---|---|
0 |
발송 대기 | 신규 INSERT 시 기본값 |
7 |
발송 중 | BIZCLIENT 가 비즈뿌리오 서버로 전송 중 |
1 |
발송 후 대기 | 서버 송신 완료, 결과 수신 대기 |
2 |
발송 결과 업데이트 | 결과 수신 완료 → 로그 테이블 이동 대상 |
3 |
리포트 재요청 후 대기 | 결과 재요청 후 대기 |
11 |
클라이언트 대체 발송 처리 중 | 대체 발송 진행 중 |
13 |
대체 발송 미설정 상태에서 대체 발송 처리됨 | 로그테이블 미이동 |
ℹ️
STATUS=13이 발생하는 경우 대체 발송 사용 여부 설정을 변경해야 합니다.
대체발송타입 (RE_TYPE)
메시지 타입(AT/BT/RCS)에 따라 최대 2차 대체 발송까지 가능. RE_TYPE 필드에 다음 값을 입력:
AT / BT 발송 시
| 1차 대체 | 2차 대체 | RE_TYPE |
|---|---|---|
| SMS | — | SMS |
| MMS | — | MMS |
| RCS | — | R |
| RCS | SMS | RS |
| RCS | MMS | RM |
RCS 발송 시
| 1차 대체 | 2차 대체 | RE_TYPE |
|---|---|---|
| SMS | — | SMS |
| MMS | — | MMS |
| AT | — | K |
| AT | SMS | KS |
| AT | MMS | KM |
| BT | — | U |
| BT | SMS | US |
| BT | MMS | UM |
Quickstart BIZCLIENT
BIZCLIENT를 설치하고 첫 SMS를 보내는 가장 짧은 경로입니다.
사전 조건
- 비즈뿌리오 운영 또는 검수 계정 (계정ID·암호)
- 등록된 발신번호 1개
- 본인 휴대폰 번호 (수신 테스트용)
- JDK 1.8 이상이 설치된 서버 (Linux/Unix 또는 Windows)
- MySQL / Oracle / MSSQL DB 접속 정보 (테이블 생성 권한 포함)
- 비즈뿌리오 서버로의 outbound:
bizppurio.com:38300, 38400
준비가 안 됐다면 사전 준비와 설치 및 구동 페이지를 먼저 확인하세요.
1. BIZCLIENT 설치
Linux/Unix
# 모듈 압축 해제
unzip biz_client_v5xxx.zip
cd biz_client_v5xxx
# 환경 설정
vi config/uds.conf
uds.conf:
UDS_ID = bizUserId001 # bizppurio.com 계정
UDS_PW = mypassword
DBNAME = MYSQL # MYSQL / MSSQL2005 / ORACLE 등
DBURL = jdbc:mysql://localhost:3306/bizclient
DBUSER = bizclient
DBPASS = mydbpassword
# 시작
cd script
./biz_start
Windows
unzip biz_client_v5xxx.zip
notepad config\uds.conf # 같은 항목 설정
cd bat
service-install.bat
service-start.bat
NOTE: 모듈을 처음 시작하면
BIZ_MSG,BIZ_LOG_YYYYMM테이블이 자동 생성됩니다. 테이블 생성 권한이 있어야 합니다.
2. SMS 1건 발송
BIZ_MSG 테이블에 INSERT 1번이면 끝입니다.
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, MSG_BODY
) VALUES (
0, -- SMS = 0
'QS-001', -- 고유 키 (ASCII)
NOW(), NOW(), -- 등록·발송 시간
'01012345678', -- 수신번호 (본인 번호)
'07000000000', -- 등록된 발신번호
'비즈뿌리오 BIZCLIENT Quickstart 테스트입니다.'
);
INSERT 직후 BIZ_MSG.STATUS = 0 (발송 대기). BIZCLIENT 모듈이 큐를 폴링하여 수 초 내에 비즈뿌리오 서버로 전송합니다.
WARNING:
CMID는 고유해야 합니다. 중복되면 발송은 되지만 결과 리포트 매핑이 누락될 수 있습니다.
3. 발송 결과 확인
STATUS 진행
SELECT CMID, STATUS, CALL_STATUS, REQUEST_TIME, REPORT_TIME
FROM biz_msg
WHERE CMID = 'QS-001';
STATUS |
의미 |
|---|---|
0 |
발송 대기 — 모듈이 픽업 전 |
7 |
발송 중 — 비즈뿌리오 서버로 전송 중 |
1 |
발송 후 대기 — 결과 수신 대기 |
2 |
발송 완료 — 결과 업데이트, 곧 로그 테이블로 이동 |
자세한 상태 흐름은 발송 용어 — STATUS 참고.
CALL_STATUS
발송 완료(STATUS = 2)되면 CALL_STATUS 컬럼에 결과 코드가 기록됩니다.
CALL_STATUS |
의미 |
|---|---|
4100 |
단말기 전달 성공 |
4400~ |
음영 지역, 단말기 전원 꺼짐 등 |
4430 / 4431 |
스팸 차단 |
전체 코드는 발송 결과 코드 참고.
로그 테이블 이동
STATUS = 2인 데이터는 다음 폴링 주기에 월별 로그 테이블로 이동합니다.
SELECT CMID, CALL_STATUS, REPORT_TIME
FROM biz_log_202604 -- BIZ_LOG_YYYYMM
WHERE CMID = 'QS-001';
트러블슈팅
| 증상 | 원인·해결 |
|---|---|
STATUS=0에서 멈춤 |
모듈이 구동 중인지 확인 (./biz_start / Windows 서비스) |
STATUS=0에서 멈춤 (모듈은 구동) |
DB 접속 정보(uds.conf DBURL/DBUSER/DBPASS) 확인 |
STATUS=2인데 CALL_STATUS 비어있음 |
통상 1~5분 내 갱신. 5분 이상이면 비즈뿌리오 [발송 조회]에서 직접 확인 |
STATUS=13 |
대체 발송 미설정 상태에서 대체 발송 → 비즈뿌리오에 대체 발송 사용 가능 설정 요청 |
CALL_STATUS=9020 |
발송 시간 24시간 초과 — SEND_TIME 확인 |
CALL_STATUS=9026 |
블랙리스트 차단 |
자세한 진단은 BIZCLIENT 발송상태변화·발송 결과 코드 참고.
메시지 전송
BIZCLIENT 메시지 전송 — biz_msg 큐 테이블 INSERT 방식 발송.
세부 채널별 컬럼·예시·제약은 아래 POST /bizclient/biz_msg 페이지로 들어가서 확인하세요.
우측 Request samples 탭에서 채널별 SQL 을 확인할 수 있습니다.
SMS
SMS 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 0
SMS 단문 문자 메시지를 biz_msg 테이블 INSERT 로 발송. EUC-KR 90바이트 이하.
biz_msg 컬럼 (SMS)
| 컬럼 | 타입 | 필수 | 설명 | 기본값 |
|---|---|---|---|---|
MSG_TYPE |
number(1) | Y | SMS = 0 | 0 |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) | — |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 | NOW() |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래) | NOW() |
DEST_PHONE |
string(16) | Y | 수신번호 | — |
SEND_PHONE |
string(16) | Y | 발신번호 (사전 등록 필수) | — |
MSG_BODY |
string(4000) | Y | 메시지 내용 (90바이트 이하) | — |
DEST_NAME |
string(32) | N | 수신자명 | — |
SEND_NAME |
string(32) | N | 발신자명 | — |
CINFO |
string(32) | N | Client Indexed Info (특수기호 \/:*?"<>|. 사용 불가) |
— |
제한사항
- 본문 90바이트 초과 시 LMS 자동 전환 없음 — 호출 측에서 명시
- 첨부 파일 미지원 (MMS 섹션 참고)
- 광고성 메시지는
(광고)/수신거부 표기 필수
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, MSG_BODY
) VALUES (
0, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'본 메시지는 SMS 테스트 메시지 입니다.'
);
LMS
LMS 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 5
장문 문자 메시지 (제목 + 본문). EUC-KR 본문 최대 2000바이트, 제목 최대 64바이트.
LMS와 MMS는 동일 MSG_TYPE 을 공유하며 ATTACHED_FILE 컬럼이 비어 있으면 LMS로 발송.
biz_msg 컬럼 (LMS)
| 컬럼 | 타입 | 필수 | 설명 |
|---|---|---|---|
MSG_TYPE |
number(1) | Y | LMS = 5 (MMS와 공유) |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 (NOW()) |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래, NOW()) |
DEST_PHONE |
string(16) | Y | 수신번호 |
SEND_PHONE |
string(16) | Y | 발신번호 (사전 등록 필수) |
SUBJECT |
string(64) | N | 제목 (최대 64바이트) |
MSG_BODY |
string(4000) | Y | 본문 (최대 2000바이트) |
DEST_NAME |
string(32) | N | 수신자명 |
SEND_NAME |
string(32) | N | 발신자명 |
CINFO |
string(32) | N | Client Indexed Info (특수기호 \/:*?"<>|. 사용 불가) |
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
SUBJECT, MSG_BODY
) VALUES (
5, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'LMS 제목', '본 메시지는 LMS 테스트 메시지 입니다.'
);
MMS
MMS 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 5 (+ ATTACHED_FILE)
이미지 첨부 멀티미디어 메시지. LMS 컬럼 + ATTACHED_FILE. 본문은 선택 (이미지만 발송 가능).
ℹ️ 여러 첨부 파일은
|문자로 구분해ATTACHED_FILE한 컬럼에 입력. 첨부파일 테이블 모드 사용 시 이 컬럼에는 첨부파일 테이블 KEY를 입력. 이미지 파일 업로드·경로/테이블 모드는 첨부파일 관리 (FILE_HANDLING_MODE) 참고.
biz_msg 컬럼 (MMS)
| 컬럼 | 타입 | 필수 | 설명 |
|---|---|---|---|
MSG_TYPE |
number(1) | Y | MMS = 5 (LMS와 공유) |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 (NOW()) |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래, NOW()) |
DEST_PHONE |
string(16) | Y | 수신번호 |
SEND_PHONE |
string(16) | Y | 발신번호 (사전 등록 필수) |
SUBJECT |
string(64) | N | 제목 (최대 64바이트) |
MSG_BODY |
string(4000) | N | 본문 (이미지만 발송 시 생략 가능) |
ATTACHED_FILE |
string(1000) | N | 첨부파일 경로 (여러 개는 | 로 구분) 또는 첨부파일 테이블 KEY |
DEST_NAME |
string(32) | N | 수신자명 |
SEND_NAME |
string(32) | N | 발신자명 |
CINFO |
string(32) | N | Client Indexed Info (특수기호 \/:*?"<>|. 사용 불가) |
첨부 제약 (BIZCLIENT)
- 파일당 60 KB 이하
- 첨부 최대 3개
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
SUBJECT, MSG_BODY, ATTACHED_FILE
) VALUES (
5, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'MMS 제목', '본 메시지는 MMS 테스트 메시지 입니다.',
'image1.jpg|image2.jpg'
);
RCS
RCS 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 8
통신사 RCS 메시지 (안드로이드 RCS / 통합 RCS). 발송 전 본문/버튼을 별도 테이블에 등록한 뒤 발송 요청.
사전 준비
- RCS 비즈센터(RBC) 에서 챗봇 ID, 브랜드 키 발급
- 사용할
MESSAGEBASE_ID결정 — 목록·카드 유형별 선택 방법은 RCS 연동 규격 참고 - 2023.08.01 이후 잘못된
agencykey/brandkey는 실패 처리
발송은 BIZ_RCS(본문·버튼) 등록 후 biz_msg(RCS_REFKEY 로 연결)에 INSERT 하는 2단계 구조입니다.
ℹ️
BIZ_RCS.BUTTONS의 외부 키는 대문자BUTTONS이지만, JSON 내부 키는 소문자suggestions/action사용 (대소문자 구분).
BIZ_RCS 컬럼
| 컬럼 | 타입 | 필수 | 설명 |
|---|---|---|---|
REFKEY |
string(32) | Y | RCS 본문 식별 키 (Primary Key) |
CHATBOT_ID |
string(40) | Y | RCS 비즈센터 챗봇 ID |
HEADER |
string(1) | Y | 메시지 상단 식별 (0=Web / 1=광고) |
FOOTER |
string(64) | N | 메시지 하단 수신거부 문구 |
MESSAGEBASE_ID |
string(40) | Y | RCS 공통 포맷 또는 템플릿 ID |
COPY_ALLOWED |
string(1) | N | 복사/공유 메뉴 (Y/N, 기본 N) |
RCS_BODY |
string(4000) | Y | 메시지 베이스 치환 파라미터 (JSON) |
BUTTONS |
string(4000) | N | 버튼 정보 (JSON) |
AGENCY_KEY |
string(64) | N | 대행사 Key (2차 대행사 필수) |
BRAND_KEY |
string(64) | Y | 브랜드별 제공되는 특수 키 |
RCS 상세 규격
MESSAGEBASE_ID 목록·카드 유형별 글자수·통합 RCS·RCS_BODY·media·BUTTONS 규격은 RCS 연동 규격 을 참고하세요.
biz_msg 컬럼 (RCS, BIZ_RCS 등록 후 사용)
| 컬럼 | 타입 | 필수 | 설명 |
|---|---|---|---|
MSG_TYPE |
number(1) | Y | RCS = 8 |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 (NOW()) |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래, NOW()) |
RCS_REFKEY |
string(32) | Y | BIZ_RCS.REFKEY 참조 |
DEST_PHONE |
string(16) | Y | 수신번호 |
SEND_PHONE |
string(16) | Y | 발신번호 |
RE_TYPE |
string(3) | N | 대체발송 타입 |
RE_BODY |
string(4000) | N | 대체발송 본문 |
RE_PART |
string(1) | N | 대체발송 처리 주체 (C/S) |
CINFO |
string(32) | N | Client Indexed Info — 사내 구분용. 특수기호 \/:*?"<>|. 사용 불가 |
대체 발송
RCS 미수신 단말은 SMS/MMS/AT/BT 자동 전환 (1차/2차 대체 가능).
INSERT INTO BIZ_RCS (
REFKEY, CHATBOT_ID, HEADER, FOOTER, MESSAGEBASE_ID,
AGENCY_KEY, BRAND_KEY, RCS_BODY, BUTTONS
) VALUES (
'RCS_TEMPLATE_005', '15999782', 0, '01012345678', 'CMwMhM0300',
'', 'BK.9T0MMk615qoEOl1',
'{"description1":"첫번째 이미지 설명","media1":"maapfile://...","description2":"..."}',
'{"buttons":[{"suggestions":[{"action":{"urlAction":{"openUrl":{"url":"https://..."}}}, "displayText":"이동"}]}]}'
);
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, RCS_REFKEY
) VALUES (
8, 'SEND_BIZ_MSG_001', NOW(), NOW(),
'01012345678', '15999782', 'RCS_TEMPLATE_005'
);
카카오 알림톡
카카오 알림톡 (AT / AI) 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 6
사전 검수된 템플릿을 기반으로 발송하는 카카오톡 메시지. 친구 추가가 필요 없음.
버튼·바로연결·아이템리스트 사용 시 ATTACHMENT JSON 파일을 별도 업로드합니다 — 업로드 방식은 첨부파일 관리 (FILE_HANDLING_MODE) 참고.
사전 준비
- 카카오 비즈메시지 채널 + 템플릿 모두 검수 승인 필수
- 발신 프로필 키 / 템플릿 코드 발급
ℹ️
MSG_BODY는 변수가 이미 치환된 최종 본문입니다. 비즈뿌리오 사이트에 등록한 템플릿 원문을 호출 측(고객사 애플리케이션)에서 치환한 결과를 INSERT 합니다. 변수(#{...})는 BIZCLIENT 가 치환하지 않습니다.
템플릿 변수 치환 예시
| 구분 | 내용 |
|---|---|
| 템플릿 원문 (비즈뿌리오 사이트 등록) | #{고객명} 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다. |
MSG_BODY 입력값 (치환 결과) |
박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다. |
⚠️ 치환 결과 본문은 검수 승인된 템플릿 내용과 일치해야 합니다. 불일치 시 발송이 실패할 수 있습니다.
ATTACHMENT JSON 사용 (버튼·바로연결·아이템리스트·강조표기)
JSON 파일을 환경설정의 FILE_PATH 경로에 업로드한 뒤 ATTACHED_FILE 에 파일명 지정 (UTF-8):
INSERT INTO biz_msg (
MSG_TYPE, ..., TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
ATTACHED_FILE
) VALUES (
6, ..., '{템플릿코드}', '{발신프로필키}', '82',
'{파일명}.json'
);
웹·앱 링크에 변수가 있어 JSON 파일을 미리 만들기 어려운 경우 FILE_HANDLING_MODE 테이블 활용.
biz_msg 컬럼 (AT)
| 컬럼 | 타입 | 필수 | 설명 |
|---|---|---|---|
MSG_TYPE |
number(1) | Y | AT = 6 |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 (NOW()) |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래, NOW()) |
DEST_PHONE |
string(16) | Y | 수신번호 |
SEND_PHONE |
string(16) | Y | 발신번호 (사전 등록 필수) |
SENDER_KEY |
string(40) | Y | 발신 프로필 키 |
TEMPLATE_CODE |
string(64) | Y | 템플릿 코드 |
NATION_CODE |
string(5) | Y | 국가 코드 (한국 = 82) |
MSG_BODY |
string(4000) | Y | 치환 완료된 본문 |
ATTACHED_FILE |
string(1000) | N | ATTACHMENT JSON 파일명 또는 첨부파일 테이블 KEY |
RESPONSE_METHOD |
string(8) | N | 발송 방식 (PUSH) |
TIMEOUT |
string(4) | N | 대체 발송용 타임아웃 (초) |
RE_TYPE |
string(3) | N | 대체 발송 타입 |
RE_BODY |
string(4000) | N | 대체 발송 본문 |
RE_PART |
string(1) | N | 대체 발송 처리 주체 (C=CLIENT / S=Server) |
CINFO |
string(32) | N | Client Indexed Info — 사내 구분용. 특수기호 \/:*?"<>|. 사용 불가 |
ATTACHMENT JSON · 버튼 규격
버튼·바로연결·아이템리스트·강조표기 등 ATTACHMENT JSON 상세 규격과 예시는 카카오 연동 규격 을 참고하세요.
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE
) VALUES (
6, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82'
);
카카오 브랜드메시지
카카오 브랜드메시지 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 9
브랜드메시지는 고객사의 광고성 정보 수신 동의 회원(send_target: marketing) 또는 카카오 채널 친구(send_target: friend) 대상으로 발송하는 광고성 메시지 상품입니다. biz_msg 에 MSG_TYPE=9 로 INSERT 하고, 말풍선 형태·본문·버튼 등 상세 구성은 ATTACHMENT JSON 파일(snake_case 키)로 전달합니다.
말풍선 형태는 ATTACHMENT JSON 의 extra.chat_bubble_type 으로 지정하며 8종을 지원합니다:
| chat_bubble_type | 설명 |
|---|---|
TEXT |
텍스트 |
IMAGE |
이미지 |
WIDE |
와이드 이미지 |
WIDE_ITEM_LIST |
와이드 아이템 리스트 |
PREMIUM_VIDEO |
프리미엄 동영상 |
COMMERCE |
커머스 |
CAROUSEL_FEED |
캐러셀 피드 |
CAROUSEL_COMMERCE |
캐러셀 커머스 |
타입별 본문/이미지/버튼 필드 구성·글자수, 변수 분리 방식과 전문 방식의 차이는 카카오 연동 규격 을 참고하세요.
발송 조건
- 광고성 메시지 — 08:00 ~ 20:50 (KST). 해외 사용자(해외 전화번호 가입자)는 시간 제한 없음
- 채널을 차단한 사용자에게는 발송되지 않음
- 고객사 회원 대상(
marketing) 발송은 사전 권한 신청 필요 + 카카오톡 25.4.0 이상 사용자에게만 발송 - 채널 친구 대상(
friend) 발송은 발신프로필 등록 후 바로 발송 가능
사전 등록: 카카오 채널 + 템플릿 + 이미지/동영상 (KAPI 등록)
biz_msg 컬럼 (BT)
| 컬럼 | 타입 | 필수 | 설명 |
|---|---|---|---|
MSG_TYPE |
number(1) | Y | BT = 9 |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 (NOW()) |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래, NOW()) |
DEST_PHONE |
string(16) | Y | 수신번호 |
SEND_PHONE |
string(16) | Y | 발신번호 (사전 등록 필수) |
SENDER_KEY |
string(40) | Y | 발신 프로필 키 |
NATION_CODE |
string(5) | Y | 국가 코드 (한국 = 82) |
TEMPLATE_CODE |
string(64) | Y | 템플릿 코드 (기본형 필수) |
MSG_BODY |
string(4000) | N | 본문 (전문 방식에서 변수 있는 경우 필수) |
ATTACHED_FILE |
string(1000) | Y | ATTACHMENT JSON 파일명 |
RE_TYPE |
string(3) | N | 대체 발송 타입 (대체 발송 사용 시) |
RE_BODY |
string(4000) | N | 대체 발송 본문 |
RE_PART |
string(1) | N | 대체 발송 처리 주체 (C=CLIENT / S=Server) |
CINFO |
string(32) | N | Client Indexed Info — 사내 구분용. 특수기호 \/:*?"<>|. 사용 불가 |
ℹ️ 브랜드메시지도 미수신 시 SMS/MMS 등으로 대체 발송이 가능합니다 (
RE_TYPE/RE_BODY/RE_PART). 타입 매핑은 발송 용어 — 대체발송타입 참고.
ATTACHMENT JSON 규격 · 예시
chat_bubble_type 8종·전문방식 본문 객체 스키마·CAROUSEL 객체, 그리고 발송 대상·방식별 전체 예시는 카카오 연동 규격 을 참고하세요.
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
SENDER_KEY, NATION_CODE, TEMPLATE_CODE, ATTACHED_FILE
) VALUES (
9, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'{발신프로필키}', '82', '{템플릿코드}', '{파일명}.json'
);
ATTACHMENT JSON 예시 — 전체 64개 조합
발송 대상 2 × 방식 4 × 타입 8. 인쇄/PDF 전용 선형 목록입니다.
{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O"
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M"
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M"
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M"
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M"
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O"
}
}{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M",
"message_variable": {
"변수1": "치환 문구"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M",
"message_variable": {
"변수1": "치환 문구"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M",
"message_variable": {
"변수1": "치환 문구"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M",
"message_variable": {
"변수1": "치환 문구"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M",
"carousel_variable": [
{
"message_variable": {
"변수1": "치환 메시지"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수3": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수4": "https://www.bizppurio.com/"
}
},
{
"message_variable": {
"변수1": "치환 메시지"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수3": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수4": "https://www.bizppurio.com/"
}
}
]
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "M",
"message_variable": {
"변수1": "치환 문구"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O",
"message_variable": {
"변수1": "변수1"
},
"commerce_variable": {
"변수2": "변수2"
},
"button_variable": {
"변수7": "test15",
"변수8": "test14"
},
"coupon_variable": {
"변수5": "test5",
"변수6": "test6"
}
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O",
"carousel_variable": [
{
"button_variable": {
"변수5": "test3",
"변수4": "test4"
},
"coupon_variable": {
"변수5": "test3",
"변수6": "test6"
}
},
{
"button_variable": {
"변수5": "test3",
"변수4": "test4"
},
"coupon_variable": {
"변수5": "test3",
"변수6": "test6"
}
}
]
}
}{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명",
"url_mobile": "https://www.bizppurio.com/변수10",
"url_pc": "https://www.bizppurio.com/변수9",
"scheme_ios": "https://www.bizppurio.com/변수8"
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
},
{
"type": "WL"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O",
"header": "템플릿 헤더변수1"
},
"item": {
"list": [
{
"img_url": "https://example.com/image.jpg",
"title": "아이템 제목1234",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22",
"scheme_ios": "https://www.bizppurio.com/11"
},
{
"img_url": "https://example.com/image.jpg",
"title": "아이템 제목1234",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22",
"scheme_ios": "https://www.bizppurio.com/11"
},
{
"img_url": "https://example.com/image.jpg",
"title": "아이템 제목1234",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22",
"scheme_ios": "https://www.bizppurio.com/11"
},
{
"img_url": "https://example.com/image.jpg"
}
]
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "#{변수6} 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O",
"carousel": {
"list": [
{
"attachment": {
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
},
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
},
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
}
]
}
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O",
"header": "템플릿 헤더변수1"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수6",
"url_pc": "https://www.bizppurio.com/변수5"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O",
"additional_content": "템플릿 부가정보변수1"
},
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "#{변수6} 쿠폰 설명"
},
"commerce": {
"title": "상품 제목변수2."
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
}
],
"image": {
"img_url": "https://example.com/image.jpg"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "BASIC",
"send_target": "marketing",
"targeting": "O",
"carousel": {
"head": {
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/11",
"scheme_ios": "https://www.bizppurio.com/11",
"header": "캐러셀 인트로 헤더#{변수1}",
"content": "캐러셀 인트로 내용변수2",
"image_url": "https://example.com/image.jpg"
},
"list": [
{
"additional_content": "변수4",
"header": "상품 제목변수4",
"attachment": {
"button": [
{
"type": "WL",
"url_pc": "https://www.bizppurio.com/변수4",
"url_mobile": "https://www.bizppurio.com/변수4"
},
{
"type": "WL",
"url_pc": "https://www.bizppurio.com/변수5",
"url_mobile": "https://www.bizppurio.com/변수5"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
},
"commerce": {
"title": "상품 제목변수4"
}
}
}
]
}
}
}{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "O"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼3",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼4",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "O"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼3",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼4",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "O"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "O",
"header": "헤덩"
},
"item": {
"list": [
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀 입니다.",
"url_mobile": "https://daou.co.kr/"
},
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀2 입니다.",
"url_mobile": "https://daou.co.kr/2"
},
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀3 입니다.",
"url_mobile": "https://daou.co.kr/3"
},
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀4 입니다.",
"url_mobile": "https://daou.co.kr/4"
}
]
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://m.naver.com"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "M",
"carousel": {
"list": [
{
"header": "헤더입니다.",
"message": "안녕하세요! 겨울 신상 패딩을 할인 판매 중입니다.\n지금 89,000원에 만나보세요.",
"attachment": {
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"image": {
"img_url": "https://example.com/image.jpg"
},
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}
},
{
"header": "헤더입니다.",
"message": "안녕하세요! 겨울 신상 패딩을 할인 판매 중입니다.\n지금 89,000원에 만나보세요.",
"attachment": {
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"image": {
"img_url": "https://example.com/image.jpg"
}
}
}
],
"tail": {
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/",
"scheme_ios": "https://www.bizppurio.com/",
"scheme_android": "https://www.bizppurio.com/"
}
}
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "M",
"header": "헤더입니다."
},
"video": {
"video_url": "https://tv.kakao.com/channel/XXXXX/cliplink/447422551",
"thumbnail_url": "http://thumb.kakaocdn.net/dna/kamp/source/XXXXX/thumbs/thumb.jpg"
},
"button": [
{
"name": "버튼명입니다.",
"type": "WL",
"url_mobile": "https://www.naver.com"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "M",
"additional_content": "부가정보"
},
"commerce": {
"title": "상품명입니다.",
"regular_price": 10,
"discount_price": 10,
"discount_rate": "10",
"discount_fixed": "10"
},
"image": {
"img_url": "https://example.com/image.jpg"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://www.naver.com"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "FREE",
"send_target": "marketing",
"targeting": "M",
"carousel": {
"head": {
"header": "이번 주 특가 모음",
"content": "엄선한 상품을 특별한 가격에 만나보세요.",
"image_url": "https://example.com/image.jpg",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/",
"scheme_android": "https://www.bizppurio.com/",
"scheme_ios": "https://www.bizppurio.com/"
},
"list": [
{
"additional_content": "",
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
},
"commerce": {
"title": "타이틀",
"regular_price": 10,
"discount_price": 10,
"discount_rate": 10,
"discount_fixed": 10
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
]
}
}
],
"tail": {
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/",
"scheme_ios": "https://www.bizppurio.com/",
"scheme_android": "https://www.bizppurio.com/"
}
}
}
}{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "BASIC",
"send_target": "friend",
"targeting": "O"
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "BASIC",
"send_target": "friend"
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "BASIC",
"send_target": "friend"
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "BASIC",
"send_target": "friend"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "BASIC",
"send_target": "friend"
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "BASIC",
"send_target": "friend"
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "BASIC",
"send_target": "friend"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "BASIC",
"send_target": "friend",
"targeting": "O"
}
}{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "BASIC",
"send_target": "friend",
"message_variable": {
"변수1": "치환 문구"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "BASIC",
"send_target": "friend",
"message_variable": {
"변수1": "치환 문구"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "BASIC",
"send_target": "friend",
"message_variable": {
"변수1": "치환 문구"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "BASIC",
"send_target": "friend",
"message_variable": {
"변수1": "치환 문구"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "BASIC",
"send_target": "friend",
"carousel_variable": [
{
"message_variable": {
"변수1": "치환 메시지"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수3": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수4": "https://www.bizppurio.com/"
}
},
{
"message_variable": {
"변수1": "치환 메시지"
},
"image_variable": {
"변수2": "https://example.com/image.jpg"
},
"button_variable": {
"변수3": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수4": "https://www.bizppurio.com/"
}
}
]
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "BASIC",
"send_target": "friend",
"message_variable": {
"변수1": "치환 문구"
},
"button_variable": {
"변수7": "https://www.bizppurio.com/"
},
"coupon_variable": {
"변수5": "https://www.bizppurio.com/"
}
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "BASIC",
"send_target": "friend",
"message_variable": {
"변수1": "변수1"
},
"commerce_variable": {
"변수2": "변수2"
},
"button_variable": {
"변수7": "test15",
"변수8": "test14"
},
"coupon_variable": {
"변수5": "test5",
"변수6": "test6"
}
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "BASIC",
"send_target": "friend",
"carousel_variable": [
{
"button_variable": {
"변수5": "test3",
"변수4": "test4"
},
"coupon_variable": {
"변수5": "test3",
"변수6": "test6"
}
},
{
"button_variable": {
"변수5": "test3",
"변수4": "test4"
},
"coupon_variable": {
"변수5": "test3",
"변수6": "test6"
}
}
]
}
}{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "BASIC",
"send_target": "friend"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명",
"url_mobile": "https://www.bizppurio.com/변수10",
"url_pc": "https://www.bizppurio.com/변수9",
"scheme_ios": "https://www.bizppurio.com/변수8"
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "BASIC",
"send_target": "friend"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
},
{
"type": "WL"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "BASIC",
"send_target": "friend"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "BASIC",
"send_target": "friend",
"header": "템플릿 헤더변수1"
},
"item": {
"list": [
{
"img_url": "https://example.com/image.jpg",
"title": "아이템 제목1234",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22",
"scheme_ios": "https://www.bizppurio.com/11"
},
{
"img_url": "https://example.com/image.jpg",
"title": "아이템 제목1234",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22",
"scheme_ios": "https://www.bizppurio.com/11"
},
{
"img_url": "https://example.com/image.jpg",
"title": "아이템 제목1234",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22",
"scheme_ios": "https://www.bizppurio.com/11"
},
{
"img_url": "https://example.com/image.jpg"
}
]
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "#{변수6} 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "BASIC",
"send_target": "friend",
"carousel": {
"list": [
{
"attachment": {
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
},
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수4",
"url_pc": "https://www.bizppurio.com/변수3"
},
{
"type": "WL"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
},
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
},
{
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
}
}
}
]
}
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "BASIC",
"send_target": "friend",
"header": "템플릿 헤더변수1"
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/변수6",
"url_pc": "https://www.bizppurio.com/변수5"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "BASIC",
"send_target": "friend",
"additional_content": "템플릿 부가정보변수1"
},
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "#{변수6} 쿠폰 설명"
},
"commerce": {
"title": "상품 제목변수2."
},
"button": [
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
},
{
"type": "WL",
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/22"
}
],
"image": {
"img_url": "https://example.com/image.jpg"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "BASIC",
"send_target": "friend",
"carousel": {
"head": {
"url_mobile": "https://www.bizppurio.com/11",
"url_pc": "https://www.bizppurio.com/11",
"scheme_ios": "https://www.bizppurio.com/11",
"header": "캐러셀 인트로 헤더#{변수1}",
"content": "캐러셀 인트로 내용변수2",
"image_url": "https://example.com/image.jpg"
},
"list": [
{
"additional_content": "변수4",
"header": "상품 제목변수4",
"attachment": {
"button": [
{
"type": "WL",
"url_pc": "https://www.bizppurio.com/변수4",
"url_mobile": "https://www.bizppurio.com/변수4"
},
{
"type": "WL",
"url_pc": "https://www.bizppurio.com/변수5",
"url_mobile": "https://www.bizppurio.com/변수5"
}
],
"coupon": {
"title": "변수5 무료 쿠폰",
"description": "변수6 쿠폰 설명"
},
"commerce": {
"title": "상품 제목변수4"
}
}
}
]
}
}
}{
"extra": {
"chat_bubble_type": "TEXT",
"brand_message_type": "FREE",
"send_target": "friend"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼3",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼4",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "IMAGE",
"brand_message_type": "FREE",
"send_target": "friend"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼3",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼4",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "WIDE",
"brand_message_type": "FREE",
"send_target": "friend"
},
"image": {
"img_url": "https://example.com/image.jpg",
"img_link": "https://www.bizppurio.com/"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "WIDE_ITEM_LIST",
"brand_message_type": "FREE",
"send_target": "friend",
"header": "헤덩"
},
"item": {
"list": [
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀 입니다.",
"url_mobile": "https://daou.co.kr/"
},
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀2 입니다.",
"url_mobile": "https://daou.co.kr/2"
},
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀3 입니다.",
"url_mobile": "https://daou.co.kr/3"
},
{
"img_url": "https://example.com/image.jpg",
"title": "타이틀4 입니다.",
"url_mobile": "https://daou.co.kr/4"
}
]
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://m.naver.com"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_FEED",
"brand_message_type": "FREE",
"send_target": "friend",
"carousel": {
"list": [
{
"header": "헤더입니다.",
"message": "안녕하세요! 겨울 신상 패딩을 할인 판매 중입니다.\n지금 89,000원에 만나보세요.",
"attachment": {
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"image": {
"img_url": "https://example.com/image.jpg"
},
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}
},
{
"header": "헤더입니다.",
"message": "안녕하세요! 겨울 신상 패딩을 할인 판매 중입니다.\n지금 89,000원에 만나보세요.",
"attachment": {
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"image": {
"img_url": "https://example.com/image.jpg"
}
}
}
],
"tail": {
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/",
"scheme_ios": "https://www.bizppurio.com/",
"scheme_android": "https://www.bizppurio.com/"
}
}
}
}{
"extra": {
"chat_bubble_type": "PREMIUM_VIDEO",
"brand_message_type": "FREE",
"send_target": "friend",
"header": "헤더입니다."
},
"video": {
"video_url": "https://tv.kakao.com/channel/XXXXX/cliplink/447422551",
"thumbnail_url": "http://thumb.kakaocdn.net/dna/kamp/source/XXXXX/thumbs/thumb.jpg"
},
"button": [
{
"name": "버튼명입니다.",
"type": "WL",
"url_mobile": "https://www.naver.com"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://bizppurio.com"
}
}{
"extra": {
"chat_bubble_type": "COMMERCE",
"brand_message_type": "FREE",
"send_target": "friend",
"additional_content": "부가정보"
},
"commerce": {
"title": "상품명입니다.",
"regular_price": 10,
"discount_price": 10,
"discount_rate": "10",
"discount_fixed": "10"
},
"image": {
"img_url": "https://example.com/image.jpg"
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
],
"coupon": {
"title": "배송비 할인 쿠폰",
"description": "쿠폰 상세 내용입니다.",
"url_mobile": "https://www.naver.com"
}
}{
"extra": {
"chat_bubble_type": "CAROUSEL_COMMERCE",
"brand_message_type": "FREE",
"send_target": "friend",
"carousel": {
"head": {
"header": "이번 주 특가 모음",
"content": "엄선한 상품을 특별한 가격에 만나보세요.",
"image_url": "https://example.com/image.jpg",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/",
"scheme_android": "https://www.bizppurio.com/",
"scheme_ios": "https://www.bizppurio.com/"
},
"list": [
{
"additional_content": "",
"attachment": {
"image": {
"img_url": "https://example.com/image.jpg"
},
"commerce": {
"title": "타이틀",
"regular_price": 10,
"discount_price": 10,
"discount_rate": 10,
"discount_fixed": 10
},
"button": [
{
"name": "버튼1",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
},
{
"name": "버튼2",
"type": "WL",
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/"
}
]
}
}
],
"tail": {
"url_mobile": "https://www.bizppurio.com/",
"url_pc": "https://www.bizppurio.com/",
"scheme_ios": "https://www.bizppurio.com/",
"scheme_android": "https://www.bizppurio.com/"
}
}
}
}FAX
FAX 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 2
한글 100자 이하의 표지를 포함한 이미지 및 문서를 팩스 번호로 발송하는 채널.
⚠️ FAX는 BIZCLIENT 전용 채널입니다.
biz_msg 컬럼 (FAX)
| 컬럼 | 타입 | 필수 | 설명 | 기본값 |
|---|---|---|---|---|
MSG_TYPE |
number(1) | Y | FAX = 2 | — |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) | — |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 | NOW() |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래) | NOW() |
DEST_PHONE |
string(16) | Y | 수신 팩스번호 | — |
SEND_PHONE |
string(16) | Y | 발신 팩스번호 (사전 등록 필수) | — |
SUBJECT |
string(64) | N | 표지 제목 (한글 100자 이하) | — |
MSG_BODY |
string(4000) | N | 표지 내용 | — |
ATTACHED_FILE |
string(1000) | Y | 첨부 파일 경로 (여러 개는 | 로 구분) |
— |
COVER_FLAG |
number(1) | N | 팩스 표지 사용 여부 (0/1) |
0 |
USE_PAGE |
number(2) | N | 발송 페이지 수 | 0 |
RETRY_CNT |
number(4) | N | 재시도 횟수 | — |
CINFO |
string(32) | N | Client Indexed Info — 사내 구분용. 특수기호 \/:*?"<>|. 사용 불가 |
— |
응답·결과
- 발송 결과:
biz_msg.STATUS(0:대기, 7:발송중, 1:발송 후 대기, 2:발송완료) 및CALL_STATUS컬럼 - 발송 페이지 수:
USE_PAGE컬럼에 기록
제한사항
| 항목 | 값 |
|---|---|
| 표지 제목 | 한글 100자 이하 |
| 첨부 포맷 | TIF / PDF 등 |
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
SUBJECT, MSG_BODY,
ATTACHED_FILE, COVER_FLAG
) VALUES (
2, '201XXXXXXXXX', NOW(), NOW(),
'03112341234', '0212341234',
'표지제목', '표지내용',
'document.tif',
1
);
PHONE
PHONE 채널 — biz_msg 테이블 INSERT 방식으로 발송합니다.
MSG_TYPE = 3
한글 100자 이하의 TTS(Text-to-Speech) 또는 3분 미만의 WAVE 시나리오 파일을 전화로 발송하는 채널.
시나리오 답변(설문 응답) 기능도 지원.
⚠️ PHONE은 BIZCLIENT 전용 채널입니다.
biz_msg 컬럼 (PHONE)
| 컬럼 | 타입 | 필수 | 설명 | 기본값 |
|---|---|---|---|---|
MSG_TYPE |
number(1) | Y | PHONE = 3 | — |
CMID |
string(32) | Y | 데이터 ID (Primary Key, ASCII) | — |
REQUEST_TIME |
datetime | Y | 데이터 등록 시간 | NOW() |
SEND_TIME |
datetime | Y | 발송 기준 시간 (예약 시 미래) | NOW() |
DEST_PHONE |
string(16) | Y | 수신번호 | — |
SEND_PHONE |
string(16) | Y | 발신번호 (사전 등록 필수) | — |
MSG_BODY |
string(4000) | Y | TTS 변환 본문 (한글 100자 이하) | — |
VXML_FILE |
string(64) | N | 음성 시나리오 파일명 (WAVE 시나리오 사용 시) | — |
REPLY_FLAG |
number(1) | N | 시나리오 답변 기능 (Y:1, N:0) |
0 |
SMS_FLAG |
number(1) | N | 실패 시 문자 전송 옵션 | 0 |
RETRY_CNT |
number(4) | N | 재시도 횟수 | — |
USE_TIME |
number(4) | N | 발송 소요 시간 (초) | 0 |
SN_RESULT |
number(1) | N | 설문 조사 응답 값 (0~9) |
0 |
ATTACHED_FILE |
string(1000) | N | WAVE 파일 경로 | — |
CINFO |
string(32) | N | Client Indexed Info — 사내 구분용. 특수기호 \/:*?"<>|. 사용 불가 |
— |
응답·결과
- 발송 결과:
biz_msg.STATUS(0:대기, 7:발송중, 1:발송 후 대기, 2:발송완료) 및CALL_STATUS컬럼 - 시나리오 답변 결과:
SN_RESULT컬럼에0~9의 값으로 기록 - 통화 시간:
USE_TIME컬럼 (초 단위)
제한사항
| 항목 | 값 |
|---|---|
| TTS 본문 | 한글 100자 이하 |
| WAVE 파일 | 3분 미만, wav (8bit-8KHz mono 형식) |
| 설문 응답 | 0~9 단일 자리 숫자 |
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, MSG_BODY
) VALUES (
3, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'본 메시지는 테스트입니다. 다우기술 비즈메시지 서비스를 이용해주셔서 감사합니다.'
);
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, MSG_BODY,
VXML_FILE, REPLY_FLAG
) VALUES (
3, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'TTS 백업 본문',
'survey_2025.vxml',
1
);
가이드
BIZCLIENT 운영 가이드 — 대체발송 / 지원 가능한 첨부파일 타입 / 운영 설정 옵션.
대체발송
BIZCLIENT 대체 발송 쿼리 — AT/BT + 1·2차 대체 발송 / RCS + 1·2차 대체 발송 INSERT 예제
발송 실패 시 다른 채널로 자동 전환. RE_TYPE 코드 정의는 발송 용어 — 대체발송타입 참고.
⚠️ 대체 발송을 사용하려면 비즈뿌리오 ID 가 대체 발송 사용 가능 으로 설정되어 있어야 합니다.
매핑 키 동작
대체 발송이 이루어진 경우 BIZCLIENT 는 결과 리포트 업데이트 시점에 대체 발송 정보를 추가 레코드 로 신규 생성:
- 원본 메시지의
UMID↔ 1차 대체 발송의CMID - 2차 대체가 있는 경우:
UMID앞에RE_가 추가된 문자열이 2차 대체의CMID(1차 대체의UMID도 같은 값)
SMS / MMS 대체 — 본문 동작
RE_BODY를 비워두면 원본MSG_BODY가 그대로 사용됨- 단, SMS 대체 의 경우
MSG_BODY길이가 SMS 허용 길이(90바이트) 를 초과하면 발송되지 않음
AT/BT + 1차 대체 발송
AT + SMS 대체
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RE_BODY
) VALUES (
6, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'SMS', '[다우기술] 응모하신 프로모션에 당첨되셨습니다.'
);
AT + MMS 대체
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RE_BODY, ATTACHED_FILE
) VALUES (
6, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'MMS', '[다우기술] 응모하신 프로모션에 당첨되셨습니다.', '{첨부파일명.jpg}'
);
AT + RCS 대체 — BIZ_RCS 에 미리 등록된 RCS 메시지의 REFKEY 를 RCS_REFKEY 로 연결.
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RCS_REFKEY
) VALUES (
6, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'R', '{RCS_REFKEY}'
);
BT 의 1차 대체도 위 패턴과 동일하며, MSG_TYPE 만 9(BT) 로 변경.
AT/BT + 2차 대체 발송
1차 대체가 RCS 이고, RCS 도 실패할 경우 2차 대체로 SMS 또는 MMS 발송.
AT + RCS(1차) + SMS(2차)
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RE_BODY, RCS_REFKEY
) VALUES (
6, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'RS', '[다우기술] 응모하신 프로모션에 당첨되셨습니다.', '{RCS_REFKEY}'
);
AT + RCS(1차) + MMS(2차)
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RE_BODY, ATTACHED_FILE, RCS_REFKEY
) VALUES (
6, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'RM', '[다우기술] 응모하신 프로모션에 당첨되셨습니다.', '{첨부파일명.jpg}', '{RCS_REFKEY}'
);
RCS + 1차 대체 발송
RCS 발송 실패 시 SMS / MMS / AT / BT 중 하나로 대체.
RCS + SMS 대체
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
RCS_REFKEY, RE_TYPE, RE_BODY
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'{RCS_REFKEY}', 'SMS', '[다우기술] 응모하신 프로모션에 당첨되셨습니다.'
);
RCS + MMS 대체
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
RCS_REFKEY, RE_TYPE, RE_BODY, ATTACHED_FILE
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'{RCS_REFKEY}', 'MMS', '[다우기술] 응모하신 프로모션에 당첨되셨습니다.', '{첨부파일.jpg}'
);
RCS + AT 대체 — 알림톡 대체 발송은 MSG_BODY 필드의 데이터를 사용.
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RCS_REFKEY
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'K', '{RCS_REFKEY}'
);
RCS + BT 대체 — 브랜드메시지 대체도 MSG_BODY·TEMPLATE_CODE 등 채널 필수 컬럼을 그대로 포함하며 RE_TYPE = U.
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RCS_REFKEY
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234',
'박다우 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'U', '{RCS_REFKEY}'
);
RCS + 2차 대체 발송
RCS 발송 실패 시 1차로 AT/BT, 그것도 실패하면 2차로 SMS/MMS 발송. RE_TYPE 은 1차·2차 코드를 조합합니다 (KS = AT→SMS, KM = AT→MMS, US = BT→SMS, UM = BT→MMS).
1차가 AT/BT 이므로
MSG_BODY에 1차(AT/BT) 본문,RE_BODY에 2차(SMS/MMS) 본문을 넣습니다.TEMPLATE_CODE·SENDER_KEY·NATION_CODE등 1차 채널의 필수 컬럼을 모두 포함해야 합니다.
RCS + AT(1차) + SMS(2차) — RE_TYPE = KS
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, RCS_REFKEY, RE_TYPE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE, RE_BODY
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234', '{RCS_REFKEY}', 'KS',
'박다우 고객님, 알림톡 대체 본문입니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'[다우기술] SMS 2차 대체 본문입니다.'
);
RCS + AT(1차) + MMS(2차) — RE_TYPE = KM
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, RCS_REFKEY, RE_TYPE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE, RE_BODY, ATTACHED_FILE
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234', '{RCS_REFKEY}', 'KM',
'박다우 고객님, 알림톡 대체 본문입니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'[다우기술] MMS 2차 대체 본문입니다.', '{첨부파일명.jpg}'
);
RCS + BT(1차) + SMS(2차) — RE_TYPE = US
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, RCS_REFKEY, RE_TYPE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE, RE_BODY
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234', '{RCS_REFKEY}', 'US',
'박다우 고객님, 브랜드메시지 대체 본문입니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'[다우기술] SMS 2차 대체 본문입니다.'
);
RCS + BT(1차) + MMS(2차) — RE_TYPE = UM
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME,
DEST_PHONE, SEND_PHONE, RCS_REFKEY, RE_TYPE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE, RE_BODY, ATTACHED_FILE
) VALUES (
8, '201XXXXXXXXX', NOW(), NOW(),
'01012345678', '0212341234', '{RCS_REFKEY}', 'UM',
'박다우 고객님, 브랜드메시지 대체 본문입니다.',
'{템플릿코드}', '{발신프로필키}', '82',
'[다우기술] MMS 2차 대체 본문입니다.', '{첨부파일명.jpg}'
);
전체 코드 매핑은 발송 용어 — 대체발송타입 표 참고.
지원 가능한 첨부파일 타입
메시지 타입별로 첨부 가능한 파일 형식입니다.
MMS
| 구분 | 지원 형식 |
|---|---|
| Image | jpg |
| Audio | ma3 |
| Video | k3g |
Image 를 제외한 타입에 대해서는 전송은 되지만 일부 이동통신사 또는 단말기에서 지원하지 않을 수 있습니다.
AT / BT
| 구분 | 지원 형식 |
|---|---|
| Button / Image | json |
PHONE
| 구분 | 지원 형식 |
|---|---|
| Voice | wav (8bit-8KHz mono 형식) |
FAX
| 구분 | 지원 형식 |
|---|---|
| Docs | doc, docx, xls, xlsx, ppt, pptx, hwp, pdf, txt, html |
| Image | bmp, gif, jpg, png |
운영 설정 옵션
config/uds.conf (및 config/data/columns-{DBMS}.json) 에서 설정하는 모듈 운영 옵션입니다.
DB 데이터 복호화 — DB_DATA_DECRYPTION
BIZ_MSG.MSG_BODY / RE_BODY 등 본문이 암호화 상태로 DB에 저장된 경우, 모듈이 복호화 후 발송하도록 설정합니다. 기본 대상 필드는 MSG_BODY 와 RE_BODY 입니다.
| 옵션 | 값 | 설명 |
|---|---|---|
DB_DATA_DECRYPTION |
A (API) |
어플리케이션 단에서 AES 복호화 |
P (PLUG-IN) |
DBMS 에 설치된 복호화 함수(모듈)로 복호화 | |
N (NONE) |
사용 안 함 (기본값) | |
DB_DATA_DECRYPTION_FIELDS |
(필드 목록) | 복호화 대상 필드. 기본 MSG_BODY|RE_BODY, 복수는 | 로 구분 |
USE_DECRYPTION_SEPARATION_FIELD |
Y / N |
복호화 구분 필드(USE_DECRYPT) 사용 여부. 기본 Y |
DB_DATA_DECRYPTION_FUNCTION |
(함수명) | PLUG-IN 방식 — 복호화 함수명 |
DB_DATA_DECRYPTION_PARAMETER_COUNT |
(1~) | PLUG-IN 함수 매개변수 개수. 기본 1 |
DB_DATA_DECRYPTION_PARAMETER_1~N |
(값) | 매개변수 — 복호화 대상 필드 위치를 비워두면 모듈이 자동 입력 |
DB_DATA_DECRYPTION_KEY |
(키) | API 방식 — AES 키. 모듈 정상 구동 시 자동 암호화되어 저장됨 |
사용 예시 (PLUG-IN 방식)
DB_DATA_DECRYPTION = P
DB_DATA_DECRYPTION_FIELDS = MSG_BODY|RE_BODY
DB_DATA_DECRYPTION_FUNCTION = DECRYPT_FUNCTION
DB_DATA_DECRYPTION_PARAMETER_COUNT = 3
DB_DATA_DECRYPTION_PARAMETER_1 = 1
DB_DATA_DECRYPTION_PARAMETER_2 = 'PHONE'
DB_DATA_DECRYPTION_PARAMETER_3 =
→ 호출되는 SQL: DECRYPT_FUNCTION(1, 'PHONE', MSG_BODY) / DECRYPT_FUNCTION(1, 'PHONE', RE_BODY)
백업 시 본문 길이만 보관 — USE_BACKUP_PERSONAL_DATA_PROCESSING (Y/N)
발송 완료 메시지가 메시지 테이블에서 로그 테이블로 이동할 때, MSG_BODY / RE_BODY 의 내용 대신 길이만 저장합니다 (개인정보 최소 보관).
첨부파일 관리 — FILE_HANDLING_MODE
| 값 | 동작 |
|---|---|
0 |
(기본값) 첨부파일 데이터를 biz_msg 에서 관리. ATTACHED_FILE 에 파일명, 여러 개는 | 로 구분 |
1 |
FILE_PATH1~FILE_PATH5 컬럼(사용자 추가)으로 관리. 파일명을 포함한 전체 경로 입력 |
2 |
BIZ_ATTACHMENTS 테이블로 관리. 데이터 타입 입력 필요, 여러 개는 동일 MSG_KEY 입력 |
FILE_HANDLING_MODE = 2 의 데이터 타입: FILE(기본, 파일명) / HTTP(http·https URL) / JSON(알림톡·브랜드메시지 버튼 정보 JSONString).
FILE_HANDLING_MODE = 2 사용 시 biz_msg.ATTACHED_FILE 에 MSG_KEY 를 넣고, 같은 키로 BIZ_ATTACHMENTS 테이블에 첨부 데이터를 등록합니다.
INSERT INTO biz_msg (
MSG_TYPE, CMID, REQUEST_TIME, SEND_TIME, DEST_PHONE, SEND_PHONE,
MSG_BODY, TEMPLATE_CODE, SENDER_KEY, NATION_CODE,
RE_TYPE, RE_BODY, ATTACHED_FILE
) VALUES (
6, '201XXXXXXXXX', NOW(), NOW(), '01012341234', '0212341234',
'홍길동 고객님 다우기술 비즈메시지 프로모션에 당첨 되었습니다', '{템플릿코드}', '{발신프로필키}', '82',
'MMS', '[다우기술] 응모하신 프로모션에 당첨되었습니다.', 'msgKey1'
);
BIZ_ATTACHMENTS 테이블 — 동일 MSG_KEY(msgKey1) 로 첨부 데이터 등록:
MSG_KEY |
SEQ |
TYPE |
CONTENTS |
|---|---|---|---|
msgKey1 |
1 | FILE |
파일명 |
msgKey1 |
2 | HTTP |
http://www.daou.co.kr/file/jpg.jpg |
msgKey1 |
3 | JSON |
버튼 정보 JSON (아래) |
{
"button": [
{ "name": "미리 주문하기", "type": "WL", "url_mobile": "http://www.bizppurio.com" },
{ "name": "상담원 연결하기", "type": "MD" },
{ "name": "발송 알림 설정 보기", "type": "AL", "scheme_android": "daumapps://open", "scheme_ios": "daumapps://open" }
]
}
첨부파일 경로 — ABSOLUTE_PATH_OPTION (Y/N)
| 값 | 동작 |
|---|---|
N |
(상대경로) 파일명만 입력하고 기본 경로 ./spool 에 파일을 둔다 |
Y |
(절대경로) 파일명을 포함한 전체 경로(예: D:/img.jpg)를 입력 |
모듈 재구동 시 오래된 데이터 처리 — SEND_VALID_TIME (0~1440, 분)
모듈 재구동 / DB 세션 재연결 시 실패 처리할 발송 유효 시간 (대상: SEND_TIME).
| 값 | 의미 |
|---|---|
0 |
사용 안 함 |
1~1440 |
재구동 시점 기준 N분 지난 미발송 메시지 실패 처리 (결과코드 9034) |
| 기본값 | 180 (3시간) |
잔존 메시지 처리
네트워크 장애·모듈 비정상 종료 등으로 백업되지 않고 메시지 테이블에 남은 메시지를, 서버에 결과 재요청하거나 실패 처리하여 백업 테이블로 이동시키는 옵션입니다. BATCH 스레드에서 5분 간격으로 동작합니다.
⚠️ 사용 시 비즈 서버 통계와 고객사 DB 통계 간 불일치가 발생할 수 있습니다.
| 옵션 | 기본값 | 설명 |
|---|---|---|
REPORT_RECONFIRM_OPTION (Y/N) |
N |
STATUS=1(발송 후 대기)이고 발송 후 55시간(최대 리포트 타임아웃) 경과 메시지에 리포트 1회 재요청 후 STATUS=3 으로 변경. 3일 내 미수신 시 실패 처리 (결과코드 9023) |
REPORT_RECONFIRM_COUNT |
100 |
재요청 대상 메시지 FETCH COUNT |
REMOVE_PRESEND_MSG_OPTION (Y/N) |
N |
STATUS=7(발송 중)이고 발송 후 3일(클라이언트 타임아웃) 경과 메시지를 실패 처리 (결과코드 9037) |
REMOVE_PRESEND_MSG_COUNT |
100 |
처리 대상 메시지 FETCH COUNT |
WAIT_REPORT_HOUR |
55 |
최대 리포트 타임아웃 시간 (최소 55) |
CLIENT_TIMEOUT_HOUR |
72 |
클라이언트 타임아웃 시간 (최소 56 = WAIT_REPORT_HOUR + 1) |
RCS 대행사 ID — AGENCY_ID (biz_client_v3000 이상)
RCS 발신번호(chatbotId)에 대한 발송 권한이 대행사에 있는지 체크하며, 권한이 없으면 발송 실패합니다. 다우기술 대행사 ID 는 daoutech 이며 미설정 시 기본값으로 적용됩니다.
config/data/columns-{DBMS}.json의 RCSBUTTONS컬럼 정보 아래AGENCY_ID컬럼 정보 추가- 기존
BIZ_RCS테이블이 있으면AGENCY_ID VARCHAR(20)컬럼 추가 - 모듈 재구동 후
AGENCY_ID컬럼에 대행사 ID 를 입력하여 발송
최초 발신사업자 식별코드 — RESELLERCODE (biz_client_v3015 이상)
특수부가사업자 등록번호(숫자 9자리)를 의미합니다.
USE_RESELLERCODE(Y/N, 기본N) 설정 시 메시지 발송에 식별코드를 포함하여 전송- 메시지/로그 테이블에
RESELLERCODE VARCHAR(10)컬럼 추가 (신규 설치 시 옵션 설정 후 구동하면 자동 추가)
CMID 추가 문자 사용 (biz_client_v4000 이상)
CMID 는 기본적으로 ASCII 범위 문자열만 입력 가능합니다.
| 값 | 동작 |
|---|---|
Y |
(기본값) ASCII 문자로 구성된 CMID 만 사용 |
N |
ASCII 범위 외 한글·특수문자 포함 허용 |
⚠️ 허용되지 않는
CMID입력 시 발송이 실패할 수 있습니다.
중복 발송 제한 — DUPLICATE_SENDING_POLICY (biz_client_v3016 이상)
BIZCLIENT는 동일 메시지의 의도치 않은 중복 발송을 차단합니다. 옵션은 uds.conf 에서 설정합니다.
| 옵션 | 값 | 설명 |
|---|---|---|
DUPLICATE_SENDING_POLICY |
0 |
사용 안 함 (기본값) |
1 |
수신번호 기준으로 중복 차단 | |
2 |
수신번호 + 메시지 내용 기준으로 차단 | |
DUPLICATE_SENDING_MONIT_SECONDS |
30 ~ 60 | 모니터링 시간 (초). 기본 30 |
DUPLICATE_SENDING_ALLOW_COUNT |
1 이상 | 모니터링 시간 내 허용 발송 수. 기본 1 |
- 적용 채널:
SMS,LMS,MMS,AT,BT,RCS. 버튼·첨부파일·대체 발송 본문은 비교하지 않습니다. - 차단된 메시지는
CALL_STATUS = 9041(중복 발송 차단) 로 기록됩니다.
예) 사용자가 OTP 인증 버튼을 1초 내 3번 클릭 →
정책 = 2+ALLOW_COUNT = 1이면 1건만 발송되고 나머지 2건은 차단됩니다.
RCS 연동 규격
BIZCLIENT RCS 발송의 상세 규격입니다 — MESSAGEBASE_ID(안드로이드/통합)·MESSAGE(RCS_BODY·media)·BUTTON.
MESSAGEBASE_ID
MESSAGEBASE_ID 는 메시지 포맷(카드 유형)을 지정하는 코드입니다. 발송하려는 메시지 형태에 맞는 ID 를 선택해 입력합니다. RCS 는 안드로이드 RCS 와 통합 RCS 두 체계로 구분됩니다.
안드로이드 RCS 와 통합 RCS 공통점
- 동일한 상품 타입 및 발송 변수 이용
안드로이드 RCS 와 통합 RCS 차이점
| 구분 | (기존) 안드로이드 RCS | 통합 RCS |
|---|---|---|
| 수신 가능 단말 | 안드로이드 채팅+ 지원 단말 (예: 삼성 갤럭시) | 국내 이통사와 RCS 연동된 모든 단말 * 애플 단말기 iOS 26 이상 * 안드로이드 10(Q-OS 버전) 이상 |
| (광고) 표기 | BIZ_RCS.HEADER 로 (광고) 표기 설정 |
메시지 타이틀 혹은 본문에 직접 표기하여 메시지 발송 (글자수에 포함) |
| 무료수신거부 표기 | BIZ_RCS.FOOTER 로 표기 설정 |
메시지 본문 끝에 직접 표기하여 메시지 발송 (글자수에 포함됨) |
| CopyAllowed | 지원 — 메시지별 사용자 복사 가능 여부 설정 가능 | 미지원 — 단말 정책에 따라 복사 기능 제공됨 |
| KISA 안심마크 (확인된 발신번호) | 삼성 단말에 한하여 표시 | 삼성 단말에 한하여 표시 |
| 대화방 메뉴 | 지원 | 삼성 단말에 한하여 제공, 연내 타 제조사 확대 예정 |
| 오픈리치카드 | 지원 | 미지원 |
안드로이드 RCS
안드로이드 채팅+ 지원 단말(예: 삼성 갤럭시)에서 수신 가능한 표준 포맷입니다.
MESSAGEBASE_ID 목록
| MESSAGEBASE_ID | 상품 | 메시지 타입 | 카드(형태) | 카드 장수 | 카드별 최대 버튼 수 | 최대 본문 글자 수 |
|---|---|---|---|---|---|---|
SS000000 |
SMS | Standalone | - | 1 | 1 | 100 |
SL000000 |
LMS | Standalone | - | 1 | 3 | 1300 |
SMwThT00 |
MMS | 세로형(Tall) | - | 1 | 2 | 1300 |
SMwThM00 |
MMS | 세로형(Medium) | - | 1 | 2 | 1300 |
CMwMhM0200 |
MMS | 슬라이드형(Medium, 2장) | Carousel Medium | 2 | 2 | 글자/라인수 정의 표 참고 |
CMwMhM0300 |
MMS | 슬라이드형(Medium, 3장) | Carousel Medium | 3 | 2 | 글자/라인수 정의 표 참고 |
CMwMhM0400 |
MMS | 슬라이드형(Medium, 4장) | Carousel Medium | 4 | 2 | 글자/라인수 정의 표 참고 |
CMwMhM0500 |
MMS | 슬라이드형(Medium, 5장) | Carousel Medium | 5 | 2 | 글자/라인수 정의 표 참고 |
CMwMhM0600 |
MMS | 슬라이드형(Medium, 6장) | Carousel Medium | 6 | 2 | 글자/라인수 정의 표 참고 |
CMwShS0200 |
MMS | 슬라이드형(Small, 2장) | Carousel Small | 2 | 2 | 글자/라인수 정의 표 참고 |
CMwShS0300 |
MMS | 슬라이드형(Small, 3장) | Carousel Small | 3 | 2 | 글자/라인수 정의 표 참고 |
CMwShS0400 |
MMS | 슬라이드형(Small, 4장) | Carousel Small | 4 | 2 | 글자/라인수 정의 표 참고 |
CMwShS0500 |
MMS | 슬라이드형(Small, 5장) | Carousel Small | 5 | 2 | 글자/라인수 정의 표 참고 |
CMwShS0600 |
MMS | 슬라이드형(Small, 6장) | Carousel Small | 6 | 2 | 글자/라인수 정의 표 참고 |
OMHITV0001 |
MMS (신규) | 이미지 & 타이틀 강조형 (3:4) | - | 1 | 2 | 150 |
OMHITS0001 |
MMS (신규) | 이미지 & 타이틀 강조형 (1:1) | - | 1 | 2 | 150 |
OMHIMV0001 |
MMS (신규) | 이미지 강조형 (3:4) | - | 1 | 2 | 150 |
OMHIMS0001 |
MMS (신규) | 이미지 강조형 (1:1) | - | 1 | 2 | 150 |
OMTBNV0001 |
MMS (신규) | 썸네일형 (세로) | - | 1 | 2 | 150 |
OMTBNH0001 |
MMS (신규) | 썸네일형 (가로) | - | 1 | 2 | 150 |
OMSNSS0001 |
MMS (신규) | SNS형 | - | 1 | 2 | 150 |
OMSNSH0001 |
MMS (신규) | SNS형 | - | 1 | 2 | 150 |
카드 장수가 2 이상인 슬라이드형(Carousel)의 본문 글자수는 고정값이 아니라 아래 카드 유형별 글자수/라인수 정의 표를 따릅니다.
템플릿군 (접두 코드별)
| 시작 접두 | 상품/구분 | 템플릿 유형 | 카드 장수 | 카드별 최대 버튼 수 | 최대 본문 글자 수 |
|---|---|---|---|---|---|
UBR 로 시작 |
템플릿별 상이 (텍스트 템플릿) | 서술(description) | 1 | 2 | 90 |
UBR 로 시작 |
템플릿별 상이 (텍스트 템플릿) | 스타일(cell) | 1 | 2 | 90 |
UBR 로 시작 |
템플릿별 상이 (텍스트 템플릿) | 기본(free) | 1 | 0 | 90 |
IBR 로 시작 |
템플릿별 상이 (이미지 템플릿) | 신규 MMS 동일 (8종) | 1 | 2 | 1000 |
LBR 로 시작 |
템플릿별 상이 (LMS 템플릿) | LMS 템플릿 (4종) | 1 | 2 | 1300 |
- 포토 여부 / 타이틀 글자 수 / 버튼 개수에 따라 입력 가능한 본문 글자 수가 상이할 수 있습니다.
- 이미지 사이즈 규격이 일치해야 정상적으로 발송됩니다.
카드 유형별 글자수 / 라인수 정의
- 글자 수: 1줄당 정상적으로 표현 가능한 글자 수, 한글 '가' 기준 측정
- 줄(라인) 수: expand 없이 메시지 버블 최대 크기에서 표현 가능한 description 줄 수
LMS (Standalone, No media)
[글자 수]
| 항목 | 타이틀 | 디스크립션 | 버튼명 |
|---|---|---|---|
| 글자 수 | 16 | 18 | 17 |
[줄 수 (접혀있는 경우)]
| 구성 | 버튼 0개 | 버튼 1개 | 버튼 2개 | 버튼 3개 |
|---|---|---|---|---|
| 디스크립션 only | 28 | 26 | 24 | 22 |
| 타이틀 1줄 + 디스크립션 | 27 | 25 | 23 | 20 |
| 타이틀 2줄 + 디스크립션 | 26 | 23 | 21 | 19 |
MMS (Standalone Media Top — 세로형)
[글자 수]
| 항목 | 타이틀 | 디스크립션 | 버튼명 |
|---|---|---|---|
| 글자 수 | 16 | 18 | 17 |
[줄 수 (Media Tall 인 경우, 접혀있는 경우)]
| 구성 | 버튼 0개 | 버튼 1개 | 버튼 2개 |
|---|---|---|---|
| 디스크립션 only | 9 | 8 | 6 |
| 타이틀 1줄 + 디스크립션 | 8 | 6 | 4 |
| 타이틀 2줄 + 디스크립션 | 7 | 5 | 3 |
[줄 수 (Media Medium 인 경우, 접혀있는 경우)]
| 구성 | 버튼 0개 | 버튼 1개 | 버튼 2개 |
|---|---|---|---|
| 디스크립션 only | 15 | 13 | 11 |
| 타이틀 1줄 + 디스크립션 | 14 | 12 | 10 |
| 타이틀 2줄 + 디스크립션 | 13 | 11 | 9 |
MMS (Carousel Medium — 슬라이드형)
[글자 수]
| 항목 | 타이틀 | 디스크립션 | 버튼명 |
|---|---|---|---|
| 글자 수 | 13 | 14 | 13 |
[줄 수 (Media 없는 경우, RCS A2P 단말 기준)]
| 구성 | 버튼 0개 | 버튼 1개 | 버튼 2개 |
|---|---|---|---|
| 디스크립션 only | 28 | 26 | 23 |
| 타이틀 1줄 + 디스크립션 | 27 | 25 | 23 |
| 타이틀 2줄 + 디스크립션 | 26 | 23 | 21 |
| 타이틀 3줄 + 디스크립션 | 24 | 22 | 20 |
[줄 수 (Media Medium 인 경우, RCS A2P 단말 기준)]
| 구성 | 버튼 0개 | 버튼 1개 | 버튼 2개 |
|---|---|---|---|
| 디스크립션 only | 17 | 15 | 13 |
| 타이틀 1줄 + 디스크립션 | 16 | 14 | 12 |
| 타이틀 2줄 + 디스크립션 | 15 | 13 | 11 |
| 타이틀 3줄 + 디스크립션 | 14 | 12 | 10 |
MMS (Carousel Small — 슬라이드형)
[글자 수]
| 항목 | 타이틀 | 디스크립션 | 버튼명 |
|---|---|---|---|
| 글자 수 | 5 | 6 | 5 |
[줄 수 (Media Short 인 경우, RCS A2P 단말 기준)]
| 구성 | 버튼 0개 | 버튼 1개 | 버튼 2개 |
|---|---|---|---|
| 디스크립션 only | 20 | 18 | 16 |
| 타이틀 1줄 + 디스크립션 | 19 | 17 | 15 |
| 타이틀 2줄 + 디스크립션 | 18 | 16 | 14 |
| 타이틀 3줄 + 디스크립션 | 17 | 15 | 13 |
| 타이틀 4줄 + 디스크립션 | 16 | 14 | 12 |
| 타이틀 5줄 + 디스크립션 | 15 | 13 | 11 |
통합 RCS
통합 RCS 는 단말 제조사 상관없이 국내 이통 3사에서 제공하는 RCS 표준 규격입니다. (안드로이드, iOS 26 버전 이상 지원)
통합 RCS — MESSAGEBASE_ID
| MESSAGEBASE_ID | 상품 | 유형명 | 최대 버튼 수 | 최대 본문 글자 수 |
|---|---|---|---|---|
RPSSAXX001 |
RCS SMS | 통합 SMS 카드 | 1 | 100 |
RPLSAXX001 |
RCS LMS | 통합 LMS 카드 | 3 | 1300 |
RPMSMMX001 |
RCS MMS | 통합 MMS 카드 M | 2 | 1300 |
RPMSMTX001 |
RCS MMS | 통합 MMS 카드 T | 2 | 1300 |
| 브랜드별 자동 발급* | 텍스트 템플릿 | 통합 프리 템플릿 | - | 90 |
| 템플릿 등록 필요 | 텍스트 템플릿 | 통합 정보성 템플릿 | - | 90 |
| 템플릿 등록 필요 | 이미지 템플릿 | 통합 이미지 템플릿 M | - | 500 |
| 템플릿 등록 필요 | 이미지 템플릿 | 통합 이미지 템플릿 T | - | 500 |
* 프리템플릿
- 브랜드마다 "통합 프리 템플릿" 1개가 자동 발급됩니다. (기존 발급된 프리 템플릿은 2026년 7월 31일까지 동시 이용 가능)
- 사전 등록 없이 자동 발급되는 정보성 템플릿입니다. 각 브랜드의 통합 프리 템플릿
messagebase ID는 RBC 접속하여 템플릿 목록에서 확인할 수 있습니다.
통합 RCS 기본 정보 (안드로이드 RCS 와의 분기)
| 키 | 설명 |
|---|---|
HEADER |
"0"만 허용, "1" 입력 시 실패 처리됨. "(광고)" 표시 기능 지원되지 않음 |
FOOTER |
사용하지 않는 값입니다. |
COPY_ALLOWED |
사용하지 않는 값입니다. |
title (RCS_BODY) |
광고 메시지인 경우 "(광고)" 표기 |
description (RCS_BODY) |
광고 메시지인 경우 본문 끝에 무료수신거부 방식 표기 필요 |
MESSAGE
메시지 본문(RCS_BODY)과 첨부 미디어(media) 규격입니다.
RCS_BODY 는 사용하는 MESSAGEBASE_ID(메시지 포맷)의 유형에 따라 입력 키가 달라집니다. 모든 값은 string 타입입니다.
1. 리치카드 넘버링형 (신규 MMS 제외)
| 키 | 필수 | 설명 |
|---|---|---|
media |
N | main 첨부파일 |
title |
N | main 제목 |
description |
N | main 내용 |
title1 |
N | 1번째 카드 제목 |
description1 |
N | 1번째 카드 본문 텍스트 |
media1 |
N | 1번째 카드 첨부파일 |
리치카드 개수·순서에 따라 넘버링합니다 (
title1,title2…).
2. 이미지 & 타이틀 강조형 (신규 MMS · 이미지 템플릿)
| 키 | 필수 | 설명 |
|---|---|---|
media |
Y | 이미지 (*이미지 템플릿 발송 시 불필요) |
mediaUrl |
N | 이미지 클릭 시 랜딩 URL |
title |
N | 제목 |
subTitle1 |
Y | 소제목 1 |
subDesc1 |
Y | 소본문 1 |
3. 이미지 강조형 · SNS형 (신규 MMS · 이미지 템플릿)
| 키 | 필수 | 설명 |
|---|---|---|
media |
Y | 이미지 (*이미지 템플릿 발송 시 불필요) |
mediaUrl |
N | 이미지 클릭 시 랜딩 URL |
title |
N | 제목 |
description |
Y | 본문 |
4. 썸네일형 (세로) (신규 MMS · 이미지 템플릿)
| 키 | 필수 | 설명 |
|---|---|---|
media |
Y | main 첨부파일 (*이미지 템플릿 발송 시 불필요) |
mediaUrl |
N | 이미지 클릭 시 랜딩 URL |
title |
N | 제목 |
description |
N | 본문 |
subMedia1 |
Y | 서브 이미지 1 |
subMediaUrl1 |
N | 서브 이미지 1 클릭 시 랜딩 URL |
subDesc1 |
Y | 소본문 1 |
리치카드 개수·순서에 따라 넘버링합니다 (
subMedia1,subMedia2…).
5. 썸네일형 (가로) (신규 MMS · 이미지 템플릿)
| 키 | 필수 | 설명 |
|---|---|---|
media |
Y | main 첨부파일 (*이미지 템플릿 발송 시 불필요) |
mediaUrl |
N | 이미지 클릭 시 랜딩 URL |
title |
N | 제목 |
description |
N | 본문 |
subMedia1 |
Y | 서브 이미지 1 |
subMediaUrl1 |
N | 서브 이미지 1 클릭 시 랜딩 URL |
RCS_BODY 넘버링 규칙
카드가 1개면 넘버 없이, 2개 이상이면 카드 순서대로 1, 2 … 를 키 뒤에 붙입니다.
// 카드 1개
{
"title": "카드",
"media": "등록된 이미지 URL",
"description": "안녕하세요!"
}
// 카드 2개 이상
{
"title1": "카드",
"media1": "등록된 이미지 URL",
"description1": "안녕하세요!",
"title2": "카드2",
"media2": "등록된 이미지 URL",
"description2": "안녕하세요!"
}
통합 RCS LMS (MESSAGEBASE_ID = RPLSAXX001) 예시:
{
"title": "줄바꿈 없는 14자 권장, 최대 30자",
"description": "(광고)\n안녕하세요! RCS LMS\n무료 수신 거부 080-1234-5678"
}
media 종류
1. 이미지
비즈뿌리오 사이트 [메시지관리] – [RCS 관리] – [RCS 이미지 관리] 에서 등록한 이미지를 사용합니다.
이미지는 등록일로부터 365일간 발송 가능하며 이후 자동 삭제됩니다.
| 항목 | 값 |
|---|---|
| 포맷 | maapfile://{fileId} |
| 예시 | "media": "maapfile://..." |
2. 동영상 스트리밍
- 3가지 형태의 YouTube URL 주소를 지원하며, 정확한 형식을 준수해야 합니다 (일부만 일치하면 실패).
- 동영상 썸네일은 등록된 이미지만 사용 가능하며, YouTube URL 뒤에 콤마(
,)와 함께 입력합니다. 콤마 외 공백을 포함하면 실패합니다. - 동영상 발송 시 Footer 에
동영상 재생 시 데이터 요금제가 적용됩니다.문구가 자동 삽입됩니다.
| 항목 | 값 |
|---|---|
| 포맷 | https://www.youtube.com/watch?v=[videoId],maapfile://{썸네일 fileId} |
| 포맷 | https://youtu.be/[videoId],maapfile://{썸네일 fileId} |
| 포맷 | https://m.youtube.com/watch?v=[videoId],maapfile://{썸네일 fileId} |
| 예시 | "media1": "https://www.youtube.com/watch?v=...,maapfile://..." |
BUTTON
RCS 에 버튼 링크를 추가할 경우 BIZ_RCS.BUTTONS 필드에 아래 JSON 구조로 입력합니다.
ℹ️ 외부 컬럼 키는 대문자
BUTTONS이지만, JSON 내부 키는 소문자suggestions/action을 사용합니다 (JSON KEY 대소문자 구분).
| 단계 | 키 | 타입 | 필수 | 설명 |
|---|---|---|---|---|
| BUTTONS | suggestions |
Array | N | 버튼 묶음 |
| suggestions | action |
Object | Y | 버튼 동작 |
| action | [Action 타입] |
Object | Y | 아래 Action 타입 중 하나 |
| action | displayText |
text | Y | 버튼에 출력될 텍스트 |
| action | postback |
Object | N | 콜백 데이터 |
| postback | data |
text | Y | postback 데이터 |
Action 타입
| # | Action | 동작 | 중첩 필드 |
|---|---|---|---|
| 1 | urlAction |
URL 연결하기 | openUrl → url |
| 2 | dialerAction |
전화 연결하기 | dialPhoneNumber → phoneNumber |
| 3 | mapAction |
지도 보여주기 | showLocation → location(query / latitude / longitude / label), fallbackUrl |
| 4 | mapAction |
현재 위치 공유하기 | requestLocationPush |
| 5 | calendarAction |
캘린더 등록 | createCalendarEvent → startTime / endTime / title / description |
| 6 | composeAction |
메시지 전송 | composeTextMessage → phoneNumber / text |
| 7 | clipboardAction |
복사하기 | copyToClipboard → text |
BUTTONS 카드 패딩 규칙
BUTTONS 배열은 카드 수만큼 요소를 가집니다. 버튼이 없는 카드는 빈 객체 {} 로 패딩합니다.
예) 카드 3장에 버튼이 각각 2개 / 0개 / 1개인 경우:
{
"buttons": [
{ "suggestions": [
{ "action": {
"urlAction": { "openUrl": { "url": "https://..." } },
"displayText": "Open website or deep link",
"postback": { "data": "set_by_chatbot_open_url" }
}},
{ "action": {
"urlAction": { "openUrl": { "url": "https://..." } },
"displayText": "Open website or deep link",
"postback": { "data": "set_by_chatbot_open_url_2" }
}}
]},
{},
{ "suggestions": [
{ "action": {
"urlAction": { "openUrl": { "url": "https://..." } },
"displayText": "Open website or deep link",
"postback": { "data": "set_by_chatbot_open_url_2" }
}}
]}
]
}
카카오 연동 규격
BIZCLIENT 카카오 발송(알림톡·브랜드메시지)의 ATTACHMENT JSON 상세 규격과 발송 예시입니다. 각 발송 페이지(알림톡·브랜드메시지)에서 이 페이지를 참조합니다.
알림톡
알림톡 발송 시 ATTACHED_FILE 로 첨부하는 ATTACHMENT JSON 규격입니다.
ATTACHMENT JSON 최상위 구조
| 키 | 타입 | 설명 |
|---|---|---|
button |
BUTTON[] | 버튼 배열 (최대 5개) |
item_highlight |
ITEMHIGHLIGHT | 아이템 하이라이트 |
item |
ITEM | 아이템리스트와 요약정보 |
extra |
EXTRA | 추가 기능 (강조표기·바로연결·헤더·대표링크·msg_type AT/AI 구분 등) |
알림톡 버튼
ATTACHMENT JSON · button[] 필드
JSON 파일 최상위 button 은 배열이며 최대 5개. 바로연결(extra.supplement.quick_reply) 사용 시 버튼은 2개로 제한.
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
name |
text(14) | Y | 버튼 제목. AC 타입인 경우 채널 추가 로 고정 |
type |
text(2) | Y | 버튼 타입 (아래 [버튼 타입] 참조) |
url_pc |
text | - | PC 환경에서 버튼 클릭 시 이동할 URL |
url_mobile |
text | - | Mobile 환경에서 버튼 클릭 시 이동할 URL |
scheme_ios |
text | - | Mobile iOS 환경에서 버튼 클릭 시 실행할 Application Custom Scheme |
scheme_android |
text | - | Mobile Android 환경에서 버튼 클릭 시 실행할 Application Custom Scheme |
chat_extra |
text(50) | - | 상담톡/봇 전환 시 전달할 메타정보 |
chat_event |
text(50) | - | 봇 전환 시 연결할 봇 이벤트명 |
plugin_id |
text(24) | - | 플러그인 ID |
relay_id |
text | - | 플러그인 실행 시 X-Kakao-Plugin-Relay-Id 헤더로 전달받을 값 |
oneclick_id |
text | - | 원클릭 결제 플러그인에서 사용하는 결제 정보 |
product_id |
text | - | 원클릭 결제 플러그인에서 사용하는 결제 정보 |
biz_form_id |
text | - | 카카오 비즈니스폼 ID (BF 타입) |
tel_number |
text(14) | - | 전화번호 (숫자·하이픈 포함 최대 14자). ex) 1234-5678, 12345678 |
map_address |
text | - | 지도보기 버튼 클릭 시 보여줄 주소. ex) 경기도 성남시 분당구 판교역로 166 |
map_coordinates |
text | - | 지도보기 버튼 클릭 시 보여줄 위경도 좌표. map_address 와 함께 입력 시 map_address 우선. ex) 37.3955,127.1103 |
버튼 타입
type |
설명 | 사용 가능 파라미터 | 필수 파라미터 |
|---|---|---|---|
WL |
지정한 웹 링크로 이동 | name type url_mobile url_pc |
name type url_mobile |
AL |
지정한 앱 스킴 또는 웹 링크로 이동 | name type scheme_android scheme_ios url_mobile url_pc |
name type (다음 중 2가지 이상) scheme_android scheme_ios url_mobile |
DS |
버튼 클릭 시 배송조회 페이지로 이동 | name type |
name type |
BK |
해당 버튼 텍스트 발송 | name type |
name type |
MD |
해당 버튼 텍스트 + 메시지 본문 발송 | name type |
name type |
BC |
상담톡을 이용하는 카카오톡 채널만 이용 가능 | name type chat_extra |
name type |
BT |
카카오 I 오픈빌더의 챗봇을 사용하는 카카오톡 채널만 이용 가능 | name type chat_extra chat_event |
name type |
AC |
버튼 클릭 시 카카오톡 채널 추가 | name type |
name type |
P1 |
이미지 보안 전송 플러그인 | name type |
name type |
P2 |
개인정보이용 플러그인 | name type |
name type |
P3 |
원클릭 결제 플러그인 | name type |
name type (다음 중 1가지 이상) oneclick_id product_id |
BF |
카카오 비즈니스폼을 실행 | name type biz_form_id |
name type biz_form_id |
TN |
전화 앱 실행 (모바일 환경에서만 이용 가능) | name type tel_number |
name type tel_number |
MP |
버튼 클릭 시 지도 보기 | name type map_address map_coordinates |
name type (다음 중 1가지 이상) map_address map_coordinates |
item_highlight 필드 (아이템 하이라이트, JSON · N)
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
title |
text(30) | Y | 타이틀 (이미지가 있는 경우 최대 21자). 내용 마지막에 \s 플래그 포함 시 취소선 스타일 적용 |
description |
text(19) | Y | 부가정보 (이미지가 있는 경우 최대 13자) |
item 필드 (아이템리스트 + 요약정보, JSON · N)
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
list |
array | N | 아이템리스트 (최소 2개 ~ 최대 10개) |
list[].title |
text(6) | Y | 타이틀 |
list[].description |
text(23) | Y | 부가정보 |
summary |
json | N | 아이템 요약정보 |
summary.title |
text(6) | Y | 타이틀 |
summary.description |
text(14) | Y | 가격정보. 허용 문자: 통화기호(유니코드 통화기호, 元/円/원), 통화코드(ISO 4217), 숫자, 콤마, 소수점, 공백. 소수점 2자리까지 허용 |
extra 필드 (추가 기능, JSON)
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
title |
text(50) | - | 템플릿 내용 중 강조 표기할 핵심 정보 (강조표기) |
supplement |
json | - | 메시지에 첨부할 바로연결 (아래 [supplement] 참조) |
price |
number | - | 모먼트 광고 전환 최적화 전용. 메시지 내 포함된 가격/금액/결제금액 |
currency_type |
text(3) | - | 모먼트 광고 전환 최적화 전용. 가격/금액/결제금액의 통화단위. KRW·USD·EUR 등 국제 통화 코드 |
header |
text(16) | - | 메시지 상단에 표기할 제목 |
msg_type |
text | N | 카카오 발송 유형 (AT: 알림톡, AI: 이미지 알림톡). 이미지(IMAGE) 강조 유형 템플릿은 AI 필수 입력 |
link |
json | N | 대표 링크 (아래 필드) |
link.url_mobile |
text | - | Mobile 환경에서 클릭 시 이동할 URL |
link.url_pc |
text | - | PC 환경에서 클릭 시 이동할 URL |
link.scheme_android |
text | - | Mobile Android 환경에서 클릭 시 실행할 Application Custom Scheme |
link.scheme_ios |
text | - | Mobile iOS 환경에서 클릭 시 실행할 Application Custom Scheme |
알림톡 바로연결
extra.supplement 필드 (바로연결)
바로연결은 알림톡 하단에 가로 슬라이드 형태로 표시되며 웹/앱 연결·상담톡 전환 등을 호출하는 기능. 상담톡 또는 챗봇을 사용하는 발신프로필만 이용 가능. 최대 10개까지 사용 가능하며, 사용 시 버튼 개수는 2개로 제한.
supplement.quick_reply[] 필드:
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
name |
text(14) | Y | 바로연결 제목 |
type |
text(2) | Y | 바로연결 타입 (아래 [바로연결 타입] 참조) |
scheme_android |
text | - | Mobile Android 환경에서 바로연결 클릭 시 실행할 Application Custom Scheme |
scheme_ios |
text | - | Mobile iOS 환경에서 바로연결 클릭 시 실행할 Application Custom Scheme |
url_mobile |
text | - | Mobile 환경에서 바로연결 클릭 시 이동할 URL |
url_pc |
text | - | PC 환경에서 클릭 시 이동할 URL |
chat_extra |
text(50) | - | 상담톡/봇 전환 시 전달할 메타정보 |
chat_event |
text(50) | - | 봇 전환 시 연결할 봇 이벤트명 |
바로연결 타입
type |
설명 | 사용 가능 파라미터 | 필수 파라미터 |
|---|---|---|---|
WL |
지정한 웹 링크로 이동 | name type url_mobile url_pc |
name type url_mobile |
AL |
지정한 앱 스킴 또는 웹 링크로 이동 | name type scheme_android scheme_ios url_mobile url_pc |
name type (다음 중 2가지 이상) scheme_android scheme_ios url_mobile |
BK |
해당 버튼 텍스트 발송 | name type |
name type |
BC |
상담톡을 이용하는 카카오톡 채널만 이용 가능 | name type chat_extra |
name type |
BT |
카카오 I 오픈빌더의 챗봇을 사용하는 카카오톡 채널만 이용 가능 | name type chat_extra chat_event |
name type |
BF |
카카오 비즈니스폼을 실행 | name type biz_form_id |
name type biz_form_id |
강조표기 / 아이템리스트 규칙
- 강조표기 (
extra.title): 템플릿 내용 중 강조 표기할 핵심 정보. 강조 표기 타이틀은 최대 50자, 알림톡 본문(1000자)에 포함되지 않음. - 이미지·아이템리스트: 기본 텍스트 알림톡에 (이미지 / 헤더 / 아이템 하이라이트 / 아이템리스트 / 아이템 요약정보) 5개 항목이 추가 구성. 이미지·헤더·아이템 하이라이트 영역을 필요에 따라 1개 이상 필수 선택하여 템플릿 등록. 템플릿당 고정 이미지만 사용 가능. 아이템리스트는 최소 2개 ~ 최대 10개.
msg_type: 알림톡 템플릿 강조 유형이 이미지형(IMAGE)인 경우에만msg_type을AI로 설정해야 발송 가능. (아이템리스트형이고 이미지가 포함된 경우AI로 설정 시 발송 실패)
ATTACHMENT JSON 예시
버튼 (button.json):
{
"button": [
{ "name": "미리 주문하기", "type": "WL", "url_mobile": "http://www.bizppurio.com" },
{ "name": "상담원 연결하기", "type": "MD" },
{ "name": "방송 알림 설정 보기", "type": "AL", "scheme_android": "daumapps://open", "scheme_ios": "daumapps://open" }
]
}
바로연결 (quick_reply.json):
{
"button": [
{ "name": "비즈뿌리오 바로가기", "type": "WL", "url_mobile": "https://www.bizppurio.com/" }
],
"extra": {
"supplement": {
"quick_reply": [
{ "name": "비즈뿌리오", "type": "WL", "url_mobile": "https://www.bizppurio.com/" },
{ "name": "봇키워드하기", "type": "BK" },
{ "name": "메시지전달하기", "type": "MD" },
{ "name": "상담톡전환", "type": "BC" }
]
}
}
}
강조표기 (title.json, 버튼 없는 경우):
{
"extra": { "title": "입금 123,456 원" }
}
강조표기 (title.json, 버튼 있는 경우):
{
"button": [
{ "name": "채널 추가", "type": "AC" }
],
"extra": { "title": "입금 123,456 원" }
}
이미지형 (alimtalk_image.json):
{
"extra": { "msg_type": "AI" }
}
아이템리스트형 — 헤더 + 아이템리스트 + 요약정보 (alimtalk_item_list.json):
{
"item": {
"list": [
{ "title": "가입일자", "description": "2021.5.23" },
{ "title": "이름", "description": "김카카오" }
],
"summary": { "title": "구매가격", "description": "18,000 원" }
},
"extra": { "header": "카카오 가입을 환영합니다.", "msg_type": "AT" }
}
아이템리스트형 — 버튼 + 이미지 + 아이템 하이라이트 (alimtalk_item_list_button.json):
{
"button": [
{ "name": "채널 추가", "type": "AC" }
],
"item_highlight": { "title": "가입 환영 포인트", "description": "10,000P" }
}
브랜드메시지
브랜드메시지 소개
ATTACHMENT JSON extra (snake_case)
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
chat_bubble_type |
text | Y | TEXT / IMAGE / WIDE / WIDE_ITEM_LIST / CAROUSEL_FEED / PREMIUM_VIDEO / COMMERCE / CAROUSEL_COMMERCE |
brand_message_type |
text | Y | BASIC (기본형) / FREE (자유형) |
send_target |
text | Y | 발송 대상 — marketing (고객사의 광고성 정보 수신동의 회원) / friend (채널 친구) |
targeting |
text | N | 타겟팅 — send_target=marketing 일 때만 필수(발송 권한 신청 필요), friend 일 때 미사용. M 광고성 수신동의 회원 / N 수신동의 회원 ∖ 채널 친구 / O 수신동의 회원 ∩ 채널 친구 |
push_alarm |
text(1) | N | Y/N (기본 Y) |
group_tag_key |
text(40) | N | 그룹태그 키 (자유형) — 등록 시 템플릿 통계 확인 가능 |
message_variable |
object | N | 메시지 영역 변수 (key=템플릿 변수명, value=치환값) |
button_variable |
object | N | 버튼 링크 변수 |
coupon_variable |
object | N | 쿠폰 링크 변수 |
image_variable |
array | N | 이미지 변수 |
video_variable |
object | N | 비디오 변수 (PREMIUM_VIDEO 전용) |
commerce_variable |
object | N | 커머스 변수 (COMMERCE 전용) |
carousel_variable |
array | N | 캐러셀 변수 배열 |
unsubscribe_phone_number |
text(13) | N | 무료수신거부 전화번호 — send_target=marketing 일 때만 사용 (예: 080-1234-1234) |
unsubscribe_auth_number |
text(10) | N | 무료수신거부 인증번호 — marketing 일 때만 사용, unsubscribe_phone_number 없이 단독 입력 불가 |
header |
text(25) | N | 헤더. WIDE_ITEM_LIST 최대 20자(BASIC 최소 1자)·PREMIUM_VIDEO 최대 20자, 둘 다 줄바꿈 불가 |
additional_content |
text(34) | N | 부가정보. COMMERCE 최대 34자(공백 포함, 줄바꿈 ≤1) |
adult |
text(1) | N | 성인용 메시지 여부 Y/N. 기본값 N (자유형(FREE) 전용) |
carousel |
json | N | 캐러셀 객체. CAROUSEL_FEED / CAROUSEL_COMMERCE 시 필수. 아래 CAROUSEL 참조 |
chat_bubble_type 8종 · 본문 영역(message) 글자수
extra.chat_bubble_type 으로 말풍선 형태를 지정한다. 본문 텍스트는 MSG_BODY 컬럼(=message)에 넣는다.
| chat_bubble_type | 설명 | message(=MSG_BODY) | image | item | video | commerce | carousel |
|---|---|---|---|---|---|---|---|
TEXT |
텍스트 | 필수, 최대 1,300자 (줄바꿈 ≤99, URL 가능) | - | - | - | - | - |
IMAGE |
이미지 | 필수, 최대 1,300자 (줄바꿈 ≤99, URL 가능) | 필수 | - | - | - | - |
WIDE |
와이드 이미지 | 필수, 최대 76자 (줄바꿈 ≤5) | 필수 | - | - | - | - |
WIDE_ITEM_LIST |
와이드 리스트 | 사용 안 함 | - | 필수 | - | - | - |
PREMIUM_VIDEO |
프리미엄 동영상 | 선택, 최대 76자 (줄바꿈 ≤5) | - | - | 필수 | - | - |
COMMERCE |
커머스 | 사용 안 함 | 필수 | - | - | 필수 | - |
CAROUSEL_FEED |
캐러셀 피드 | 사용 안 함 | - | - | - | - | 필수 |
CAROUSEL_COMMERCE |
캐러셀 커머스 | 사용 안 함 | - | - | - | - | 필수 |
unsubscribe_phone_number/unsubscribe_auth_number는 둘 다 미입력 시 발신프로필에 등록된 무료수신거부 정보로 발송된다.unsubscribe_phone_number없이unsubscribe_auth_number만 입력은 불가.
전문방식 본문 객체 스키마 (brand_message_type=BASIC)
전문방식은 등록된 템플릿 구조를 기준으로 본문 객체를 직접 전송한다. 변수가 존재하는 영역의 정보만 전달하고(변수 없는 영역은 생략), 변수가 있는 버튼을 보낼 때는 type 필드를 함께 전달한다(변수 없는 버튼도 type 필요).
image (json) — IMAGE·WIDE·COMMERCE 필수
| 키 | 타입 | 필수(BASIC / FREE) | 설명 |
|---|---|---|---|
img_url |
text | (BASIC: N) / FREE: Y | 이미지 업로드 API로 등록한 이미지 URL |
img_link |
text(1000) | N | 이미지 클릭 시 이동 URL. 미설정 시 카카오톡 내 이미지 뷰어 사용 |
item (json) — WIDE_ITEM_LIST 필수 (ITEM 구조)
item.list[] 배열. 와이드 아이템 목록.
| 키 | 타입 | 필수(BASIC / FREE) | 설명 |
|---|---|---|---|
list |
array | (BASIC: N) / FREE: Y | 와이드 아이템 목록 |
list[].title |
text(25) | 조건부 | 아이템 제목. 1번째 최대 25자, 2~5번째 최대 30자 (줄바꿈 ≤1) |
list[].img_url |
text | (BASIC: N) / FREE: Y | 아이템 이미지 URL |
list[].url_mobile |
text(1000) | (BASIC: N) / FREE: Y | Mobile 클릭 시 이동 URL |
list[].url_pc |
text(1000) | N | PC 클릭 시 이동 URL |
list[].scheme_android |
text(1000) | N | Android custom scheme |
list[].scheme_ios |
text(1000) | N | iOS custom scheme |
coupon (json) — 메시지 최하단에 쿠폰 추가
채널 쿠폰 URL(포맷 alimtalk=coupon://) 사용 시 scheme_android·scheme_ios 중 하나 필수. 기본 쿠폰 사용 시 url_mobile 필수.
| 키 | 타입 | 필수(BASIC / FREE) | 설명 |
|---|---|---|---|
title |
text | (BASIC: N) / FREE: Y | 쿠폰 제목. 형식: ${숫자}원 할인쿠폰(1~99,999,999) / ${숫자}% 할인 쿠폰(1~100) / 배송비 할인 쿠폰 / ${7자 이내} 무료 쿠폰 / ${7자 이내} UP 쿠폰 |
description |
text | (BASIC: N) / FREE: Y | 쿠폰 설명. WIDE·WIDE_ITEM_LIST·PREMIUM_VIDEO 최대 18자, 그 외 최대 12자 (줄바꿈 불가) |
url_pc |
text(1000) | N | PC 클릭 시 이동 URL |
url_mobile |
text(1000) | 조건부 | Mobile 클릭 시 이동 URL |
scheme_android |
text(1000) | 조건부 | Android custom scheme |
scheme_ios |
text(1000) | 조건부 | iOS custom scheme |
변수분리 방식에서
coupon_variable에"ESCAPE_COUPON"을 넣으면 템플릿에 쿠폰이 있어도 말풍선에 포함하지 않는다.
commerce (json) — COMMERCE 필수
| 키 | 타입 | 필수(BASIC / FREE) | 설명 |
|---|---|---|---|
title |
text(30) | (BASIC: N) / FREE: Y | 상품 제목. 최대 30자 (줄바꿈 불가) |
regular_price |
number | (BASIC: N) / FREE: Y | 정상 가격 (0 ~ 99,999,999) |
discount_price |
number | N | 할인 후 가격 (0 ~ 99,999,999) |
discount_rate |
number | N | 할인율 (0 ~ 100). 할인가격 존재 시 discount_rate·discount_fixed 중 하나 필수 |
discount_fixed |
number | N | 정액 할인 가격 (0 ~ 999,999). 할인가격 존재 시 discount_rate·discount_fixed 중 하나 필수 |
video (json) — PREMIUM_VIDEO 필수
| 키 | 타입 | 필수(BASIC / FREE) | 설명 |
|---|---|---|---|
video_url |
text(500) | (BASIC: N) / FREE: Y | 카카오TV 동영상 URL |
thumbnail_url |
text(500) | 조건부 | 동영상 썸네일용 이미지 URL(이미지 업로드 API 등록). 없으면 기본 썸네일. 비공개 동영상이면 필수 |
브랜드메시지 버튼
개수 제약: TEXT·IMAGE = 쿠폰 적용 시 최대 4개·그 외 최대 5개 / WIDE·WIDE_ITEM_LIST = 최대 2개 / PREMIUM_VIDEO = 최대 1개 / COMMERCE = 최소 1개·최대 2개
| 키 | 타입 | 필수(BASIC / FREE) | 설명 |
|---|---|---|---|
name |
text(28) | (BASIC: 생략 가능) / FREE: Y | 버튼 제목. TEXT·IMAGE 최대 14자, 그 외 최대 8자 |
type |
text(2) | Y | 버튼 타입(AC/WL/AL/BK/MD/BC/BT/BF). 버튼 타입별 속성 참조 |
url_pc |
text(1000) | N | PC 클릭 시 이동 URL |
url_mobile |
text(1000) | 조건부 | Mobile 클릭 시 이동 URL |
scheme_ios |
text(1000) | 조건부 | iOS custom scheme |
scheme_android |
text(1000) | 조건부 | Android custom scheme |
chat_extra |
text | N | 상담톡↔카카오톡 챗봇 전환 시 전달 메타정보 (BC/BT) |
chat_event |
text | N | 카카오톡 챗봇 전환 시 연결할 이벤트명 (BT) |
biz_form_key |
text | N | 비즈니스폼 업로드로 발급받은 bizFormKey (BF) |
버튼 타입별 속성
| 타입 | 설명 | 사용 가능 파라미터 | 필수 파라미터 |
|---|---|---|---|
AC |
카카오톡 채널 추가(강조형 노란 버튼). TEXT·IMAGE는 첫 번째, 그 외 두 번째 버튼 위치. name은 "채널 추가" 고정. 캐러셀형은 전체 통틀어 1개. targeting M·N만 가능 |
name type |
name type |
WL |
지정한 웹 링크로 이동 | name type url_mobile url_pc |
name type url_mobile |
AL |
지정한 앱 스킴 또는 웹 링크로 이동 | name type scheme_android scheme_ios url_mobile url_pc |
name type (다음 중 2가지 이상) scheme_android scheme_ios url_mobile |
BK |
버튼 텍스트 발송 | name type |
name type |
MD |
버튼 텍스트 + 본문 발송 | name type |
name type |
BC |
상담톡 채널 전용 | name type chat_extra |
name type |
BT |
카카오 I 오픈빌더 챗봇 채널 전용 | name type chat_extra chat_event |
name type |
BF |
카카오 비즈니스폼 실행(강조형). AC 유무에 따라 위치 가변. name은 "톡에서 예약하기/설문하기/응모하기" 중 |
name type biz_form_key |
name type biz_form_key |
CAROUSEL 객체 (CAROUSEL_FEED · CAROUSEL_COMMERCE)
extra.carousel 하위 head(인트로) · list[](아이템) · tail(더보기)로 구성.
리스트 개수 규칙: 인트로(head) 사용 시 1~6개, 미사용 시 2~6개.
carousel.head (json) — 캐러셀 인트로 (선택)
| 키 | 타입 | 필수(BASIC / FREE) | 설명 |
|---|---|---|---|
header |
text(20) | (BASIC: N) / FREE: Y | 인트로 헤더 (줄바꿈 불가) |
content |
text(50) | (BASIC: N) / FREE: Y | 인트로 내용 (줄바꿈 ≤2) |
image_url |
text | (BASIC: N) / FREE: Y | 인트로 이미지 주소 |
url_mobile |
text(1000) | 조건부 | Mobile 클릭 시 이동 URL |
url_pc |
text(1000) | N | PC 클릭 시 이동 URL |
scheme_android |
text(1000) | N | Android custom scheme |
scheme_ios |
text(1000) | N | iOS custom scheme |
carousel.list[] (array) — 캐러셀 리스트
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
header |
text(20) | CAROUSEL_FEED 필수 / CAROUSEL_COMMERCE 사용불가 | 리스트 헤더. 최대 20자 (줄바꿈 불가) |
message |
text(180) | CAROUSEL_FEED 필수 / CAROUSEL_COMMERCE 사용불가 | 아이템 메시지. 최대 180자 (줄바꿈 ≤10) |
additional_content |
text(34) | N (CAROUSEL_FEED 사용불가) | 부가 정보. 최대 34자 (줄바꿈 ≤1) |
attachment |
json | Y | 아이템 이미지·버튼·쿠폰·커머스 정보 (아래) |
carousel.list[].attachment
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
button |
array | N | 캐러셀 리스트 버튼 목록. 최소 1개·최대 2개. 항목 키: name(필수, TEXT·IMAGE 14자/그 외 8자) · type(필수) · scheme_android · scheme_ios · url_mobile · url_pc · chat_extra · chat_event · biz_form_key |
image |
json | CAROUSEL_FEED 필수 | img_url(필수, 캐러셀 썸네일 이미지 주소) · img_link(클릭 시 이동 URL, 미설정 시 이미지 뷰어) |
coupon |
json | N | 캐러셀 리스트 최하단 노출. 키 구성은 본문 coupon 과 동일(title·description·url_·scheme_) |
commerce |
json | CAROUSEL_COMMERCE 필수 / CAROUSEL_FEED 사용불가 | 본문 commerce 와 동일(title·regular_price·discount_price·discount_rate·discount_fixed) |
carousel.tail (json) — 더보기 버튼 (선택)
| 키 | 타입 | 필수 | 설명 |
|---|---|---|---|
url_mobile |
text(1000) | Y | Mobile 클릭 시 이동 URL |
url_pc |
text(1000) | N | PC 클릭 시 이동 URL |
scheme_ios |
text(1000) | N | iOS custom scheme |
scheme_android |
text(1000) | N | Android custom scheme |
채널 친구 대상(send_target=friend) 차이점
대부분 marketing 과 동일하며 차이만 정리한다.
extra.send_target: friend입력 필수.targeting불필요.- 변수 미사용 발송 가능 —
extra(chat_bubble_type·brand_message_type·send_target) 만으로 발송. 변수 존재 시 전문방식 또는 변수분리 방식 선택. - 발신프로필 등록 후 바로 발송 가능(별도 권한 신청 불필요).