ClickSend
2026-03-29
新闻来源:网淘吧
围观:19
电脑广告
手机广告
ClickSend
使用托管身份验证访问ClickSend API。发送短信、彩信和语音消息,管理联系人和列表,并跟踪消息送达情况。
快速开始
# Get account info
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/clicksend/v3/account')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
基础URL
https://gateway.maton.ai/clicksend/{native-api-path}
替换{native-api-path}为实际的ClickSend API端点路径。网关将请求代理到rest.clicksend.com并自动注入您的身份验证信息。
身份验证
所有请求都需要在Authorization头中包含Maton API密钥:
Authorization: Bearer $MATON_API_KEY
环境变量:将您的API密钥设置为MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
获取您的API密钥
复制您的API密钥
在此管理您的ClickSend连接https://ctrl.maton.ai。
列出连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=clicksend&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
创建连接
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'clicksend'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
获取连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应:
{
"connection": {
"connection_id": "37beee67-29f7-43b6-b0b2-5f0f7a5d6440",
"status": "ACTIVE",
"creation_time": "2026-02-10T10:04:12.418030Z",
"last_updated_time": "2026-02-10T10:06:17.059090Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "clicksend",
"metadata": {}
}
}
删除连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
指定连接
如果您有多个ClickSend连接,请使用Maton-Connection请求头来指定要使用的连接:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/clicksend/v3/account')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '37beee67-29f7-43b6-b0b2-5f0f7a5d6440')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略,网关将使用默认(最早创建的)活跃连接。
API参考
响应格式
所有ClickSend API响应均遵循以下结构:
{
"http_code": 200,
"response_code": "SUCCESS",
"response_msg": "Description of the result",
"data": { ... }
}
账户
获取账户信息
GET /clicksend/v3/account
响应:
{
"http_code": 200,
"response_code": "SUCCESS",
"response_msg": "Here's your account",
"data": {
"user_id": 672721,
"username": "user@example.com",
"user_email": "user@example.com",
"balance": "2.005718",
"user_phone": "+18019234886",
"user_first_name": "John",
"user_last_name": "Doe",
"country": "US",
"default_country_sms": "US",
"timezone": "America/Chicago",
"_currency": {
"currency_name_short": "USD",
"currency_prefix_d": "$"
}
}
}
短信
发送短信
POST /clicksend/v3/sms/send
Content-Type: application/json
{
"messages": [
{
"to": "+15551234567",
"body": "Hello from ClickSend!",
"source": "api"
}
]
}
参数:
| 字段 | 类型 | 描述 |
|---|---|---|
至 | 字符串 | 收件人电话号码(E.164 格式) |
正文 | 字符串 | 短信消息内容 |
来源 | 字符串 | 来源标识符(例如:"api"、"sdk") |
发件人 | 字符串 | 发件人 ID(可选) |
计划 | 整数 | 计划发送的 Unix 时间戳(可选) |
自定义字符串 | 字符串 | 自定义参考(可选) |
获取短信价格
POST /clicksend/v3/sms/price
Content-Type: application/json
{
"messages": [
{
"to": "+15551234567",
"body": "Test message",
"source": "api"
}
]
}
短信历史
GET /clicksend/v3/sms/history
查询参数:
| 参数 | 描述 |
|---|---|
起始日期 | 起始日期的Unix时间戳 |
date_to | 结束日期的Unix时间戳 |
page | 页码(默认:1) |
limit | 每页结果数(默认:15) |
接收短信
GET /clicksend/v3/sms/inbound
短信回执(送达报告)
GET /clicksend/v3/sms/receipts
取消定时短信
PUT /clicksend/v3/sms/{message_id}/cancel
取消所有定时短信
PUT /clicksend/v3/sms/cancel-all
短信模板
列出模板
GET /clicksend/v3/sms/templates
响应:
{
"http_code": 200,
"response_code": "SUCCESS",
"response_msg": "Here are your templates.",
"data": {
"total": 1,
"per_page": 15,
"current_page": 1,
"data": [
{
"template_id": 632497,
"body": "Hello {name}, this is a test message.",
"template_name": "Test Template"
}
]
}
}
创建模板
POST /clicksend/v3/sms/templates
Content-Type: application/json
{
"template_name": "Welcome Message",
"body": "Hello {name}, welcome to our service!"
}
更新模板
PUT /clicksend/v3/sms/templates/{template_id}
Content-Type: application/json
{
"template_name": "Updated Template",
"body": "Updated message content"
}
删除模板
DELETE /clicksend/v3/sms/templates/{template_id}
彩信
发送彩信
POST /clicksend/v3/mms/send
Content-Type: application/json
{
"messages": [
{
"to": "+15551234567",
"body": "Check out this image!",
"media_file": "https://example.com/image.jpg",
"source": "api"
}
]
}
彩信历史记录
GET /clicksend/v3/mms/history
获取彩信价格
POST /clicksend/v3/mms/price
Content-Type: application/json
{
"messages": [...]
}
彩信回执
GET /clicksend/v3/mms/receipts
语音
发送语音消息
POST /clicksend/v3/voice/send
Content-Type: application/json
{
"messages": [
{
"to": "+15551234567",
"body": "Hello, this is a voice message.",
"voice": "female",
"lang": "en-us",
"source": "api"
}
]
}
语音参数:
| 字段 | 描述 |
|---|---|
至 | 收件人电话号码 |
正文 | 要朗读的文本 |
语音 | 语音性别:男性或女性 |
语言 | 语言代码(例如:en-us、en-gb、de-de) |
计划 | 计划通话的Unix时间戳 |
需要输入 | 需要键盘输入(0-1) |
机器检测 | 检测应答机(0-1) |
可用语言
GET /clicksend/v3/voice/lang
返回支持的语言列表,包含代码和可用性别。
语音历史
GET /clicksend/v3/voice/history
注意:需要在账户上启用语音访问功能。
获取语音价格
POST /clicksend/v3/voice/price
取消语音消息
PUT /clicksend/v3/voice/{message_id}/cancel
联系人列表
列出所有列表
GET /clicksend/v3/lists
响应:
{
"http_code": 200,
"response_code": "SUCCESS",
"response_msg": "Here are your contact lists.",
"data": {
"total": 2,
"data": [
{
"list_id": 3555277,
"list_name": "Opt-Out List",
"_contacts_count": 0
},
{
"list_id": 3555278,
"list_name": "Example List",
"_contacts_count": 10
}
]
}
}
获取列表
GET /clicksend/v3/lists/{list_id}
创建列表
POST /clicksend/v3/lists
Content-Type: application/json
{
"list_name": "My New List"
}
更新列表
PUT /clicksend/v3/lists/{list_id}
Content-Type: application/json
{
"list_name": "Updated List Name"
}
删除列表
DELETE /clicksend/v3/lists/{list_id}
移除重复项
PUT /clicksend/v3/lists/{list_id}/remove-duplicates
联系人
列出列表中的联系人
GET /clicksend/v3/lists/{list_id}/contacts
查询参数:
| 参数 | 描述 |
|---|---|
page | 页码 |
limit | 每页结果数 |
updated_after | 筛选在此时间戳之后更新的联系人 |
获取联系人
GET /clicksend/v3/lists/{list_id}/contacts/{contact_id}
响应:
{
"http_code": 200,
"response_code": "SUCCESS",
"data": {
"contact_id": 1581565666,
"list_id": 3555278,
"phone_number": "+18019234886",
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"custom_1": "",
"custom_2": "",
"custom_3": "",
"custom_4": "",
"organization_name": "",
"address_city": "",
"address_state": "",
"address_country": "US"
}
}
创建联系人
POST /clicksend/v3/lists/{list_id}/contacts
Content-Type: application/json
{
"phone_number": "+15551234567",
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
}
联系人字段:
| 字段 | 描述 |
|---|---|
phone_number | 电话号码(E.164格式) |
first_name | 名字 |
last_name | 姓氏 |
email | 电子邮件地址 |
fax_number | 传真号码 |
organization_name | 公司名称 |
custom_1-custom_4 | 自定义字段 |
address_line_1,address_line_2 | 地址 |
地址_城市,地址_州/省,地址_邮政编码,地址_国家 | 地址组件 |
更新联系人
PUT /clicksend/v3/lists/{list_id}/contacts/{contact_id}
Content-Type: application/json
{
"first_name": "Jane",
"last_name": "Smith"
}
删除联系人
DELETE /clicksend/v3/lists/{list_id}/contacts/{contact_id}
复制联系人至另一列表
PUT /clicksend/v3/lists/{from_list_id}/contacts/{contact_id}/copy/{to_list_id}
转移联系人至另一列表
PUT /clicksend/v3/lists/{from_list_id}/contacts/{contact_id}/transfer/{to_list_id}
电子邮件地址
列出已验证的电子邮件地址
GET /clicksend/v3/email/addresses
添加电子邮件地址
POST /clicksend/v3/email/addresses
Content-Type: application/json
{
"email_address": "sender@example.com"
}
删除电子邮件地址
DELETE /clicksend/v3/email/addresses/{email_address_id}
实用端点
列出国家
GET /clicksend/v3/countries
返回包含代码的所有受支持国家列表。
分页
ClickSend 使用基于页面的分页:
GET /clicksend/v3/lists?page=2&limit=50
响应包含:
{
"data": {
"total": 100,
"per_page": 50,
"current_page": 2,
"last_page": 2,
"next_page_url": null,
"prev_page_url": "...?page=1",
"from": 51,
"to": 100,
"data": [...]
}
}
参数:
页码- 页码(默认值:1)limit- 每页结果数(默认值:15)
代码示例
JavaScript
const response = await fetch(
'https://gateway.maton.ai/clicksend/v3/sms/send',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
messages: [
{
to: '+15551234567',
body: 'Hello from ClickSend!',
source: 'api'
}
]
})
}
);
const data = await response.json();
console.log(data);
Python
import os
import requests
response = requests.post(
'https://gateway.maton.ai/clicksend/v3/sms/send',
headers={
'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}',
'Content-Type': 'application/json'
},
json={
'messages': [
{
'to': '+15551234567',
'body': 'Hello from ClickSend!',
'source': 'api'
}
]
}
)
data = response.json()
print(f"Status: {data['response_code']}")
注意事项
- 电话号码必须采用 E.164 格式(例如,
+15551234567) - 所有时间戳均为 Unix 时间戳(自纪元以来的秒数)
- 请使用
source字段在分析中标识您的应用程序 - 模板支持占位符,例如
{name}、{custom_1}等。 - 超过 160 个字符的短信将被拆分为多个部分
- 语音访问需要账户级别的权限
- 重要提示:使用 curl 命令时,请使用
curl -g当URL中包含用于禁用通配符解析的方括号时 - 重要提示:当将curl输出通过管道传递给
jq或其他命令时,某些shell环境中$MATON_API_KEY等环境变量可能无法正确展开
错误处理
| 状态码 | 含义 |
|---|---|
| 200 | 成功 |
| 400 | 请求错误 |
| 401 | 未授权 - 凭证无效 |
| 403 | 禁止访问 - 权限不足 |
| 404 | 资源未找到 |
| 429 | 请求频率受限 |
| 500 | 服务器内部错误 |
响应代码:
成功- 操作成功完成禁止访问- 拒绝访问资源错误的请求- 请求参数无效无效的接收者- 无效的电话号码
故障排除:API密钥问题
- 检查
MATON_API_KEY环境变量是否已设置:
echo $MATON_API_KEY
- 通过列出连接来验证API密钥是否有效:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
故障排除:无效的应用名称
- 确保您的URL路径以
clicksend开头。例如:
- 正确:
https://gateway.maton.ai/clicksend/v3/account - 错误:
https://gateway.maton.ai/v3/account
资源
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Model Router
下一篇:Brevo


微信扫一扫,打赏作者吧~