Home  >  Article  >  Backend Development  >  How to send text messages in php

How to send text messages in php

青灯夜游
青灯夜游Original
2022-10-19 18:55:161458browse

Sending method: 1. Real-name authentication and activate SMS API interface service, obtain API request KEY; 2. Apply for SMS template and wait for approval; 3. Call API interface, through "function juheHttpRequest($url,$ params=false,$ispost=0){...}" method to initiate a network request, process the data and return the result; 4. Use "$response=juheHttpRequest(...);" to accept the content and output it.

How to send text messages in php

The operating environment of this tutorial: windows7 system, PHP8.1 version, DELL G3 computer

SMS based on PHP API interface call example

Preliminary preparation

  • Real-name authentication

    According to the requirements of the operator, this interface is currently only open to real-name authenticated enterprise users, so please make sure you are a real-name authenticated enterprise user before using it

  • Apply for the interface, Obtain the interface calling credential request key

    throughhttps://www.juhe.cn/docs/api/id/54?s=cpphpcn Self-service application to open the interface

    You can see the calling certificate request key of this interface in Personal Center ➡️ Data Center ➡️ My API module

  • Number of requests to purchase data (free and free interfaces with complimentary times can be debugged first )

  • Apply for SMS template in advance in the personal center of the official website of the aggregation. The interface can only be called after the customer service review is passed

Special Instructions

  • Please read the Interface Document of the official website carefully. This is an agreement between aggregate data and developers. , it will help you understand the interface business, so as to carry out development work smoothly

  • The focus of this example is to help developers successfully obtain the response data of the interface. For This article will not discuss the developer's business logic such as data processing.

  • This example aims to simplify the developer's calling steps to the greatest extent. It does not encapsulate the functional modules into independent tool classes. It is convenient for developers to directly run and debug after copying with one click

  • Due to limited ability, there are inevitably errors and omissions in the examples. If you find any, please criticize and correct them

Interface Remarks

  • The operator restricts the content of the same number and the same signature within 1 minute. Receive 1 message, 3 messages in 10 minutes, 4 messages in 1 hour, 20 messages in a day, otherwise it may be blocked by the operator

  • The SMS API interface itself does not limit the sending frequency, the specific sending frequency Users need to set it by themselves, only domestic mobile phone numbers

  • Please be sure to add image verification codes and other anti-malicious attack mechanisms to prevent text message bombardment. Add T at the end of the marketing content to unsubscribe, marketing SMS sending time is: 8:30 to 21:30. Marketing content has an anti-phishing mechanism. Please do not send a single message. The minimum number of mobile messages is 20 (cyclic calls). China Unicom and Telecom do not limit

  • SMS content (including signatures) of less than or equal to 70 characters will be counted. Fee 1. Text messages exceeding 70 characters are considered long messages and will be charged for every 67 characters.

Parameter description

##mobiletrueMobile phone numbertpl_idtruetemplate idkeytrueApplying request keytpl_valuefalse Template variables are determined based on the variables in the template. Can be empty
Parameter name Required Description

##All codes

 '模板id',
    // 您申请的接口调用Key
    'key' => '您申请的接口调用Key',
    //发送的手机号
    'mobile' => '发送的手机号',
    //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
    'tpl_value' => urlencode('#total#=1000&#used#=100&#balance#=900'),
];
$paramsString = http_build_query($params);

// 发起接口网络请求
$response = null;
try {
    $response = juheHttpRequest($apiUrl, $paramsString, 1);
} catch (Exception $e) {
    var_dump($e);
    //此处根据自己的需求进行自身的异常处理
}
if (!$response) {
    echo "请求异常" . PHP_EOL;
}
$result = json_decode($response, true);
if (!$result) {
    echo "请求异常" . PHP_EOL;
}
$errorCode = $result['error_code'];
if ($errorCode === 0) {
    $data = $result['result'];

    echo "请求唯一标示:{$data["sid"]}" . PHP_EOL;
    echo "请求消耗次数:{$data["fee"]}" . PHP_EOL;
} else {
    // 请求异常
    echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL;
}

/**
 * 发起网络请求函数
 * @param string $url 请求的URL
 * @param bool $params 请求的参数内容
 * @param int $ispost 是否POST请求
 * @return bool|string 返回内容
 */
function juheHttpRequest($url, $params = false, $ispost = 0)
{
    $httpInfo = [];
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 12);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if ($ispost) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_URL, $url);
    } else {
        if ($params) {
            curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }
    $response = curl_exec($ch);
    if ($response === FALSE) {
        // echo "cURL Error: ".curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}
Recommended learning: "

PHP Video Tutorial

The above is the detailed content of How to send text messages in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn