단비 SMS 및 익스텐션

1. 시작하기

NHN 클라우드 연동하기

TOAST Cloud 가입 및 SMS 설정

①  회원가입 토스트클라우드를 방문해서 토스트클라우드 계정으로 회원가입을 하거나 로그인해주세요. (기존 PAYCO로 이용하셨던 분들은 회원 전환이 필요합니다.) 토스트클라우드 방문 (새 창) → ②  토스트클라우드 콘솔 설정 콘솔을 방문해 새 프로젝트를 생성합니다. ‘프로젝트 명’은 사이트 명 등으로 임의로 등록하시면 됩니다. 토스트클라우드 콘솔 방문 (새 창) → ③  SMS 서비스 선택 생성된 프로젝트 선택 후 , 상단 메뉴에서 “서비스 선택”을 할 수 있습니다. Notification > SMS 를 선택하여 활성화해주세요. ④ SMS Appkey 확인 SMS 신청을 완료 후 상단 메뉴의 URL&Appkey 에서 등록할 Appkey를 확인해주세요. ⑤ 발신번호 등록 SMS 발신번호 사전 등록제에 따라 발신번호 사전 등록이 필요합니다. 아래의 SMS 메뉴에서 발신번호를 등록할 수 있습니다.

단비SMS 설정

① 토스트클라우드에서 발급받은 SMS URL과 SMS Appkey를 입력하고, 변경사항 저장을 눌러주세요.
 ②토스트클라우드에서 등록한 발신번호를 선택하고, 기본 제목을 입력해주세요. 
단비 SMS 사용에 필요한 기본 설정이 완료되었습니다. 토스트 클라우드 사용에 어려움을 느끼시면, 토스트 클라우드 고객센터(1588-7967)로 문의해주세요

알림톡 발송을 위한 설정

TOAST Cloud SMS 연동 및 설정

알림톡 사용을 위해서는 위의 SMS 설정이 되어 있어야 합니다.

TOAST Cloud KakaoTalk Bizmessage 설정

①  토스트클라우드 콘솔 접속에 접속하여 KakaoTalk Bizmessage 서비스를 활성화 합니다. 토스트클라우드 콘솔 > 서비스 선택 > Notifications > KakaoTalk Bizmessage 선택 토스트클라우드 콘솔 방문 (새 창) → ② 플러스 친구 추가 (플러스 친구 관련 사항은 토스트 클라우드 가이드 문서를 확인 하세요) ③ 알림톡 템플릿 등록 ‘알림톡 > 템플릿 관리’로 이동하여 템플릿을 등록합니다. 알림톡 템플릿 등록 방법 및 과정은 토스트클라우드 가이드 문서를 확인하세요. 가이드문서 보기(새 창)  템플릿 검수 가이드(토스트클라우드 제공 PDF문서) ④  템플릿이 승인되면 알림톡 발송이 가능하게 됩니다. ⑤ 알림톡 발송실패 설정 카카오톡을 설치하지 않았거나, 플러스 친구를 차단하는 등 알림톡으로 발송을 실패했을 경우에는 문자메세지로 대체 발송하게 됩니다. 이를 위해서는 토스트클라우드 SMS  Appkey와 발송시 사용 될 발신번호가 선택되어 있어야 합니다. ①  회원가입 토스트클라우드를 방문해서 토스트클라우드 계정으로 회원가입을 하거나 로그인해주세요. (기존 PAYCO로 이용하셨던 분들은 회원 전환이 필요합니다.) 토스트클라우드 방문 (새 창) →

알림톡 사용 설정

① 문자 메세지 설정에서 알림톡 사용 활성화 관리자 > 문자메세지 > 설정 페이지에서 ‘알림톡 사용’을 체크하고 설정을 저장합니다. ② 알림톡 서비스 설정 알림톡 사용 설정이 저장되면 관련 정보를 입력하는 양식이 보여집니다. Appkey, Secretkey는 토스트클라우드 콘솔 > Notifications > KakaoTalk BizMessage 페이지에 있는 ‘URL & Appkey’ 버튼을 누르면 확인 가능합니다. (수신자가 알림톡을 차단했거나 카카오톡을 사용하지 않는 다면 문자 메세지로 대체 발송됩니다. – 문자 메세지 설정에서 발신번호 API Key등을 모두 설정 완료했을 때)

2. 하우투

신규 회원가입 시, 관리자나 운영자에게 SMS 보내기

신규 회원가입 시 관리자에게 문자메시지를 전송하는 방법입니다. 테마의 functions.php 파일에 다음과 같이 코드를 추가합니다.
  • <핸드폰번호> : 문자메시지를 받고자 하는 핸드폰번호입니다.
  • <회원 핸드폰번호 필드ID> : 회원의 핸드폰번호가 저장되는 필드의 ID입니다.
add_action('user_register', 'user_register_sms');
function user_register_sms($user_id) {
$user_info = get_userdata($user_id);
do_action('danbisms_send', '<핸드폰번호>', '',
sprintf('신규회원 [%s]이 회원가입을 하셨습니다. [%s]',
$user_info->user_login,
get_user_meta( $user_id, '<회원 핸드폰번호 필드ID>', true )
)
);
}

