根據需求,搞了個基本款發送的外掛。不過發送的方式是採用 Webhook 接收後處理,意思是如果有發送需求,需要自己包一下請求送到網站 API 處理。

<?php
/*
Plugin Name: 三竹簡訊 Webhook
Plugin URI: https://gist.github.com/nczz/750c3d8d18b9e0ca07ca06a248c11570
Description: 接收 Webhook 請求發送簡訊
Author: Chun
Version: 1.0
Author URI: https://www.mxp.tw/
 */
/**
** @param username 三竹簡訊用戶帳號
** @param password 三竹簡訊用戶密碼
** @param mobile 台灣手機號碼
** @param text 簡訊內容。切勿混用非中英文等其他語言。
**/
function mxp_mitake_sms_text_webhook() {
    if (!isset($_POST['mobile']) || $_POST['mobile'] == "" || !isset($_POST['username']) || $_POST['username'] == "" ||
        !isset($_POST['password']) || $_POST['password'] == "" || !isset($_POST['text']) || $_POST['text'] == "") {
        wp_send_json_error(array('code' => 502, 'data' => '', 'msg' => '資料不正確的錯誤的請求,加油好嗎!'));
    }
    $username = $_POST['username'];
    $password = $_POST['password'];
    $mobile = str_replace(array(' ', '-'), '', $_POST['mobile']);
    $text = $_POST['text'];
    if (strpos($mobile, '09') == 0 && strpos($mobile, '09') !== false && strlen($mobile) == 10) {
        wp_send_json_error(array('code' => 503, 'data' => '', 'msg' => '手機格式錯誤惹~'));
    }
    $package = array(
        'username' => $username,
        'password' => $password,
        'dstaddr' => $mobile,
        'smbody' => $text,
        'encoding' => 'UTF8',
    );
    $url = 'http://smexpress.mitake.com.tw:9600/SmSendGet.asp?' . http_build_query($package, '', '&', PHP_QUERY_RFC3986);
    $args = array(
        'timeout' => 5,
        'redirection' => 5,
        'httpversion' => '1.1',
        'user-agent' => 'WordPress',
        'blocking' => true,
        'headers' => array(),
        'cookies' => array(),
        'body' => null,
        'compress' => false,
        'decompress' => true,
        'sslverify' => false,
        'stream' => false,
        'filename' => null,
    );
    $response = wp_remote_get($url, $args);
    if (is_wp_error($response)) {
        $error_message = $response->get_error_message();
        wp_send_json_error(array('code' => 504, 'data' => '', 'msg' => $error_message));
    } else {
        wp_send_json_success(array('code' => 200, 'data' => json_encode($response)));
    }
}
add_action('wp_ajax_nopriv_mxp_mitake_sms_text_webhook', 'mxp_mitake_sms_text_webhook');

Gist: Link

請求方式如下:

POST /wp-admin/admin-ajax.php
action: mxp_mitake_sms_text_webhook
username: 三竹帳號
password: 三竹密碼
mobile: 台灣手機號碼
text: 簡訊文字

這樣想怎樣發就怎樣發囉!

Facebook 外掛功能


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

參與討論

1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *