SMS 文档
在 SMSmobileAPI,我们努力使我们的 API 尽可能与任何架构或平台兼容。
无论您使用 REST、SOAP、cURL,还是 Python、JavaScript、PHP 等各种编程语言,我们的 API 都旨在与您的项目无缝集成。
我们还拥有适用于电子商务解决方案和软件的可立即使用的插件。
点击此处了解详情.
发送短信
此端点允许您从手机发送短信。端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的唯一 API 密钥。 |
| recipients | 必需的 收件人的电话号码。 |
| message | 必需的 要发送的消息(无 160 个字符的限制)。 |
| port |
定义用于发送短信的SIM卡端口: 1, 2或者留空。 如果留空,短信将自动通过可用的 SIM 卡端口发送。 此参数从 Android 版本开始可用 4.1.15.0 当应用程序处于以下状态时,该功能有效: 前景. |
| shorturl | 1 = 将 URL 转换为短链接 0 或空值 = 不进行转换 |
| sIdentifiant | 选择要发送短信的已连接手机。留空则默认使用第一个可用的设备。需要应用版本 3.0.35.3 或更高版本。 |
| sendwa | 1 = 通过 WhatsApp 发送。 |
| sendsms | 1 = 通过短信发送(如果为空则为默认值)。设置为 0 可阻止短信发送。 |
| encrypt_message | 是的 接收者需要密钥才能解密。 了解更多 |
| schedule_timestamp | UNIX 时间戳(GMT 0),即短信发送的时间戳。 |
请求示例:
GET https://api.smsmobileapi.com/sendsms/?apikey=YOUR_API_KEY&recipients=+1234567890&message=HelloWorld
JSON 响应示例:
{ "result": { "error": 0, "sent": "1", "id": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "note": "sent by mobile", "datetime": "2026-03-20T21:07:44Z", "datetimeLocal": "2026-03-20T22:07:44+01:00", "port": null, "iac_control": "1", "iac_authorized": "1", "send_with_whatsapp": "0", "encrypted": { "status": "0" }, "trial_account": { "status": "0", "sms_sent": 0 } } }
回答说明:
| 场地 | 描述 |
|---|---|
| result.error | 0 = 无错误。如果返回其他值,则表示请求失败或被阻止。 |
| result.sent | 1 = 手机已接受发送该消息。 |
| result.id | API 生成的唯一消息标识符。您可以将其存储以用于跟踪或日志记录。 |
| result.note | 有关邮件处理方式的更多信息。例如: 通过手机发送. |
| result.datetime | API响应的UTC日期/时间。 |
| result.datetimeLocal | 根据移动设备或服务器配置确定本地日期/时间。 |
| result.port | 用于发送的 SIM 卡端口。 1, 2, 或者 无效的 如果未指定或未返回。 |
| result.iac_control | 内部 API 控制状态。 1 表示该请求已通过内部验证检查。 |
| result.iac_authorized | 1 表示该 API 密钥已获得使用此端点的授权。 |
| result.send_with_whatsapp | 1 消息通过WhatsApp处理。 0 = 标准短信发送。 |
| result.encrypted.status | 1 = 已启用加密。 0 = 未加密发送的消息。 |
| result.trial_account.status | 1 该账户为试用账户。 0 = 普通账户。 |
| result.trial_account.sms_sent | 试用帐户已发送的短信数量(如有)。 |
重新发送未发送的短信
此端点允许您重新发送之前未发送的短信,但前提是该短信当前处于错误状态。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的唯一 API 密钥。 |
| guid | 必需的 要重新发送的消息的 GUID。 |
请求示例:
获取 https://api.smsmobileapi.com/resend/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE
JSON 响应示例:
{ "result": { "error": "0", "sms": "重新发送成功", "attempt": 1 } }
回答说明:
| 场地 | 描述 |
|---|---|
| result.error | 0 = 无错误。重发请求已成功接受。 |
| result.sms | API 返回的状态消息。在本例中,它确认短信已成功重发。 |
| result.attempt | 显示重发尝试次数。 |
从 API 发送的短信日志
此接口允许您检索通过 API 发送的短信日志。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的唯一 API 密钥。 |
| guid_message | 按唯一邮件标识符筛选。 |
| before | 检索此值之前发送的消息。根据您的实现方式,此值可以是时间戳或消息引用。 |
| error_api | 1 = 仅列出 API 请求出错的短信。 |
| error_mobile | 1 = 仅列出出现移动处理错误的短信。 |
| keyword | 按收件人号码或消息内容筛选。 |
请求示例:
GET https://api.smsmobileapi.com/log/sent/sms/?apikey=YOUR_API_KEY
JSON 响应示例:
{ "result": { "error": "0", "sms": [ { "sIdentifiantPhone": "abbg00055x5", "port": 0, "date_add": "2026-03-20", "hour_add": "22:07:44", "timestamp": 1774044464, "send_from_mobile": 1, "send_from_mobile_date": "2026-03-20", "send_from_mobile_heure": "22:10:05", "send_from_mobile_timestamp": 1774044605, "recipients": "32495898697", "sms": "test", "error_api": "", "send_from_mobile_erreur": "", "guid_message": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "timearea": "UTC+01", "date_add_server": "2026-03-20", "hour_add_server": "21:07:44", "timestamp_server": 1774040864, "send_from_mobile_date_server": "2026-03-20", "send_from_mobile_heure_server": "21:10:05" } ] } }
回答说明:
| 场地 | 描述 |
|---|---|
| result.error | 0 = 无错误。请求已成功处理。 |
| result.sms | 包含 API 返回的已发送短信日志条目的数组。 |
| result.sms[].sIdentifiantPhone | (如有)用于发送邮件的手机的标识符。 |
| result.sms[].port | 用于发送短信的SIM卡端口。 |
| result.sms[].date_add | 短信添加到队列时的本地日期。 |
| result.sms[].hour_add | 短信添加到队列时的当地时间。 |
| result.sms[].timestamp | 本地队列日期/时间的 UNIX 时间戳。 |
| result.sms[].send_from_mobile | 1 短信是从手机发送的。 0 = 尚未发送或发送失败。 |
| result.sms[].send_from_mobile_date | 手机实际发送短信时的当地日期。 |
| result.sms[].send_from_mobile_heure | 手机实际发送短信时的当地时间。 |
| result.sms[].send_from_mobile_timestamp | UNIX 时间戳,表示移动设备实际发送时间。 |
| result.sms[].recipients | 收件人电话号码。 |
| result.sms[].sms | 邮件内容。 |
| result.sms[].error_api | API 请求处理过程中如有错误,将返回该错误信息。空值表示无 API 错误。 |
| result.sms[].send_from_mobile_erreur | 发送过程中移动设备返回的错误信息(如有)。空值表示移动设备没有返回错误。 |
| result.sms[].guid_message | 唯一消息 GUID。 |
| result.sms[].timearea | 用于本地日期和时间字段的时区。 |
| result.sms[].date_add_server | 服务器端记录短信添加时间。 |
| result.sms[].hour_add_server | 服务器端添加短信的时间。 |
| result.sms[].timestamp_server | 服务器端 UNIX 时间戳,表示短信添加时间。 |
| result.sms[].send_from_mobile_date_server | 服务器端日期:手机发送短信的时间。 |
| result.sms[].send_from_mobile_heure_server | 服务器端时间:手机发送短信的时间。 |
列出手机发送的短信
此端点允许您列出从您的移动设备发送并同步到您的 SMSMobileAPI 帐户的短信。
重要的: 此功能从 Android 版本开始可用 4.1.20.
重要的: 此功能是 默认情况下未启用 在安卓应用中。
隐私: 所有同步信息均已匿名化、保密,并以安全方式处理。
历史记录限制: 此 API 仅返回最近一段时间的数据。 7天.
笔记: 如果您使用标准 API 端点发送短信 https://api.smsmobileapi.com/sendsms/这些短信也可能出现在此列表中,因为它们实际上是从您的移动设备发送的。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的唯一 API 密钥。 |
| date | 可选。精确日期筛选器 YYYY-MM-DD 格式。 |
| date_from | 可选。周期开始日期 YYYY-MM-DD 格式。 |
| date_to | 可选。期间结束日期 YYYY-MM-DD 格式。 |
| period | 可选。预定义时间段筛选器。允许的值: today, yesterday, last_24h, last_3days, last_7days. |
| number | 可选。按收件人电话号码筛选。 |
| sIdentifiant | 可选。按移动设备标识符筛选。 |
| message | 可选。按短信内容筛选。 |
| search | 可选。全局搜索 sIdentifiant, number, message, mobile_date_formatted, 和 synchro_time. |
| sort_by | 可选。排序字段。允许的值: sIdentifiant, number, message, mobile_date_ms, mobile_date_formatted, synchro_time. |
| sort_order | (可选)排序方式: ASC 或者 DESC. |
| limit | 可选。返回的最大行数。允许的最大值: 200. |
返回的字段:
| 场地 | 描述 |
|---|---|
| sIdentifiant | 与已发送短信关联的手机标识符。 |
| number | 收件人电话号码。 |
| message | 短信内容。 |
| mobile_date_ms | 原始短信时间戳(毫秒)。 |
| mobile_date_formatted | 从移动设备接收到的格式化日期。 |
| synchro_time | 短信同步到 SMSMobileAPI 的日期和时间。 |
请求示例:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY
使用过滤器的示例:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&date=2026-03-13&number=+15551234567&sort_by=synchro_time&sort_order=DESC
预设周期示例:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&period=last_7days&limit=200
JSON 响应示例:
{ "result": { "error": "0", "count": 200, "limit": 200, "history_limit_days": 7, "sort_by": "mobile_date_ms", "sort_order": "DESC", "sms": [ { "sIdentifiant": "508b004b4aadacc4", "number": "+15551234567", "message": "您好,您的预约已确认。", "mobile_date_ms": 1774041004692, "mobile_date_formatted": "2026-03-20 22:10:04", "synchro_time": "2026-03-20 21:10:05" }, { "sIdentifiant": "e5b70a8a28b2ec3d", "number": "+447700900123", "message": "您的验证码是 482915。", "mobile_date_ms": 1774040902284, "mobile_date_formatted": "2026-03-20 22:08:22", "synchro_time": "2026-03-20 21:08:35" }, { "sIdentifiant": "e5b70a8a28b2ec3d", "number": "+33198765432", "message": "感谢您的订单。订单正在处理中。", "mobile_date_ms": 1774026491230, "mobile_date_formatted": "2026-03-20 18:08:11", "synchro_time": "2026-03-20 17:19:19" } ] } }
回答说明:
| 场地 | 描述 |
|---|---|
| result.error | 0 = 无错误。请求已成功处理。 |
| result.count | 当前响应中返回的短信条目数。 |
| result.limit | API 请求或应用的最大行数。 |
| result.history_limit_days | 通过此接口可获取的最大历史记录范围(以天为单位)。 |
| result.sort_by | 对响应应用排序字段。 |
| result.sort_order | 对响应应用排序方向: ASC 或者 描述. |
| result.sms | 包含从移动设备发送的同步短信条目的数组。 |
| result.sms[].sIdentifiant | 发送短信的移动设备的标识符。 |
| result.sms[].number | 收件人电话号码。 |
| result.sms[].message | 短信内容。 |
| result.sms[].mobile_date_ms | 原始移动设备时间戳(毫秒)。 |
| result.sms[].mobile_date_formatted | 从移动设备获取人类可读的日期和时间。 |
| result.sms[].synchro_time | 短信条目同步到 SMSMobileAPI 的日期和时间。 |
短信已接收
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的唯一 API 密钥。 |
| sIdentifiantPhone | 可选。过滤发送到特定关联手机的短信。 |
| after_timestamp_unix | 可选。仅检索在给定 UNIX 时间戳之后收到的短信。 |
| onlyunread | 是的 = 仅返回尚未被 API 状态标记为已读的消息。 |
请求示例:
获取 https://api.smsmobileapi.com/getsms/?apikey=YOUR_API_KEY
JSON 响应示例:
{ "result": { "error": "", "sms": [ { "id": 466340, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:23:34", "timestamp_unix": 1774041814, "time_received": "20260320222332804", "indice": "27593", "message": "您好,您的包裹已送达。", "number": "+15551234567", "guid": "6BFD7DC7-3492-422D-8D02-4AF4E614F122", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466341, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:23:34", "timestamp_unix": 1774041814, "time_received": "20260320221005892", "indice": "27591", "message": "您的预约已确认,明天有效。", "number": "+447700900123", "guid": "BF3B38D7-8401-4A8C-8BA6-D8D58ACBB23E", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466324, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:08:24", "timestamp_unix": 1774040904, "time_received": "20260320220822763", "indice": "27590", "message": "请稍后再拨。", "number": "+33198765432", "guid": "08C88E20-9B98-453F-B361-9BB06D3275D6", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466156, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "19:05:22", "timestamp_unix": 1774033522, "time_received": "20260320200026246", "indice": "27588", "message": "提醒:您的账户审核正在等待中。", "number": "10001", "guid": "551B2CF4-9330-4DD2-B2BA-5A4026EEEB15", "alias": null, "apikey": "YOUR_API_KEY_HASH" } ] } }
回答说明:
| 场地 | 描述 |
|---|---|
| result.error | 空值通常表示 API 没有返回任何错误。 |
| result.sms | 包含已接收短信条目的数组。 |
| result.sms[].id | 接收到的短信条目的内部唯一标识符。 |
| result.sms[].sIdentifiantPhone | 接收短信的手机标识符。 |
| result.sms[].date | 收到短信的日期。 |
| result.sms[].hour | 短信收到时间。 |
| result.sms[].timestamp_unix | 接收到的短信的UNIX时间戳。 |
| result.sms[].time_received | 移动设备/应用程序提供的原始内部接收时间戳。 |
| result.sms[].indice | 来自同步过程的内部消息索引或引用。 |
| result.sms[].message | 收到的短信内容。 |
| result.sms[].number | 发件人电话号码或短代码。 |
| result.sms[].guid | 分配给接收到的短信的唯一 GUID。 |
| result.sms[].alias | 可选的与发件人关联的别名(如果可用)。 无效的. |
| result.sms[].apikey | 与消息记录关联的 API 密钥。在文档示例中,此值应进行掩码处理。 |
将收到的短信标记为已读
此 API 端点用于将收到的短信标记为已读。 仅限 API 状态.
这不会改变智能手机上的已读状态。
端点:
范围:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您拥有或将收到的 API 密钥。 |
| guid_message | 必需的 要标记为已读的消息的 GUID。 |
例子:
获取 https://api.smsmobileapi.com/getsms/set-read/?apikey=YOUR_APIKEY&guid_message=GUID_MESSAGE
更新短信别名
此 API 端点用于使用 GUID 更新接收到的短信的别名。
笔记: 这 alias 参数可以为空。在这种情况下,别名将被清除。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的 API 密钥。 |
| guid | 必需的 要更新的已接收短信的 GUID。 |
| alias | 必需的 要分配给此短信的别名。此值可以为空以清除当前别名。 |
例子:
GET https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE&alias=JohnDoe
清除别名的示例:
GET https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE&alias=
删除短信
此端点允许您从 SMSMobileAPI 服务器日志中删除短信。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的唯一 API 密钥。 |
| guid_message | 使用唯一的邮件 GUID 删除特定邮件。 |
| date_start | 单独使用时,将删除指定日期以来的所有已记录消息。 |
| date_end | 与……一起使用 开始日期 删除指定日期范围内的邮件。 |
请求示例:
GET https://api.smsmobileapi.com/deletesms/?apikey=YOUR_API_KEY&guid_message=GUID_OF_THE_MESSAGE
JSON 响应示例:
{ "result": { "error": null, "count_delete": 1 } }
回答说明:
| 场地 | 描述 |
|---|---|
| result.error | 无效的 表示 API 在删除请求过程中没有返回任何错误。 |
| result.count_delete | 从服务器删除的短信日志条目数量。 |
注意:仅删除存储在 SMSMobileAPI 服务器日志中的短信。已存储在移动设备上的短信不会被删除。
列出短信对话
此 API 端点用于列出与您的帐户关联的短信对话。
每个对话都按电话号码分组,并包含相关的收发短信。
笔记: 对话的起点由以下因素决定: origineConversation 范围:
- received首先从接收到的短信中检测对话。 logsmsreceive
- sent首先从已发送的短信中检测到对话。 logsmssent
笔记: 如果 numero 如果未提供,API 仅返回最新对话。默认情况下,最后 20 对话得到回复。
笔记: 对于外发短信,如果 timearea_of_message 可用(例如: UTC+02),显示的日期将使用此值自动转换。转换后的日期也用于排序。
笔记: 如果 resume=1仅返回每个对话的最新消息。使用 resume_line_how 确定应包含多少条最新消息。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的 API 密钥。 |
| origineConversation | 必需的 定义对话列表的起始位置。允许的值: received 或者 sent. |
| numero | 选修的 筛选结果,仅显示一个特定的电话号码。 |
| date_from | 选修的 对话和消息的开始日期筛选器。接受的格式: YYYY-MM-DD 或者完整的日期时间值。 |
| date_to | 选修的 对话和消息的结束日期筛选器。接受的格式: YYYY-MM-DD 或者完整的日期时间值。 |
| sort | 选修的 对话排序。允许的值: DESC 或者 ASC。 默认: DESC. |
| limit | 选修的 返回对话的最大次数 numero 未提供。默认值: 20. |
| resume | 选修的 如果设置为 1仅返回每次对话的最新消息。 |
| resume_line_how | 选修的 每个对话中要返回的最新消息数量 resume=1。 默认: 1. |
行为详情:
- 读取收到的短信 logsmsreceive.
- 外发短信从 logsmssent.
- 收到的消息总是返回 direction = "incoming".
- 外发邮件总是返回 direction = "outgoing".
- 联系人别名取自 logsmsreceive.alias 如有空位。
- 对于收到的短信,移动 SID 来自 sIdentifiant_pour_read.
- 对于外发短信,移动 SID 来自 send_from_mobile_sIdentifiant.
- 对于外发短信,显示的日期会进行调整。 timearea_of_message 如果此字段不为空。
示例 1 - 列出已接收短信中的最新对话:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&originConversation=received
示例 2 - 列出已发送短信中的最新对话:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&originConversation=sent
示例 3 - 筛选特定电话号码:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&numero=32470000001
示例 4 - 按日期范围筛选:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&date_from=2026-03-01&date_to=2026-03-31
示例 5 - 恢复模式,显示每个对话的最后 3 条消息:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent&resume=1&resume_line_how=3
成功响应示例:
{ "success": true, "origineConversation": "received", "resume": 0, "resume_line_how": null, "conversations": [ { "phone_number": "+10470000001", "contact_alias": "John Doe", "messages": [ { "direction": "incoming", "message_id": "msg_1001", "date": "2026-03-13 08:45:12", "timestamp_utc": "2026-03-13T08:45:12Z", "message": "您好,我需要更多信息。", "status": "received", "mobile_sid": "device_sid_1" }, { "direction": "outgoing", "message_id": "msg_1002", "date": "2026-03-13 10:46:03", "timestamp_utc": "2026-03-13T08:46:03Z", "message": "当然,您想知道什么?", "status": "已发送", "mobile_sid": "device_sid_2" } ] } ] }
响应字段:
| 场地 | 描述 |
|---|---|
| success | 指示请求是否成功。 |
| origineConversation | 用于构建对话列表的初始模式。 |
| resume | 指示是否启用恢复模式。 |
| resume_line_how | 启用恢复模式后,每次对话返回的最新行数。 |
| conversations | 一系列对话。 |
| phone_number | 用于识别通话的电话号码。 |
| contact_alias | 如有别名,则将其与电话号码关联。 |
| messages | 对话中的短信数组。 |
| direction | incoming 对于收到的短信, outgoing 已发送短信。 |
| message_id | 消息的唯一标识符。 |
| date | 消息显示日期。对于外发短信,可以使用以下方法调整此值: timearea_of_message. |
| timestamp_utc | 消息的UTC时间戳。 |
| message | 邮件内容。 |
| status | received 对于收到的短信, sent 用于发送短信。 |
| mobile_sid | 接收或发送消息的移动设备的 SID。 |
错误示例:
{ "success": false, "error": "缺少必需参数:apikey" }
笔记:
- 如果 numero 如果提供了 API,则 API 只会返回与此电话号码关联的对话。
- 如果 numero 如果未提供,API 将根据所选的源模式返回最新的对话。
- 每个电话号码的收发信息都会合并到一个时间线中。
- 外发邮件排序时会考虑调整后的本地日期 timearea_of_message 有货。
- 恢复模式适用于仪表盘、小部件、预览和对话摘要。
网关 – 列出已连接的移动设备。
列出连接到您的设备的手机 短信网关.
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的 API 密钥。 |
| sid | 按精确 SID 筛选(sIdentifiant_pour_check)。 |
| search | 按字段(sid、日期、电池、版本、标签……)搜索。 |
例子:
GET https://api.smsmobileapi.com/gateway/mobile/list/?apikey=YOUR_API_KEY
网关 – 更新移动标签
更新已连接移动设备的标签(nom_reference)。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的 API 密钥。 |
| sid | 必需的 设备 SID(sIdentifiant_pour_check)。 |
| label | 新标签 |
| phone_number | 新电话号码 |
例子:
GET https://api.smsmobileapi.com/gateway/mobile/update/?apikey=YOUR_API_KEY&sid=SID&label=OfficePhone
重要的: 标签为必填项,但可以为空。 (标签=)。
网关 – 删除已连接的移动设备
从网关中移除已连接的移动设备(删除此 SID 的所有历史记录行)。
端点:
参数:
| 范围 | 描述 |
|---|---|
| apikey | 必需的 您的 API 密钥。 |
| sid | 必需的 设备 SID(sIdentifiant_pour_check)。 |
例子:
GET https://api.smsmobileapi.com/gateway/mobile/delete/?apikey=YOUR_API_KEY&sid=SID
Webhook – 短信已接收
此 webhook 系统每次收到短信时都会向配置的 URL 发送 POST 请求。系统通过将短信详细信息发送到指定的 webhook URL 来确保实时更新。
如何在仪表板中配置 Webhook
按照以下步骤在仪表板中设置您的 webhook URL:
- 登录您的账户 SMS 移动 API 仪表板.
- 导航至 Webhook 设置 部分。
- 输入你的 webhook URL(例如,
https://example.com/webhook-endpoint). - 点击 保存 Webhook 按钮。
- 保存后,系统将开始向配置的 URL 发送短信详细信息。
Webhook 负载
收到短信时,系统会将以下 JSON 负载发送到您的 webhook URL:
{ "date": "2025-01-20", "hour": "10:15:00", "time_received": "2025-01-20 10:14:50", "message": "你好,这是个测试。", "number": "+123456789", "guid": "abcde12345" }
有效载荷字段:
Webhook 端点示例
您的服务器应已准备好处理传入的 POST 请求。以下是用于处理 webhook 负载的示例 PHP 脚本:
测试 Webhook
要测试你的 webhook 配置,请使用以下工具:
故障排除
- 确保 webhook URL 正确且可公开访问。
- 验证您的服务器是否在成功请求时返回 HTTP 200 状态代码。
- 检查您的服务器日志,查找处理有效负载时出现的任何错误。
增强型短信
即将推出验证
SMSMobile API 支持两种身份验证方法:使用简单的 API 密钥或带有客户端 ID 和客户端密钥的 OAuth2 协议。
1. API 密钥认证
此方法需要一个 API 密钥,该密钥可以作为参数包含在 GET 或 POST 请求中。
2. OAuth2 身份验证
OAuth2 提供了一种更安全的身份验证方法。
使用客户端 ID 和客户端密钥获取访问令牌,然后将其包含在内 授权 標軸。
client_id 和 client_secret 在您的仪表板中可用。
立即下载移动应用程序 或者
访问您的仪表板.
获取访问令牌
curl -X POST https://api.smsmobileapi.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
使用访问令牌:
curl -X POST https://api.smsmobileapi.com/sendsms \
-H "授权:持有者 YOUR_ACCESS_TOKEN" \
-H“内容类型:application/x-www-form-urlencoded” \
-d“收件人=+1234567890”\
-d“消息=你好”
您应该使用哪种方法?
- 使用 API 密钥认证 实现快速、直接的集成。
- 使用 OAuth2 身份验证 为了增强安全性和可扩展性。
发送短信
WSDL 网址
参数:
- message: 要发送的消息。
- apikey: 您拥有或将收到的 API 密钥。
例子
require_once "lib/nusoap.php";
$client = new nusoap_client("https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl", true);
$error = $client->getError();
$result = $client->call("sendSms", array("recipients" =>$_GET['recipients'],"message" =>$_GET['message'],"apikey" =>$_GET['apikey']));
print_r($result);
发送短信和 WhatsApp
基本 cURL 命令
curl -X POST https://api.smsmobileapi.com/sendsms/ \
-d "recipients=PHONE_NUMBER" \
-d "message=YOUR_MESSAGE" \
-d "apikey=YOUR_API_KEY"
-d "sendwa=1"
-d "sendsms=1"
发送短信和 WhatsApp
使用我们的官方 Python 模块: https://smsmobileapi.com/python/
import requests
url = "https://api.smsmobileapi.com/sendsms/"
payload = {"recipients":"PHONE_NUMBER","message":"YOUR_MESSAGE","apikey":"YOUR_API_KEY"}
response = requests.post(url, data=payload)
print(response.text)
SMS 移动 API - PHP SDK (Composer)
Composer 需要 smsmobileapi/sdk
GitHub: https://github.com/SmsMobileApi/smsmobileapi-php/tree/main
发送短信和 WhatsApp
const url = "https://api.smsmobileapi.com/sendsms/";
const data = {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"};
fetch(url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(data)})
.then(r=>r.text()).then(console.log);
发送短信和 WhatsApp
const axios = require("axios");
axios.post("https://api.smsmobileapi.com/sendsms/", {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"})
.then(r=>console.log(r.data));
发送短信和 WhatsApp
require "net/http"
require "uri"
uri = URI.parse("https://api.smsmobileapi.com/sendsms/")
req = Net::HTTP::Post.new(uri)
req.set_form_data({"recipients"=>"PHONE_NUMBER","message"=>"YOUR_MESSAGE","apikey"=>"YOUR_API_KEY"})
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true){|http| http.request(req)}
puts res.body

此问题是由在应用程序未主动启动时尝试在后台运行的进程引起的。但是,由于 Android 的电池优化措施(不同版本的措施有所不同),此后台进程可能无法正确启动。Android 的电池优化旨在限制应用程序的后台活动以节省电池寿命,这可能会无意中影响需要后台进程才能正常运行的应用程序。
为了解决这个问题,用户可以手动配置他们的 Android 设置,以允许 SmsMobileApi 不受限制地使用资源。
这涉及调整特定应用的电池优化设置,本质上是指示 Android 允许 SmsMobileApi 在后台运行并根据需要使用资源。这样,即使应用程序不是前台的活动应用程序,它也应该能够自动发送和接收短信。此调整可确保必要的后台进程可以不间断运行,从而绕过可能阻止其正常执行的电池优化功能。


