TextGym API 文档

简洁强大的短信 API,5 分钟完成集成

快速开始

1

获取 API Key

注册 TextGym 账号,在控制台获取您的 API Key

API_KEY=your_api_key_here
2

发送第一条短信

使用简单的 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 URLhttps://api.textgym.com/v1
认证方式Bearer Token
请求格式application/json
字符编码UTF-8
POST/sms/send

发送单条短信

请求参数

参数类型必填说明
tostring是接收号码,E.164 格式
messagestring是短信内容,最长 500 字符
sender_idstring否发送方显示名称
callback_urlstring否状态回调 URL

响应示例

{
  "success": true,
  "message_id": "msg_abc123xyz",
  "status": "queued",
  "to": "+8613800138000",
  "segments": 1,
  "cost": 0.05
}
GET/sms/{message_id}

查询短信状态

路径参数

参数类型说明
message_idstring短信 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

批量发送短信

请求参数

参数类型必填说明
messagesarray是短信列表,最多 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

服务器错误