Code language: PHP (php)
WP-Members 플러그인을 이용하여 회원가입을 받을 시에는 아래와 같이 회원 핸드폰번호를 조회하여 회원에게 회원가입 문자메시지를 발송할 수 있습니다.
add_action('user_register', 'user_register_sms');
function user_register_sms($user_id) {
$user_info = get_userdata($user_id);
$phone = get_user_meta( $user_id, '<WP-Members 필드 설정에서 지정한 핸드폰번호 필드>', true );
do_action('danbisms_send', $phone, '',
sprintf('[%s]님, 회원가입을 축하합니다.',
$user_info->user_login
)
);
}

Code language: PHP (php)

3. 플러그인 연동

WooCommerce

우커머스-단비SMS 설정 안내
1. 우커머스 설정 -우커머스 > 설정 > 문자메시지 > 문자메시지 옵션 우커머스 플러그인의 기본 전화번호 메타 필드는 billing_phone 입니다. 일부 결제 플러그인에서는 핸드폰 번호를 입력받기 위해 billing_mobile 값을 이용하기도 합니다. 핸드폰 번호 메타 필드를 확인 후 입력하시기 바랍니다. 상품 주문 시 상점관리자에게 문자메시지를 발송하기 위해 상점관리자의 휴대전화번호를 등록할 수 있습니다. 문자메시지 2. 우커머스 > 설정 > 문자메시지 > 새주문 새주문 3. 우커머스 > 설정 > 문자메시지 > 처리 중인 주문 처리중인주문 4. 우커머스 > 설정 > 문자메시지 > 완료된 주문 완료된주문 5. 우커머스 > 설정 > 문자메시지 > 고객 메모 우커머스_설정_문자메시지_고객메모 6. 우커머스 > 설정 > 문자메시지 > 새 계정 우커머스_설정_문자메시지_새계정 7. 우커머스 > 설정 > 문자메시지 > 결제 BACS 무통장입금 8. 문자메시지 발송 danbi-sms-send 9. 문자메시지 수신거부 목록 danbi-sms-unsubsc  

WooCommerce Checkout

WooCommerce Checkout Manager 플러그인에서 추가한 결제필드에 대해 사용자가 결제 시 입력한 내용을 문자메시지에 포함시키기 위한 방법입니다. 아래와 같이 결제필드를 추가했을 때, wccm 문자메시지 내용에는 필드의 Abbreviation 항목을 사용하여 사용자 입력 내용 추가가 가능합니다.
What’s Your Favorite Color? {order:myfield1} Do you prefer Marvel over DC? {order:myfield2} What size do you wear? {order:myfield3}
WooCommerce Checkout Manager 플러그인 외에도 결제필드 추가가 가능한 플러그인에서 추가한 필드도 {order:<필드명>} 처럼 문자메시지에 입력한 필드 내용을 삽입할 수 있습니다.

Easy Digital Downloads

Easy Digital Downloads 플러그인을 사용하여 결제 시 사용자에게 주문 완료 문자메시지를 전송하는 방법입니다. 결제 폼에 핸드폰 번호 입력을 위해 아래와 같이 전화번호 필드를 추가합니다. 테마의 functions.php에 아래의 내용을 추가합니다.
function edd_danbisms($payment_id, $payment_data) {
  do_action('danbisms_send',
    $_POST['edd_phone'], '',
    '주문이 완료되었습니다.');
}
add_action('edd_insert_payment', 'edd_danbisms', 10, 2);

Code language: PHP (php)
function edd_purchase_form_phone() {
?>
Code language: PHP (php)

구매하시는 분의 전화번호를 입력해주세요.

<?php } add_action(‘edd_purchase_form_user_info_fields’, ‘edd_purchase_form_phone’);

Gravity Forms

문자 메시지 설정

관리자 Forms > 원하는 폼 > Settings > Notifications 로 이동하여 원하는 알림 설정으로 진입합니다. (예: Admin Notification)

핸드폰 번호:

수신할 폰 번호를 입력합니다. 여러 번호로 보낼 경우 쉼표(,)로 나누어 입력하면 되며, 양식에 포함된 데이터를 사용할 경우 해당 필드 키를 입력할 수도 있습니다.

문자메시지 제목:

문자메세지의 내용이 길어서 LMS로 발송될 때 제목으로 사용되는 문구를 지정합니다. 단문의 경우 해당값은 무시됩니다.

문자메시지 내용:

메세지의 내용을 지정합니다. 텍스트 영역 오른쪽의 아이콘을 클릭하여 필드 태그 입력 도우미를 사용할 수 있습니다.

알림톡 설정

알림톡으로 발송:

체크박스에 체크하면 문자 대신 알림톡으로 발송됩니다.

알림톡 템플릿:

토스트클라우드에 등록한 템플릿들 중 사용 할 템플릿을 선택합니다.

알림톡 템플릿 치환값 설정:

