search
HomeBackend DevelopmentPHP ProblemHow to send text messages in php

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

<?php
// 请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/sms/send?&#39;;
// 请求参数
$params = [
    // 模板id
    &#39;tpl_id&#39; => &#39;模板id&#39;,
    // 您申请的接口调用Key
    &#39;key&#39; => &#39;您申请的接口调用Key&#39;,
    //发送的手机号
    &#39;mobile&#39; => &#39;发送的手机号&#39;,
    //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
    &#39;tpl_value&#39; => urlencode(&#39;#total#=1000&#used#=100&#balance#=900&#39;),
];
$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[&#39;error_code&#39;];
if ($errorCode === 0) {
    $data = $result[&#39;result&#39;];

    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, &#39;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36&#39;);
    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 . &#39;?&#39; . $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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Atom editor mac version download

Atom editor mac version download

The most popular open source editor