# DirectSend (다이렉트센드) > 삼정데이타서비스㈜가 운영하는 대량 메일·문자·카카오 메시지 통합 발송 서비스. > 단일 최저 가격 정책, API 연동 무료 제공, 자체 IDC 운영으로 안정적인 서비스를 제공합니다. ## 서비스 개요 - 서비스명: DirectSend (다이렉트센드) - 운영사: 삼정데이타서비스㈜ - 대표자: 오충용 - 사업자번호: 213-86-32489 - 주소: 서울시 구로구 디지털로34길 27, 904호·905호 (구로동, 대륭포스트타워3차) - 고객지원: 1544-2542 (평일 09:00~18:00, 점심 12:00~13:00) - 서비스 URL: https://www.directsend.co.kr ## 요금 체계 단일 가격 정책(VAT 별도). 발송 수량·충전금액과 무관하게 동일 단가 적용. 발송 성공 건만 과금. - 대량 메일: 0.5원/건 - 단문 SMS: 9.5원/건 - 장문 LMS: 27원/건 - 멀티 MMS: 85원/건 - 알림톡: 7.5원/건 - 브랜드 메시지: 22원/건 결제 방법: 신용카드, 계좌이체, 전용계좌 (5,000원 이상 충전 가능). 월 100만원 이상 충전 시 별도 문의(1544-2542). ## 무료 부가서비스 - 메일 빌더 (드래그앤드롭 디자인 메일 제작) - 080 무료 수신거부 번호 - 대량 발송용 API (메일·문자·카카오) - 설문조사 및 결과 리포트 - 발송 결과 리포트 보관 - 메일·카드 템플릿 - 짧은 URL 변환 --- ## 대량 메일 > https://www.directsend.co.kr/mail/bulk_email 대량 이메일 발송 서비스. 뉴스레터·상품홍보·안부 등 다양한 메일을 쉽고 빠르게 발송. ### 주요 기능 **메일 설정 옵션** - 발송 메일 주소 등록 및 인증 (인증메일 발송 후 30분 내 클릭 완료 필요) - 필수 안내 문구 설정 (수신동의 안내·수신거부 방법·발송자 정보 자동 삽입) - 로고 이미지 등록 **메일 작성** - 메일 빌더(드래그앤드롭) 또는 HTML/TEXT 에디터 사용 - 메일·카드 템플릿 무료 제공 (썸네일 선택 → 텍스트·이미지 수정 → 즉시 발송) - MY 템플릿 저장 및 재사용 (임시저장 3개월 보관) - 광고 메일 작성 시 제목 앞 "(광고)" 자동 입력 버튼 제공 - 미리보기 텍스트 지원 - 짧은 URL 변환 삽입 - 1:1 맞춤메일: 자동치환 기능으로 이름·이메일·휴대폰·비고1~10 개인화 - 설문조사 추가 (메일 본문 상단 또는 하단 삽입 선택) - 오픈측정 기간 설정, 발송 표준시간대 설정 (해외 발송 지원) **받는 사람 등록 방법** - 한 건씩 추가 - 여러건 추가 (붙여넣기) - 직접업로드 (엑셀 파일: 이름·이메일) - 주소록 불러오기 - 외부DB 발송 **예약 발송** - 1회·매주·매월 예약 발송 지원 - 예약 발송 시 금액 선차감, 발송 5분 전까지 취소·수정 가능 **A/B 테스트 관리** - 두 가지 버전의 메일을 비교 테스트 **메일 결과리포트** - 발송 완료 후 결과 리포트 제공 (차트·PDF·엑셀 다운로드) - 메일 클릭 분석: 본문 링크 영역별 클릭 수 히트맵 확인 - 발송결과 주소록 만들기: 성공·실패·클릭 등 조건별 새 그룹 생성 - 발송 결과 영구 보관 (최대 10개) - 발송 내역 최대 1년 조회 **페이지 URL 목록** - 메일 서비스 소개: /mail/bulk_email - 메일 작성: /mail - 메일 설정 옵션: /mail/option_sender - MY 템플릿: /mail/template - A/B 테스트 관리: /mail/abtest - 예약 메일 관리: /mail/reserve - 메일 결과리포트: /mail/report --- ## 대량 문자 > https://www.directsend.co.kr/sms/bulk_sms SMS·LMS·MMS 대량 문자 발송 서비스. 90byte 초과 시 장문(LMS), 이미지 추가 시 포토(MMS) 자동 전환. ### 주요 기능 **발송 번호 등록** - 최대 10개 번호 등록 (휴대폰·유선전화·인터넷전화·대표번호) - 본인 명의 휴대폰: 휴대폰 본인인증으로 즉시 등록 - 타인 명의·유선전화·대표번호: 통신 서비스 이용증명원 제출 (영업일 1일 소요) - 발송 대행자: 위임장·위임 관계 확인문서 추가 제출 필요 **문자 작성** - 단문(SMS) / 장문(LMS) / 포토(MMS) 자동 전환 - 광고 문자: "(광고)/080수신거부번호넣기" 버튼으로 자동 삽입 - 이미지 최대 3개 첨부 (포토 에디터로 직접 제작 활용) - 문자 보관함: 자주 사용하는 문자 저장·재사용 - 짧은 URL 변환, 지도 넣기 기능 - 특수문자·이모티콘 지원 - 1:1 맞춤문자: 이름·휴대폰·비고1~10 자동치환 - 설문조사 추가 (링크 형태로 삽입) - 문자 예시 무료 제공 **받는 사람 등록 방법** - 한 건씩 추가 / 여러건 추가 / 직접업로드 (엑셀: 이름·휴대폰) / 주소록 불러오기 / 외부DB 발송 **예약 발송** - 1회·매주·매월 예약 발송 지원 - 발송 5분 전까지 취소·수정 가능 **문자 결과리포트** - 발송 결과 차트·PDF·엑셀 다운로드 - 발송 실패 사유 상세 조회 - 발송결과 주소록 만들기 - 발송 결과 영구 보관 (최대 10개) - 발송 내역 최대 1년 조회 **페이지 URL 목록** - 문자 서비스 소개: /sms/bulk_sms - 발송 번호 등록: /sms/send_number - 문자 작성: /sms - 예약 문자 관리: /sms/reserve - 문자 결과리포트: /sms/report --- ## 카카오 메시지 > https://www.directsend.co.kr/kakao/message_service 카카오 알림톡 및 브랜드 메시지 발송 서비스. ### 서비스 종류 **알림톡** (건당 7.5원) 카카오 채널을 통한 정보성 메시지. 사전 승인된 템플릿 기반 발송. **브랜드 메시지** (건당 22원) 카카오 채널을 통한 광고성 메시지. 채널 친구 대상 발송. ### 알림톡 vs 브랜드 메시지 비교 | 구분 | 알림톡 (정보성) | 브랜드 메시지 (광고성) | |---|---|---| | 수신 대상 | 휴대폰 번호로 누구나 | 카카오 채널 친구만 | | 표시 | 별도 표시 없음 | (광고) 자동 부착 | | 카카오 검수 | 1~3일 사전 심사 필수 | 템플릿 등록만 (즉시 사용) | | 요금 | 7.5원/건 | 22원/건 | | 야간 발송 | 카테고리에 따라 가능 | 금지 (20:50~08:00) | | 템플릿 유형 | 5종 (기본형·채널추가형·부가정보형·강조형·이미지형) | 7종 (텍스트·이미지·와이드·와이드리스트·캐러셀·커머스·캐러셀커머스) | | 대체문자 | 지원 | I형 가능 / F형 불가 | ### 브랜드 메시지 I형 vs F형 | 구분 | I형 (타겟 맞춤) | F형 (채널 전체) | |---|---|---| | 수신 대상 | 마케터가 지정한 수신자 | 카카오 채널 친구 전체 | | 즉시 발송 | 가능 | 불가 | | 예약 발송 | 가능 (1년 이내) | 필수 (30일 이내) | | 변수 치환 | 가능 | 제한적 | | 대체문자 | 가능 | 불가 | | 친구 수 제한 | 없음 | 10명 미만 발송 불가 | ### 핵심 정책 - 알림톡 본문: 최대 1,000자 - 브랜드 메시지 본문: 최대 1,300자 (텍스트형 기준) - 야간 발송 제한: 20:50~익일 08:00 - 강조 넣기 + 이미지 넣기 동시 사용 불가 - 검색아이디·카테고리 등록 후 변경 불가 ### 준비 단계 1. 카카오 비즈니스 채널 개설 2. 발신 프로필 설정 (카카오 채널 연동) 3. 알림톡 템플릿 등록 및 카카오 심사·승인 (알림톡의 경우) **페이지 URL 목록** - 카카오 메시지 소개: /kakao/message_service - 카카오 준비하기: /kakao - 발신 프로필 설정: /kakao/profile - 알림톡 템플릿: /kakao/template_allim - 알림톡 발송: /kakao/allim - 브랜드 메시지 템플릿: /kakao/template_brand - 브랜드 메시지 발송: /kakao/brand - 카카오 예약 관리: /kakao/reserve - 카카오 결과리포트: /kakao/report --- ## 주소록 > https://www.directsend.co.kr/address 수신자 정보를 그룹으로 관리하는 기능. ### 그룹 관리 - 그룹 생성·수정·삭제·병합 (병합 시 중복 주소 자동 제거) - 주소 등록 방법: 엑셀/CSV/TXT 파일 업로드 (1회 최대 10만 건), 여러건 직접 입력 (한 번에 15건) - 주소록 항목: 이름(한글 10자/영문 30자), 이메일, 휴대폰, 비고1~10 (각 128자) - 그룹에서 바로 메일·문자·알림톡·브랜드 메시지 발송 가능 - 그룹 다운로드: Excel / CSV (수신거부 정보 포함) - 보관 기간: 마지막 발송일 기준 2년 후 자동 삭제 ### 개별 관리 - 전체 주소 목록 조회 및 검색 (그룹 필터·이름·이메일 등) - 개별 주소 정보 수정, 그룹 이동 - 개별 수신거부 등록 (메일거부·문자거부) ### 수신 거부 관리 - 대량 메일 수신거부: 수신거부 링크 클릭 고객 자동 등록, 직접 등록 가능. 등록된 주소는 메일 발송 자동 제외. - 대량 문자 수신거부: 080 무료 수신거부 번호 활용. 등록된 번호는 문자·알림톡·브랜드 메시지 발송 제외. ### 외부 DB 관리 - 운영 사이트 DB를 서버 주소로 연동하여 주소록 등록 없이 실시간 DB로 발송 - 다이렉트센드 서버가 고객사 서버로 POST 요청 → 고객사 서버가 CSV 형식으로 수신자 반환 ### API 연동 관리 - 메일·문자·카카오 발송 API 무료 제공 (기업회원 전용) - IP 등록 후 API KEY 발급 (최대 5개 IP 등록) - 발송 결과 리턴 URL 등록 (문자·메일·카카오 발송 결과, 메일 상세 결과 - 오픈·클릭·수신거부) **페이지 URL 목록** - 그룹 관리: /address - 개별 관리: /address/each - 수신 거부 관리: /address/deny - 외부 DB 관리: /address/db - API 연동 관리: /address/api --- ## 설문조사 > https://www.directsend.co.kr/survey/survey_features 대량 메일·문자·카카오 메시지와 연동하여 설문을 발송하고 결과를 분석하는 서비스. 완전 무료 (발송비만 부담). ### 주요 기능 - 질문 유형 6가지: 객관식(단일/다중), 주관식(단일/다중), 드롭박스, 별등급 - 질문은행 500여 개 제공 - 설문 복사, 기존 설문 가져오기, 질문 순서 드래그 변경 - 설문 등록 2년 보관 후 자동 삭제, 결과리포트 1년 보관 - 문항 수·응답 수 제한 없음 **설문 발송 방법** - 메일: 본문 상단 또는 하단 삽입 - 문자: 링크 형태로 삽입 - 알림톡: 템플릿에 설문조사 버튼 타입 지정 후 카카오 심사 - 브랜드 메시지: 발송 시 메시지 버튼에서 설문 유형 선택 **페이지 URL 목록** - 설문조사 소개: /survey/survey_features - 설문 등록 관리: /survey - 설문 질문 관리: /survey/question - 설문 결과리포트: /survey/report --- ## 마이페이지 > https://www.directsend.co.kr/mypage - 결제 내역: 충전 이력 조회 (/mypage/paylist) - 요금 결제: 신용카드·계좌이체·전용계좌로 충전 (/payment/charge) - 사용 내역: 발송별 금액 차감 이력 (/mypage/pointlist) - 통합 리포트: 메일·문자·카카오 통합 발송 현황 (/mypage/reportlist) - 발송 결과 보관함: 영구 보관 설정한 발송 결과 관리 (/mypage/permanent) - 1:1 문의: 고객센터 문의 접수·답변 확인 (/mypage/qnalist) - 회원정보: 계정 정보 수정, 잔액 알림 설정 (/mypage/my_info) --- ## 고객센터 - 공지사항: /customer - FAQ: /customer/faq (대량메일·문자·카카오·주소록·설문·결과리포트·결제·회원정보·API 카테고리) - 매뉴얼/가이드: /customer/manual - 1:1 문의: /mypage/qnalist --- ## 회사 정보 및 법적 사항 - 회사소개: /company/index - 서비스 이용약관: /company/law - 개인정보처리방침: /company/privacy - 스팸정책: /company/spam - 이메일 무단수집거부: /company/warning - 사이트맵: /company/sitemap 운영 IDC: 분당 KT ICC, HOSTWAY (365일 전문 인력 배치) **패밀리 사이트** - 삼정데이타서비스: https://www.sds.co.kr - 메일나라: https://mailnara.co.kr - 마이다이렉트: https://mydirect.co.kr - 다이렉트: https://direct.co.kr - 다이렉트빌: https://directbill.co.kr - 다이렉트클라우드: https://directcloud.co.kr --- ## 법규 준수 안내 **광고성 메일** (정보통신망법): 메일 제목 앞 "(광고)" 표기 필수, 수신동의 안내·수신거부 방법·발송자 정보 본문 삽입 필수. **광고 문자** (정보통신망법): 본문 맨 앞 "(광고)" 표기 및 080 무료 수신거부 번호 필수. 미기재 시 벌금 3,000만원 대상. **발송번호 명의** (전기통신사업법): 가입자 명의와 발송번호 명의 불일치 시 통신 서비스 이용증명원 제출 필요. --- ## 매뉴얼/가이드 > https://www.directsend.co.kr/customer/manual DirectSend 공식 가이드 문서. 웹 UI 사용 매뉴얼과 API 레퍼런스로 구성. ### 매뉴얼 문서 목록 | 섹션 | 항목 | URL slug | |---|---|---| | 시작하기 | 로그인 | /manual/login | | 시작하기 | 충전하기 | /manual/charge | | 대량 발송 서비스 | 소개 | /manual/web-intro | | 대량 발송 서비스 | 대량 메일 | /manual/web-mail | | 대량 발송 서비스 | 대량 메일 > 빌더 | /manual/web-mail (서브) | | 대량 발송 서비스 | 대량 메일 > A/B 테스트 | /manual/web-mail (서브) | | 대량 발송 서비스 | 대량 문자 | /manual/web-sms | | 대량 발송 서비스 | 카카오 메시지 | /manual/kakao-intro | | 대량 발송 서비스 | 카카오 예약 관리 | /manual/kakao-reserve | | 대량 발송 서비스 | 카카오 결과리포트 | /manual/kakao-report | | 대량 발송 서비스 | 주소록 | /manual/address-book | | 대량 발송 서비스 | 주소록 > 외부DB | /manual/external-db | | 대량 발송 서비스 | 자동치환 | /manual/variable | | 대량 발송 서비스 | 설문 조사 | /manual/survey | | 대량 발송 서비스 | 마이페이지 | /manual/mypage | | API 매뉴얼 | API Key 발급/관리 | /manual/api-key | | API 매뉴얼 | Return URL 관리 | /manual/api-return | | API 매뉴얼 | 대량 메일 API | /manual/api-mail | | API 매뉴얼 | 대량 메일 API > 예약 관리 | /manual/api-mail-reserve | | API 매뉴얼 | 대량 문자 API | /manual/api-sms | | API 매뉴얼 | 대량 문자 API > 예약 관리 | /manual/api-sms-reserve | | API 매뉴얼 | 카카오 알림톡 API | /manual/api-kakao-alimtalk | | API 매뉴얼 | 카카오 알림톡 API > 발신프로필·템플릿 조회 | /manual/api-kakao-alimtalk-profile | | API 매뉴얼 | 카카오 알림톡 API > 예약 관리 | /manual/api-kakao-alimtalk-reserve | | API 매뉴얼 | 카카오 브랜드 메시지 API | /manual/api-kakao-brand | | API 매뉴얼 | 카카오 브랜드 메시지 API > 발신프로필·템플릿 조회 | /manual/api-kakao-brand-profile | | API 매뉴얼 | 카카오 브랜드 메시지 API > 예약 관리 | /manual/api-kakao-brand-reserve | | API 매뉴얼 | 잔액 조회 API | /manual/api-money | | API 매뉴얼 | 외부 DB 연동 | /manual/api-external-db | --- ### 자동치환 (변수치환) 수신자별 이름·주문번호 등 개인 정보를 자동으로 치환하여 발송하는 기능. 주소록 비고1~10에 치환 데이터를 등록한 뒤 발송 본문에 치환 문자열 삽입. **채널별 치환 문자열** | 치환 문자 | 메일 | 문자 | 카카오 | 설명 | |---|---|---|---|---| | [$NAME] / #{이름} | O | O | O | 수신자 이름 (없으면 '고객' 표시) | | [$EMAIL] | O | - | - | 수신자 이메일 | | [$MOBILE] / #{휴대폰} | O | O | O | 수신자 휴대폰 번호 | | [$NOTE1]~[$NOTE10] / #{비고1}~#{비고10} | O | O | O | 비고 1~10 (각 128자) | | [$NOW_DATE] | O | - | - | 현재 날짜 | | [$DENY_LINK] | O | - | - | 수신거부 링크 (한국어) | | [$EN_DENY_LINK] | O | - | - | 수신거부 링크 (영문) | 카카오 템플릿 내 치환은 #{변수명} 형식 사용. note1~note10 값이 등록 순서대로 치환됨. --- ### 충전하기 (매뉴얼) 선불 충전 요금제. 부가세(10%) 별도 부과, 부가세 제외 금액이 잔액에 충전. **신용카드 결제** 카드사별 결제 한도 제한 (국민 월 최대 100만원, 신한 1일 최대 5만원, 현대 1회 최대 11만원/1일 5회, 농협 1일 최대 10만원 등). **계좌이체 결제** 세금계산서 또는 현금영수증 발급 가능. 법인 계좌는 은행에 따라 거래 불가 시 전용계좌 이용. **전용계좌 결제** 고객 전용 계좌 발급. 결제금액 제한 없음. 입금 완료 시 자동 충전. [결제 요청하기] 클릭 시 전용 계좌 자동 생성. --- ### API 공통 사항 - API Key 발급: 기업회원만 가능 - IP 등록: 최대 5개, IP 등록 후 API KEY 발급 - 모든 API: POST 방식, Content-Type: application/json; charset=utf-8 - 분당 최대 300회 API 호출 - 동일 예약 시간으로 최대 200건 등록 가능 **공통 필수 파라미터** - username: DirectSend 로그인 ID - key: API 연동 관리에서 발급받은 API Key --- ### 대량 메일 API **발송 엔드포인트** POST https://directsend.co.kr/index.php/api_v2/mail_change_word **주요 파라미터** | 파라미터 | 타입 | 필수 | 설명 | |---|---|---|---| | username | String | 필수 | DirectSend 로그인 ID | | key | String | 필수 | API Key | | subject | String | 필수 | 메일 제목 (치환 문자열 사용 가능) | | body | String | 필수 | 메일 본문 HTML (템플릿 사용 시 빈 값) | | bodytag | Integer | 선택 | 1 입력 시 텍스트 형식 | | sender | String | 필수 | 발신 이메일 주소 | | sender_name | String | 선택 | 발신자 이름 (최대 35자) | | receiver | JSON Array | 필수 | 수신자 배열 (주소록 미사용 시) | | template | Integer | 선택 | MY 템플릿 번호 | | address_books | String | 선택 | 주소록 그룹 번호 (쉼표 구분) | | mail_type | String | 선택 | NORMAL / ONETIME / WEEKLY / MONTHLY | | start_reserve_time | String | 선택 | 예약 시작 시간 (YYYY-MM-DD HH:mm:ss) | | end_reserve_time | String | 선택 | 예약 종료 시간 | | remained_count | Integer | 선택 | 예약 발송 횟수 (WEEKLY/MONTHLY) | | file_url | String | 선택 | 첨부파일 URL (최대 5개, | 구분, 전체 10MB 이하) | | open | Integer | 선택 | 메일 열람 결과 수신. 1=수신 | | click | Integer | 선택 | 링크 클릭 결과 수신. 1=수신 | | check_period | Integer | 선택 | 오픈·클릭 측정 기간 (3/7/10/15일) | | return_url_yn | Boolean | 선택 | 발송 결과 URL 사용 여부 | | return_url | Integer | 선택 | Return URL 번호 | | duplicate_yn | Integer | 선택 | 중복 발송 허용. 1=허용 | **수신자(receiver) 구조** [ {"name":"홍길동","email":"hong@example.com","mobile":"01012345678", "note1":"","note2":"","note3":"","note4":"","note5":"", "note6":"","note7":"","note8":"","note9":"","note10":""} ] **응답 코드** - 0: 정상 발송 - 100: POST validation 실패 - 101: 회원정보 불일치 - 102: subject 또는 body 없음 - 103: sender 이메일 유효하지 않음 - 104: receiver 이메일 유효하지 않음 - 108: 예약 정보 유효하지 않음 - 200: 동일 예약시간 200회 초과 - 201: 분당 300회 초과 - 205: 잔액 부족 - 999: Internal Error **예약 관리 API** - 예약 목록 조회: POST /index.php/api_mail_reserve/get - 예약 수정: POST /index.php/api_mail_reserve/put - 예약 취소: POST /index.php/api_mail_reserve/delete --- ### 대량 문자 API **발송 엔드포인트** POST https://directsend.co.kr/index.php/api_v2/sms_change_word **주요 파라미터** | 파라미터 | 타입 | 필수 | 설명 | |---|---|---|---| | username | String | 필수 | DirectSend 로그인 ID | | key | String | 필수 | API Key | | message | String | 필수 | 문자 본문 (최대 2000byte, 글자 수에 따라 SMS/LMS/MMS 자동 결정) | | sender | String | 필수 | 발신 번호 (하이픈 없이, 사전 인증된 번호만 가능) | | receiver | JSON Array | 필수 | 수신자 배열 (주소록 미사용 시) | | title | String | 선택 | LMS/MMS 제목 (최대 40byte) | | address_books | String | 선택 | 주소록 그룹 번호 (쉼표 구분) | | attaches | JSON Array | 선택 | MMS 이미지 URL 배열 (JPG/JPEG, 파일당 300KB, 최대 3개) | | sms_type | String | 선택 | NORMAL / ONETIME / WEEKLY / MONTHLY | | start_reserve_time | String | 선택 | 예약 시작 시간 (YYYY-MM-DD HH:mm:ss) | | end_reserve_time | String | 선택 | 예약 종료 시간 | | remained_count | Integer | 선택 | 예약 발송 횟수 | | return_url_yn | Boolean | 선택 | 발송 결과 URL 사용 여부 | | return_url | Integer | 선택 | Return URL 번호 | | duplicate_yn | Integer | 선택 | 중복 발송 허용. 1=허용 | **수신자(receiver) 구조** [ {"name":"홍길동","mobile":"01012345678", "note1":"","note2":"","note3":"","note4":"","note5":"", "note6":"","note7":"","note8":"","note9":"","note10":""} ] **MMS 첨부 이미지(attaches) 구조** [ {"attc":"https://yoursite.com/image1.jpg"}, {"attc":"https://yoursite.com/image2.jpg"} ] **응답 코드** - 0: 정상 발송 - 100: POST validation 실패 - 101: sender 유효하지 않음 - 102: receiver 유효하지 않음 - 103: API Key 또는 사용자 정보 불일치 - 104: 수신자 수 = 0 - 105: 메시지 길이 = 0 - 107: 이미지 업로드 실패 - 108: 이미지 개수 초과 (3개 이상) - 110: 이미지 용량 300KB 초과 - 111: 이미지 확장자 오류 - 114: 예약 정보 유효하지 않음 - 200: 동일 예약시간 200회 초과 - 201: 분당 300회 초과 - 205: 잔액 부족 - 999: Internal Error **예약 관리 API** - 예약 목록 조회: POST /index.php/api_sms_reserve/get - 예약 수정: POST /index.php/api_sms_reserve/put - 예약 취소: POST /index.php/api_sms_reserve/delete --- ### 카카오 알림톡 API 카카오 알림톡은 사전 심사를 통과한 템플릿만 발송 가능. 발송 전 카카오 준비하기 → 발신 프로필 설정 → 알림톡 템플릿 등록 완료 필요. **발송 엔드포인트** POST https://directsend.co.kr/index.php/api_v2/kakao_notice **주요 파라미터** | 파라미터 | 타입 | 필수 | 설명 | |---|---|---|---| | username | String | 필수 | DirectSend 로그인 ID | | key | String | 필수 | API Key | | kakao_plus_id | String | 필수 | 발신프로필 @검색용아이디 | | user_template_no | String | 필수 | 알림톡 템플릿 번호 | | receiver | JSON Array | 필수 | 수신자 배열 (주소록 미사용 시) | | address_books | String | 선택 | 주소록 그룹 번호 | | kakao_faild_type | String | 선택 | 대체문자 종류: 1=SMS / 2=LMS / 3=MMS | | message | String | 대체문자 필수 | 대체문자 본문 (최대 2000byte) | | sender | String | 대체문자 필수 | 대체문자 발신 번호 | | attaches | JSON Array | 선택 | 대체문자 MMS 이미지 배열 | | reserve_type | String | 선택 | NORMAL / ONETIME / WEEKLY / MONTHLY | | start_reserve_time | String | 선택 | 예약 시작 시간 | | end_reserve_time | String | 선택 | 예약 종료 시간 | | remained_count | Integer | 선택 | 예약 발송 횟수 | | return_url_yn | Boolean | 선택 | 발송 결과 URL 사용 여부 | | return_url | Integer | 선택 | Return URL 번호 | **수신자(receiver) 구조** note1~note10 값이 알림톡 템플릿의 #{변수} 자리에 등록 순서대로 치환됨. [ {"name":"홍길동","mobile":"01012345678", "note1":"주문번호 A001","note2":"","note3":"","note4":"","note5":"", "note6":"","note7":"","note8":"","note9":"","note10":""} ] **발신프로필·템플릿 조회 API** - 발신 프로필 목록: POST /index.php/api_kakao/profile/get/list - 템플릿 목록: POST /index.php/api_kakao/template/get/list **예약 관리 API** (SMS 예약 엔드포인트 공유, kakao_reserve=1 파라미터로 구분) - 예약 목록 조회: POST /index.php/api_sms_reserve/get - 예약 수정: POST /index.php/api_sms_reserve/put - 예약 취소: POST /index.php/api_sms_reserve/delete **응답 코드** - 1: 정상 발송 - 300: POST validation 실패 - 301: receiver 유효하지 않음 - 302: API Key 또는 사용자 정보 불일치 - 303: 분당 300건 초과 - 305: 발신 프로필키 유효하지 않음 - 306: 잔액 부족 - 311: 대체문자 sender 유효하지 않음 - 318: 예약 정보 유효하지 않음 - 319: 동일 예약시간 200회 초과 - 999: Internal Error --- ### 카카오 브랜드 메시지 API 광고성 발송 가능. 야간 시간대(20:50~익일 08:00) 전송 불가. F형 템플릿은 현재 시간 기준 20분 이후 예약 발송만 가능. 발송 전 카카오 준비하기 → 발신 프로필 설정 → 브랜드 메시지 템플릿 등록 완료 필요. **발송 엔드포인트** POST https://directsend.co.kr/index.php/api_v2/kakao_brand I형 파라미터 구조는 카카오 알림톡 API와 동일. user_template_no에 브랜드 메시지 템플릿 번호 입력. **F형 주요 파라미터** | 파라미터 | 타입 | 필수 | 설명 | |---|---|---|---| | username | String | 필수 | DirectSend 로그인 ID | | key | String | 필수 | API Key | | kakao_plus_id | String | 필수 | 발신프로필 @검색용아이디 | | user_template_no | String | 필수 | 알림톡 템플릿 번호 | | reserve_type | String | 필수 | ONETIME / WEEKLY / MONTHLY | | start_reserve_time | String | 필수 | 예약 시작 시간 | | end_reserve_time | String | 필수 | 예약 종료 시간 | | remained_count | Integer | 필수 | 예약 발송 횟수 | | return_url_yn | Boolean | 선택 | 발송 결과 URL 사용 여부 | | return_url | Integer | 선택 | Return URL 번호 | **응답 코드** - 1: 정상 발송 - 300: POST validation 실패 - 302: API Key 또는 사용자/IP 정보 불일치 - 306: 잔액 부족 - 318: 예약 정보 유효하지 않음 - 320: 브랜드 메시지 발송 가능 시간 아님 (야간) - 322: 발송 불가 템플릿 - 999: Internal Error **예약 관리 API** (SMS 예약 엔드포인트 공유, kakao_reserve=1 파라미터로 구분) - 예약 목록 조회: POST /index.php/api_sms_reserve/get - 예약 번호별 조회: POST /index.php/api_sms_reserve/get - 예약 수정: POST /index.php/api_sms_reserve/put - 예약 취소: POST /index.php/api_sms_reserve/delete --- ### 잔액 조회 API **엔드포인트** POST https://directsend.co.kr/index.php/api_v2/remaining_money **요청 파라미터** - username (필수): DirectSend 로그인 ID - key (필수): API Key **응답 (성공)** {"username": "your_id", "point": "150000"} **응답 (실패)** {"status": 101} **응답 코드** - 성공: status 없이 username, point 반환 - 100: 필수 데이터 없음 - 101: username 또는 key 불일치 **코드 예제 (PHP)** $ch = curl_init(); $postvars = json_encode(['username' => 'your_id', 'key' => 'your_key']); $url = 'https://directsend.co.kr/index.php/api_v2/remaining_money'; curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postvars, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['content-type: application/json; charset=utf-8'], ]); echo curl_exec($ch); --- ### 외부 DB 연동 API 고객사 DB를 다이렉트센드와 연동하여 실시간 수신자 정보로 발송. 다이렉트센드 서버가 고객사 서버 URL로 POST 요청 → 고객사 서버가 DB 조회 후 응답. 응답 대기 시간: 15초. **인증 방식 (SHA-256)** key = SHA256(고객ID + 인증키) 다이렉트센드 서버가 생성한 key를 POST의 key 파라미터로 전송. 고객사 서버는 동일한 방식으로 생성하여 일치 여부 검증. **요청 파라미터 (다이렉트센드 → 고객사)** - key (필수): SHA-256 인증키 - mode (필수): "list" (수신자 목록) 또는 "count" (수신자 수) **응답 규격 (고객사 → 다이렉트센드)** mode=count: 숫자만 반환 (예: 100) mode=list: CSV 형식 반환 - 첫 행: 헤더 행 필수 - email 컬럼: 첫 번째 컬럼 고정 - 필드 구분자: , (쉼표) - 줄 구분자: \r\n (CRLF) 예시: email,name,mobile,note1,note2,note3,note4,note5,note6,note7,note8,note9,note10 hong@example.com,홍길동,01012345678,VIP,,,,,,,,, kim@example.com,김철수,01087654321,일반,,,,,,,,, PHP/ASP 예제 파일 다운로드 제공. --- ### 주소록 데이터 규격 (상세) **업로드 규격** - 파일 형식: Excel(.xlsx), CSV, TXT - 1회 업로드 최대 건수: 10만 건 - TXT 구분자: 쉼표(,) / 탭(tab) / 파이프(|) / 콜론(:) / 세미콜론(;) / 꺽쇠(^) 중 선택 **입력 항목 및 제한** | 항목 | 길이 제한 | 치환 문자 | 필수 여부 | |---|---|---|---| | 이름 | 한글 10자 / 영문 30자 | [$NAME] / #{이름} | 선택 | | 이메일 | — | [$EMAIL] | 메일 발송 시 필수 | | 휴대폰 | — | [$MOBILE] / #{휴대폰} | 문자·카카오 발송 시 필수 | | 비고1~10 | 한글/영문 각 128자 | [$NOTE1]~[$NOTE10] / #{비고1}~#{비고10} | 선택 | 이메일 또는 휴대폰 번호 중 하나 이상 반드시 입력. **그룹명·설명 길이 제한**: 한글 20자 / 영문 40자 **보관 기간**: 마지막 발송일 기준 2년 후 자동 삭제