템플릿을 선택하면 해당 템플릿 내용 중 치환되어야 할 값들이 표시됩니다. 각 치환자들에 대해서 어떤 값(키워드)으로 바꿀 지 모두 설정 해야만 알림톡이 정상발송됩니다.

알림톡으로 발송 될 때에는 문자 메세지에서 설정한 제목과 본문내용은 무시되며 알림톡 템플릿 내용대로 발송되게 됩니다.

Contact Form 7

Contact Form 에서 폼(연락처 양식) 을 추가하면 SMS 탭이 있습니다.

문자 메세지 설정

문자 메세지 설정은 Contact Form 7의 메일 템플릿 설정과 유사합니다. 생성한 연락처 양식(contact form)마다 지정된 필드의 키(key)값을 기준으로 사용 가능한 태그 목록이 상단에 표시됩니다. 이 태그를 기준으로 제목과 메세지 본문을 작성하여 템플릿을 지정하면 연락처 양식에 입력한 값들이 치환되어 발송됩니다.

관리자에게 문자 발송(Send SMS to Admin):

해당 항목에 체크하여야만 문자/알림톡이 발송됩니다. (알림톡으로 발송시에도 체크되어 있어야 합니다.)

수신번호(To):

문자메세지를 발송할 대상 번호를 입력합니다. 보통 담당자(관리자)의 번호를 입력하면 됩니다. (고급 사용자의 경우 연락처 양식의 필드 중 휴대전화 번호 필드 키 태그를 입력하여 해당 번호로 발송되게 할 수도 있습니다.)

제목(Subject):

문자메세지의 내용이 길어서 LMS로 발송될 때 제목으로 사용되는 문구를 지정합니다. 단문의 경우 해당값은 무시됩니다.

메세지 본문(Message Body):

메세지의 내용을 지정합니다. [your-subject] [your-name] 등 연락처 양식 제작 시 사용한 필드들의 키 태그들을 사용할 수 있습니다.

알림톡 설정

알림톡으로 발송:

체크박스에 체크하면 문자 대신 알림톡으로 발송됩니다.

알림톡 템플릿:

토스트클라우드에 등록한 템플릿들 중 사용 할 템플릿을 선택합니다.

알림톡 템플릿 치환값 설정:

템플릿을 선택하면 해당 템플릿 내용 중 치환되어야 할 값들이 표시됩니다. 각 치환자들에 대해서 어떤 값(키워드)으로 바꿀 지 모두 설정 해야만 알림톡이 정상발송됩니다.

알림톡으로 발송 될 때에는 문자 메세지에서 설정한 제목과 본문내용은 무시되며 알림톡 템플릿 내용대로 발송되게 됩니다.

K 보드

KBoard 에서 댓글 등록 시 특정 핸드폰 번호로 문자메시지를 전송하는 방법입니다. 테마의 functions.php 파일에 다음과 같이 코드를 추가합니다. (단, KBoard의 버전에 따라 게시글의 제목이 전송되지 않을 수 있습니다.)
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 2);
function my_kboard_comments_insert($insert_id, $content_uid) {
    $document = new KBContent();
    $document->initWithUID($content_uid);
    do_action('danbisms_send',
        '핸드폰번호', '',
        sprintf('[%s] 게시글 "%s"에 댓글이 등록되었습니다.',
            get_bloginfo('name'), $document->title));
}

Code language: PHP (php)

킹콩보드

킹콩보드에서 댓글 등록 시 특정 핸드폰 번호로 문자메시지를 전송하는 방법입니다. 테마의 functions.php 파일에 다음과 같이 코드를 추가합니다.
add_action('kingkongboard_save_comment_after', 'my_kkboard_comment_insert', 10, 3);
function my_kkboard_comment_insert($entry_id, $comment_id, $content) {
$post = get_post($entry_id);
do_action('danbisms_send',
'<핸드폰번호>',
'',
sprintf('[%s] 게시글 "%s"에 댓글이 등록되었습니다.',
get_bloginfo('name'),
$post->post_title)
);
}

Code language: PHP (php)

Hook

do_action('danbisms_send', '<수신 전화번호>', '<제목>', '<본문>'); 예) do_action('danbisms_send', '010-0000-0000', '단비스토어', '안녕하세요? 단비스토어입니다.'); 참고로본문이 80 바이트(영문 80자, 한글 40) 이상이어서 LMS로 전송될 때 제목이 사용되며, 80 바이트 이내로 전송될 때는 제목이 사용되지 않습니다. 제목을 넣지 않으실 때는 do_action('danbisms_send', '010-0000-0000', '', '안녕하세요? 단비스토어입니다.'); 와 같이 제목을 공란으로 두셔도 됩니다.

4. FAQ

SMS 발송의 커스터마이징을 하고 싶습니다.

단비 SMS는 발송을 위한 훅(Hook)을 제공하므로, 손쉽게 테마나 다른 플러그인과 연동할 수 있습니다. 직접 연동이 어렵거나 보다 복잡한 프로세스가 필요하신 경우 1:1 문의로 문의해 주시기 바랍니다. 개발실비만 청구됩니다.