1. Home
  2. Docs
  3. woocommerce ‘Custom...
  4. 알림 문자 발송 (codeM plugin 활용)

알림 문자 발송 (codeM plugin 활용)

if (function_exists('get_wc_booking_statuses')) {
    $status_list = get_wc_booking_statuses();

    foreach($status_list as $item => $value) {
        add_action('woocommerce_booking_'.$value, 'send_booking_sms_status', 10, 2);
    }
}

//Booking 상태 변경에 따른 발송 처리
function send_booking_sms_status($booking_id, $booking_obj) {
    if (!empty($booking_obj -> get_status())) {

        $status = $booking_obj -> get_status();

        // Booking 상태는 unpaid, pending-confirmation, confirmed, paid, complete, in-cart
        // 가 있습니다. 상황에 맞춰 구성하여 이용하세요.

        if ($status == 'unpaid') {
            $mall_name = '사이트명';
            $rcv_num   = '0100000000'; //문자 수신 전화번호
            $smstext   = '예약이 unpaid 되었습니다.'; //수신받을 문자 내용
            //문자 발송 처리
            do_action('mshop_send_sms', $rcv_num, null, $smstext, $mall_name);
        }
    }
}

부킹스 관련 상태 체크 문자 발송이 없어서, 코드엠샵에 문의 시 안내 받은 코드

단, 위 상태 체크 방법으로는 예약 상품의 상태 변경 시 사이트가 다운이 되는 현상이 확인되어, woocommerce_booking_{status}라는 훅으로 각각의 상태별 조건 구현.

// 예약 승인 시 - to 게스트 
add_action( 'woocommerce_booking_pending-confirmation_to_confirmed', 'send_booking_confirmed_status', 99);
function send_booking_confirmed_status($booking_id) {	 
           . . . . . . .

     //문자 발송 처리
     do_action('mshop_send_sms', $rcv_num, null, $smstext, $mall_name); 
}