短信验证码发送
调用阿里云短信接口发送验证码,支持自定义验证码,也可以不传由平台自动生成 6 位随机码。套餐制,每次调用扣减 1 次。
接口信息
| 项目 | 说明 |
|---|
| 接口地址 | POST /api/v3/dxyzm |
| 计费方式 | 套餐制 |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|
phone | string | 是 | 接收手机号(11 位) |
code | string | 否 | 自定义 6 位验证码,不传则由平台生成 |
请求示例
PHP
<?php
$app_id = 'YOUR_APP_ID';
$app_key = 'YOUR_APP_KEY';
$url = 'https://yunsapi.com/api/v3/dxyzm';
$params = ['phone' => '13800138000'];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'X-APP-ID: ' . $app_id,
'X-APP-KEY: ' . $app_key,
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp;
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SmsDemo {
public static void main(String[] args) throws Exception {
String appId = "YOUR_APP_ID";
String appKey = "YOUR_APP_KEY";
String url = "https://yunsapi.com/api/v3/dxyzm";
String body = "{\"phone\":\"13800138000\"}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.header("X-APP-ID", appId)
.header("X-APP-KEY", appKey)
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());
}
}
响应示例
{
"code": 0,
"msg": "发送成功",
"data": {
"phone": "13800138000",
"code": "123456",
"generated": false,
"remain": 9
},
"request_id": "req_xxx"
}
响应参数
| 参数 | 类型 | 说明 |
|---|
data.phone | string | 接收手机号 |
data.code | string | 本次发送的验证码,用于和您本地生成的验证码做比对 |
data.generated | boolean | true 表示平台自动生成,false 表示使用了自定义验证码 |
data.remain | integer | 套餐剩余次数 |