TAS 메시징 API 문서
휴머스온에서 제공하는 API 연동 방식으로 이메일, SMS, LMS, 카카오 알림톡을 발송하고
발송 결과를 조회할 수 있습니다.
발송 채널
이메일(EM), SMS(SM), LMS(LM), 알림톡(KA)
인증 방식
JSON Body의 tas_id + auth_key
응답 형식
JSON (UTF-8)
시작 가이드
API를 호출하기 전에 아래 항목을 모두 완료해야 합니다.
API Key 발급
모든 API 요청은 발급받은 인증키(auth_key)로 인증합니다.
인증키는 보안을 위해 화면에서 즉시 자동 발급되지 않으며, 1:1 문의를 통해 발급을 신청하면
담당자가 제출 서류를 확인한 뒤 발급해 드립니다.
발급 절차
-
www.tason.com에서 회원가입 후 로그인합니다.
-
1:1 문의로 API Key 발급을 신청하고, 아래 제출 서류를 함께 전달합니다.
-
담당자가 서류를 확인한 뒤 인증키를 발급합니다. 발급된 인증키는 마이페이지에서 조회할 수 있습니다.
제출 서류
| 서류 | 설명 |
| 사업자 등록번호 | API를 사용할 사업자(법인/개인사업자)의 사업자 등록번호 |
| 재직 증명서 | 신청자가 해당 사업자에 소속되어 있음을 증명하는 재직 증명서 |
발송 전 체크리스트
- TAS 회원가입 완료
- 인증키(auth_key) 발급 완료
- 발신 이메일 인증 완료 (이메일 발송 시)
- 발신번호 인증 완료 (SMS/LMS 발송 시)
- 잔액 충전 완료
- 알림톡 사용 시 추가 준비:
- 카카오 채널 생성
- 발신 프로필 승인
- 발송 템플릿 승인
API Quick Reference
TAS에서 제공하는 모든 API 엔드포인트입니다.
| 기능 |
Method |
URL |
설명 |
| 메일/SMS/LMS 발송 |
|
https://api.tason.com/tas-api/send |
이메일, SMS, LMS 메시지 발송 |
| 알림톡 발송 |
|
https://api.tason.com/tas-api/kakaosend |
카카오 알림톡 발송 |
| 발송 결과 조회 |
|
https://api.tason.com/tas-api/result |
발송 결과 조회 (전체/상세) |
공통 요청 규격
| 항목 | 내용 |
| 프로토콜 | HTTPS |
| Method | POST |
| Content-Type | application/json |
| 인코딩 | UTF-8 (SMS/LMS 바이트 제한은 EUC-KR 기준) |
| Timezone | KST (UTC+9) |
| 응답 형식 | JSON |
인증
⚠
모든 API는 Authorization Header를 사용하지 않습니다.
인증 정보는 반드시 Request Body(JSON)의 tas_id와
auth_key로 전달해야 합니다.
| 파라미터 |
필수 |
유형 |
설명 |
| tas_id |
필수 |
String |
TAS 접속 아이디 (tason.com 가입 이메일) |
| auth_key |
필수 |
String |
TAS에서 발급받은 인증키 |
인증 요청 예시
{
"tas_id": "test@humuson.com",
"auth_key": "발급받은 인증키",
"send_type": "SM",
"data": []
}
인증 실패 응답
{
"ERROR_CODE": "41",
"ERROR_MSG": "Wrong AuthKey OR User id"
}
공통 에러 응답 필드
인증 실패 또는 필수값 누락 시, 모든 API에서 아래 형식으로 에러가 반환됩니다.
| 필드 | 유형 | 설명 |
| ERROR_CODE | String | 에러 코드 (주로 "41") |
| ERROR_MSG | String | 에러 메시지 (아래 표 참조) |
공통 에러 ERROR_MSG 목록
| ERROR_MSG | 의미 |
| Required information | 필수값 누락 (tas_id, auth_key, send_type 등) |
| Wrong AuthKey OR User id | 잘못된 아이디 혹은 인증키 |
| Error check balance | 잔액 체크 중 에러 |
| Low balance | 잔액 없음 |
| Wrong send type | 지원하지 않는 발송 채널 |
| Low expected balance | 발송 건수 대비 잔액 부족 |
| Now allowed User | 발송이 제한된 계정 |
tas_id와 auth_key는 모든 API에서 필수이며, 두 값이 일치하지 않으면 위와 같은 에러가 반환됩니다.
메일/SMS/LMS 발송 API
https://api.tason.com/tas-api/send
이메일, SMS, LMS 메시지를 발송 요청하는 API입니다. 하나의 요청에 여러 수신자를
data 배열로 넣을 수 있으며, 각 수신자별로 발송 요청이 가능한 데이터만 큐에 등록됩니다.
채널 타입 (send_type)
| send_type |
채널 |
본문 제한 |
설명 |
| SM |
SMS |
90 BYTE (EUC-KR) |
단문 문자 발송 |
| LM |
LMS |
2,000 BYTE (EUC-KR) |
장문 문자 발송 |
| EM |
이메일 |
- |
이메일 발송. subject 필수 |
Body 파라미터
| 파라미터 |
필수 |
유형 |
설명 |
| tas_id | 필수 | String | 접속 아이디 |
| send_type | 필수 | String | SM, LM, EM 중 택 1 |
| auth_key | 필수 | String | 발급받은 인증키 |
| data[].user_name | 필수 | String | 수신자명 |
| data[].user_email | 필수 | String | 수신자 이메일 또는 휴대폰 번호 (아래 주의사항 참조) |
| data[].map_content | 필수 | String | 발송 내용 |
| data[].sender | 필수 | String | TAS에서 인증 완료된 발신 이메일 또는 번호 |
| data[].sender_name | 선택 | String | 발신자명 |
| data[].subject | 조건부 | String | 이메일(EM) 발송 시 필수. 메일 제목 |
주의사항
⚠
user_email은 공용 필드입니다.
이메일 발송 시에는 수신자 이메일 주소를, SMS/LMS 발송 시에는 수신자 휴대폰 번호(예: 01011112222)를 넣어야 합니다.
필드명이 email이지만 문자 발송에서도 사용되므로 주의하세요.
ℹ
sender는 TAS에서 인증된 값만 허용됩니다.
이메일은 발신메일 인증, 문자는 발신번호 인증이 완료된 값을 사용해야 합니다.
미인증 값 사용 시 WRONG_DATA로 반환됩니다.
💡
SMS/LMS 바이트 제한은 EUC-KR 기준입니다. 한글 1자 = 2바이트, 영문/숫자 1자 = 1바이트로 계산됩니다.
요청 예시
{
"tas_id": "test@humuson.com",
"send_type": "SM",
"auth_key": "발급받은 인증키",
"data": [
{
"user_name": "humuson",
"user_email": "01011112222",
"map_content": "안녕하세요, 테스트입니다.",
"sender": "025523874",
"sender_name": "TAS",
"subject": ""
}
]
}
curl 예시 - SMS 발송
curl -X POST https://api.tason.com/tas-api/send \
-H "Content-Type: application/json" \
-d '{
"tas_id": "test@humuson.com",
"send_type": "SM",
"auth_key": "YOUR_AUTH_KEY",
"data": [
{
"user_name": "홍길동",
"user_email": "01011112222",
"map_content": "테스트 문자입니다.",
"sender": "025523874"
}
]
}'
curl 예시 - 이메일 발송
curl -X POST https://api.tason.com/tas-api/send \
-H "Content-Type: application/json" \
-d '{
"tas_id": "test@humuson.com",
"send_type": "EM",
"auth_key": "YOUR_AUTH_KEY",
"data": [
{
"user_name": "홍길동",
"user_email": "user@example.com",
"map_content": "안녕하세요
테스트 메일입니다.
",
"sender": "noreply@humuson.com",
"sender_name": "TAS",
"subject": "테스트 메일 제목"
}
]
}'
응답 예시 (성공)
{
"MEM CNT": 1,
"WRONG_DATA": []
}
응답 예시 (일부 실패)
{
"MEM CNT": 1,
"WRONG_DATA": [
{
"WRONGMSG": "wrong sender data - 026713098 or blank receiver data",
"WRONGDATA": "test@example.com"
}
]
}
응답 필드
| 필드 | 유형 | 설명 |
| MEM CNT | Number | 발송 요청에 성공한 건수 (큐에 등록된 수신자 수) |
| WRONG_DATA | Array | 발송 요청에서 제외된 데이터 목록. 모두 성공이면 빈 배열 [] |
| ┗ WRONGMSG | String | 실패 사유 메시지 |
| ┗ WRONGDATA | String | 발송 요청되지 않은 수신자 이메일/번호 |
⚠
HTTP 200이라고 모든 요청이 성공한 것이 아닙니다.
WRONG_DATA가 존재하면 일부 요청은 접수되지 않은 것입니다.
클라이언트에서는 MEM CNT뿐 아니라 WRONG_DATA도 반드시 확인해야 합니다.
수신자별 검증 메시지 (WRONG_DATA)
| WRONGMSG | 의미 |
| ERROR_DATA : wrong sender data - {발신값} or blank receiver data | 발신 이메일/번호가 미인증이거나 수신값이 비어 있음 |
| need user_email | 수신자 이메일/번호 누락 |
| need user_name | 수신자명 누락 |
| need map_content | 발송 내용 누락 |
| need subject | 이메일(EM) 발송 시 제목 누락 |
| {수신값} too long SMS content.. | SMS 본문 90 BYTE 초과 (EUC-KR 기준) |
| {수신값} too long LMS content.. | LMS 본문 2,000 BYTE 초과 (EUC-KR 기준) |
카카오 알림톡 발송 API
https://api.tason.com/tas-api/kakaosend
카카오 비즈메시지 알림톡을 발송 요청하는 API입니다. 알림톡은 사전에 승인된 발신
프로필과 템플릿을 기반으로 발송되므로, 요청에는 템플릿 코드와 템플릿에 맞는 본문을
함께 전달해야 합니다.
Body 파라미터
| 파라미터 |
필수 |
유형 |
설명 |
| tas_id | 필수 | String | 접속 아이디 |
| send_type | 필수 | String | KA (고정값) |
| auth_key | 필수 | String | 발급받은 인증키 |
| data[].template_code | 필수 | String | 승인된 발송 템플릿 코드 |
| data[].user_name | 필수 | String | 수신자명 |
| data[].user_email | 필수 | String | 국가번호 포함 수신자 번호 (예: 821011112222) |
| data[].map_content | 필수 | String | 승인된 템플릿과 동일한 발송 내용 |
| data[].sender | 필수 | String | 발신번호 |
| data[].sender_name | 선택 | String | 발신자명 |
주의사항
⚠
send_type은 반드시 KA로 고정해야 합니다.
⚠
user_email에는 국가번호를 포함한 번호를 사용합니다.
예: 821011112222 (82 = 한국 국가번호 + 01011112222).
SMS/LMS와 달리 국가번호가 필요합니다.
⚠
map_content는 승인된 템플릿과 동일해야 합니다.
템플릿보다 과도하게 긴 내용은 스팸 의심으로 차단될 수 있으며,
이 경우 ERROR_CODE 41 / Internal Server Error가 반환됩니다.
요청 예시
{
"tas_id": "test@humuson.com",
"send_type": "KA",
"auth_key": "발급받은 인증키",
"data": [
{
"user_name": "홍길동",
"user_email": "821011112222",
"map_content": "안녕하세요, 테스트입니다.",
"sender": "025523874",
"sender_name": "TAS",
"template_code": "0000_0000"
}
]
}
curl 예시 - 알림톡 발송
curl -X POST https://api.tason.com/tas-api/kakaosend \
-H "Content-Type: application/json" \
-d '{
"tas_id": "test@humuson.com",
"send_type": "KA",
"auth_key": "YOUR_AUTH_KEY",
"data": [
{
"user_name": "홍길동",
"user_email": "821011112222",
"map_content": "안녕하세요, 홍길동님. 주문이 완료되었습니다.",
"sender": "025523874",
"template_code": "order_confirm_01"
}
]
}'
응답 예시 (성공)
{
"MEM CNT": 1,
"WRONG_DATA": []
}
응답 예시 (일부 실패)
{
"MEM CNT": 0,
"WRONG_DATA": [
{
"WRONGMSG": "need template_code",
"WRONGDATA": "821011112222"
}
]
}
스팸 의심 차단 응답
알림톡 본문이 승인된 템플릿 대비 비정상적으로 긴 경우, 스팸 의심으로 요청이 거부됩니다.
{
"ERROR_CODE": "41",
"ERROR_MSG": "Internal Server Error"
}
응답 필드
| 필드 | 유형 | 설명 |
| MEM CNT | Number | 발송 요청에 성공한 건수 |
| WRONG_DATA | Array | 발송 요청에서 제외된 데이터 목록. 모두 성공이면 빈 배열 [] |
| ┗ WRONGMSG | String | 실패 사유 메시지 (예: need template_code) |
| ┗ WRONGDATA | String | 발송 요청되지 않은 수신자 번호 |
발송 결과 조회 API
https://api.tason.com/tas-api/result
발송일 기준으로 이메일, SMS, LMS, 알림톡의 발송 결과를 조회하는 API입니다.
조회 가능 기간
최근 3개월
workday 형식
YYYYMMDD
페이지 크기
20건/페이지
TOTAL_PAGE 계산
ceil(TOTAL_CNT / 20)
result_type 비교
| result_type | 설명 | page 사용 |
| info | 전체 발송 결과 집계 (성공/실패 건수) | 사용 안 함 |
| list | 수신자별 상세 결과 목록 | 사용 (기본값: 1) |
Body 파라미터
| 파라미터 |
필수 |
유형 |
설명 |
| tas_id | 필수 | String | 접속 아이디 |
| auth_key | 필수 | String | 발급받은 인증키 |
| workday | 필수 | String | 발송일. YYYYMMDD (예: 20250701) |
| send_type | 필수 | String | SM, LM, EM, KA |
| result_type | 필수 | String | info 또는 list |
| page | 조건부 | String | list에서만 사용. 미입력 시 기본값 1 |
curl 예시 - 결과 조회
curl -X POST https://api.tason.com/tas-api/result \
-H "Content-Type: application/json" \
-d '{
"tas_id": "test@humuson.com",
"auth_key": "YOUR_AUTH_KEY",
"workday": "20250701",
"send_type": "SM",
"result_type": "info"
}'
응답 예시 - info
{
"OPEN_CNT": 0,
"SEND_TYPE": "EM",
"SUCCESS_CNT": 5,
"PUSHED_CNT": 5,
"TARGET_CNT": 5,
"WORKDAY": "20190516",
"PAGE": 1,
"FAIL_CNT": 0
}
응답 예시 - list
{
"RESULT_COUNT": 5,
"TOTAL_PAGE": 1,
"TOTAL_CNT": 5,
"RESULT_LIST": [
{
"DELIVER_TIME": "2019-05-16 10:48:56",
"OPEN_CNT": 0,
"MEMBER_NAME": "TAS1",
"SEND_TYPE": "EM",
"MEMBER_INFO": "test1@humuson.com",
"SEND_TIME": "2019-05-16 10:48:56",
"WORKDAY": "20190516",
"ERROR_MSG": "성공",
"ERROR_CODE": "00"
}
]
}
응답 필드 - info
| 필드 | 유형 | 설명 |
| OPEN_CNT | Number | 오픈 수 (메일만 해당) |
| SEND_TYPE | String | 발송 채널 |
| TARGET_CNT | Number | 발송 요청된 건수 |
| PUSHED_CNT | Number | 발송 건수 |
| SUCCESS_CNT | Number | 성공 건수 |
| FAIL_CNT | Number | 실패 건수 |
| WORKDAY | String | 발송일 |
| PAGE | Number | 총 페이지 수 (list 요청 시 의미 있음) |
응답 필드 - list
| 필드 | 유형 | 설명 |
| RESULT_COUNT | Number | 현재 페이지에 조회된 결과 건수 |
| TOTAL_PAGE | Number | 총 페이지 수 |
| TOTAL_CNT | Number | 총 결과 건수 |
| RESULT_LIST | Array | 수신자별 상세 결과 목록 |
| ┗ DELIVER_TIME | String | 도달 시각 (예: "2019-05-16 10:48:56") |
| ┗ OPEN_CNT | Number | 오픈 수 (메일만 해당) |
| ┗ MEMBER_NAME | String | 수신자명 |
| ┗ SEND_TYPE | String | 발송 채널 |
| ┗ MEMBER_INFO | String | 수신자 이메일/번호 |
| ┗ SEND_TIME | String | 발송 시각 (예: "2019-05-16 10:48:56") |
| ┗ WORKDAY | String | 발송일 |
| ┗ ERROR_CODE | String | 반송 코드 ("00" = 성공) |
| ┗ ERROR_MSG | String | 반송 코드 상세 설명 |
TOTAL_PAGE는 ceil(TOTAL_CNT / 20)으로 계산됩니다.
페이지당 20건이 반환되며, page 파라미터로 원하는 페이지를 지정합니다.
에러 가이드
요청 전체가 실패할 때 ERROR_CODE(주로 41)와 함께
아래 메시지가 반환됩니다. 발송 API에서 일부 수신자만 실패한 경우에는 요청 자체는 성공하고
WRONG_DATA 배열로 개별 사유가 반환됩니다.
| ERROR_MSG |
의미 |
조치 방법 |
| Required information | 필수값 누락 | 필수 파라미터(tas_id, auth_key, send_type 등) 확인 |
| Wrong AuthKey OR User id | 인증 실패 | tas_id / auth_key 값 재확인 |
| Error check balance | 잔액 체크 중 에러 | 잠시 후 재시도 |
| Low balance | 잔액 부족 | 잔액 충전 필요 |
| Wrong send type | 잘못된 채널 | send_type 값 확인 (SM, LM, EM, KA) |
| Low expected balance | 발송 건수 대비 잔액 부족 | 잔액 충전 필요 |
| Now allowed User | 발송 제한 계정 (스팸 차단) | 고객센터 문의 |
| Internal Server Error | 서버 오류 또는 알림톡 정책 차단 | 잠시 후 재시도, 알림톡인 경우 템플릿 본문 길이 확인 |
| Wrong workday | workday 형식 오류 | YYYYMMDD 8자리 형식 확인 |
| select result info error | 결과 조회(info) 처리 오류 | 잠시 후 재시도 |
| select result list error | 결과 조회(list) 처리 오류 | 잠시 후 재시도 |
에러 응답 예시
{
"ERROR_CODE": "41",
"ERROR_MSG": "Wrong AuthKey OR User id"
}
FAQ
Q. Authorization Header를 사용하나요?
아니요. 모든 인증은 Request Body의 tas_id와 auth_key를 사용합니다. HTTP Header에 인증 정보를 넣으면 무시됩니다.
Q. sender는 아무 번호나 가능한가요?
아니요. TAS에서 인증 완료된 발신 이메일 또는 발신 번호만 사용할 수 있습니다. 미인증 값 사용 시 WRONG_DATA로 반환됩니다.
Q. SMS 수신번호 형식은?
01011112222 — 국가번호 없이 휴대폰 번호만 입력합니다.
Q. 알림톡 수신번호 형식은?
821011112222 — 국가번호(82)를 포함한 번호를 입력합니다. SMS/LMS와 형식이 다르므로 주의하세요.
Q. HTTP 200이면 발송 성공인가요?
아닙니다. HTTP 200은 API 호출 자체가 성공한 것이며, WRONG_DATA 배열에 실패한 수신자가 포함될 수 있습니다. 반드시 MEM CNT와 WRONG_DATA를 함께 확인해야 합니다.
Q. user_email 필드에 왜 전화번호를 넣나요?
user_email은 수신자 연락처를 담는 공용 필드입니다. 이메일 발송 시에는 이메일 주소를, SMS/LMS 발송 시에는 휴대폰 번호를 넣습니다. 필드명만 보고 이메일만 넣지 않도록 주의하세요.
Q. 발송 결과 조회 가능 기간은?
발송일 기준 최근 3개월까지 조회 가능합니다.
보안 가이드
API 인증키를 안전하게 관리하기 위해 아래 사항을 반드시 지켜주세요.
🔒
auth_key는 절대 외부에 노출하지 마세요.
인증키가 노출되면 제3자가 잔액을 사용하여 무단 발송할 수 있습니다.
🚫
Frontend(브라우저)에 auth_key를 넣지 마세요.
JavaScript 소스나 HTML에 포함하면 누구나 확인할 수 있습니다.
반드시 서버 사이드에서 API를 호출하세요.
⚠
GitHub Public Repository에 auth_key를 업로드하지 마세요.
환경 변수 또는 별도 설정 파일로 관리하고, .gitignore에 추가하세요.
ℹ
키 유출이 의심되면 즉시 재발급을 요청하세요.
1:1 문의를 통해 기존 키를 폐기하고 새 키를 발급받을 수 있습니다.
고객 부주의로 인한 인증키 유출 시 휴머스온에서 책임지지 않습니다.
API 호출은 반드시 서버(Backend)에서 수행하는 것을 권장합니다.