网淘吧来吧,欢迎您!

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密钥

  1. 登录或在maton.ai
  2. 创建一个账户前往
  3. maton.ai/settings

复制您的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-usen-gbde-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密钥问题

  1. 检查MATON_API_KEY环境变量是否已设置:
echo $MATON_API_KEY
  1. 通过列出连接来验证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

故障排除:无效的应用名称

  1. 确保您的URL路径以clicksend开头。例如:
  • 正确:https://gateway.maton.ai/clicksend/v3/account
  • 错误:https://gateway.maton.ai/v3/account

资源

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Model Router 下一篇:Brevo

相关文章

您是本站第322726名访客 今日有146篇新文章/评论