TextGym API 文档
简洁强大的短信 API,5 分钟完成集成
快速开始
1
获取 API Key
注册 TextGym 账号,在控制台获取您的 API Key
API_KEY=your_api_key_here2
发送第一条短信
使用简单的 HTTP POST 请求发送短信
curl -X POST https://api.textgym.com/v1/sms/send \\
-H "Authorization: Bearer YOUR_API_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"to": "+8613800138000",
"message": "您的验证码是:123456"
}'3
处理响应
API 返回 JSON 格式的响应
{
"success": true,
"message_id": "msg_abc123",
"status": "queued",
"to": "+8613800138000"
}API 参考
基础信息
Base URL
https://api.textgym.com/v1认证方式
Bearer Token请求格式
application/json字符编码
UTF-8POST
/sms/send发送单条短信
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
to | string | 是 | 接收号码,E.164 格式 |
message | string | 是 | 短信内容,最长 500 字符 |
sender_id | string | 否 | 发送方显示名称 |
callback_url | string | 否 | 状态回调 URL |
响应示例
{
"success": true,
"message_id": "msg_abc123xyz",
"status": "queued",
"to": "+8613800138000",
"segments": 1,
"cost": 0.05
}GET
/sms/{message_id}查询短信状态
路径参数
| 参数 | 类型 | 说明 |
|---|---|---|
message_id | string | 短信 ID |
响应示例
{
"success": true,
"message_id": "msg_abc123xyz",
"status": "delivered",
"to": "+8613800138000",
"sent_at": "2026-10-27T10:30:00Z",
"delivered_at": "2026-10-27T10:30:05Z"
}POST
/sms/batch批量发送短信
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
messages | array | 是 | 短信列表,最多 1000 条 |
响应示例
{
"success": true,
"batch_id": "batch_xyz789",
"total": 100,
"queued": 100,
"failed": 0
}示例代码
Node.js
const fetch = require('node-fetch');
async function sendSMS(to, message) {
const response = await fetch(
'https://api.textgym.com/v1/sms/send',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ to, message })
}
);
return await response.json();
}Python
import requests
def send_sms(to, message):
url = 'https://api.textgym.com/v1/sms/send'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {'to': to, 'message': message}
response = requests.post(url, json=data,
headers=headers)
return response.json()PHP
<?php
$ch = curl_init('https://api.textgym.com/v1/sms/send');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'to' => '+8613800138000',
'message' => '您的验证码是:123456'
]));
$response = curl_exec($ch);
curl_close($ch);Java
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.textgym.com/v1/sms/send"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(
"{\"to\":\"+8613800138000\",
\"message\":\"您的验证码是:123456\"}"
))
.build();
HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());状态码
200请求成功
400请求参数错误
401认证失败
429请求频率超限
500服务器错误