我正在寻找几个短信API。 基本上是从手机接收短信。 有什么建议吗?
答案 0 :(得分:9)
有两个基本的“SMS API”:SMPP和HTTP。
SMPP接口是蜂窝电话公司内部以及SMS发送/接收客户端与电信公司SMS Aggregators内部使用的全球标准。我建议阅读SMPP v5.0说明。对SMPP的一般国际支持声称“符合SMPP v3.4”,但在操作上,SMPP v5.0与3.4相比几乎没有变化,只是文档要好得多。 SMPP v3.4规范文档有点稀疏,SMS论坛大大增强了5.0版本的规范文档。
SMPP是一种规范,用于记录在两个节点之间发送和接收SMS的方式:ESME或客户端(可能是您),以及MC或“telco”端,它们可能是电话公司或SMS聚合器您签订合同以进入国际SMS基础设施。
如果您实现高容量,则需要SMPP,即:每秒多个SMS。 SMPP协议是在TCP上运行的二进制PDU请求/响应对协议。基本的请求/响应对协议相对简单,但SMPP规范有很多扩展,在现实世界中,由于各种软件和电信公司实现SMPP各种功能的扩展数量和不一致性,事情变得相当复杂。 。使用SMPP要求您持续运行守护程序/服务以提供实时SMPP对等通信工具,并且不能纯粹在Web应用程序代码中实现。将SMPP集成到Web应用程序中需要开发一个守护程序/服务来处理SMPP ESME / MC对的ESME部分,然后在该守护程序和您的Web应用程序之间提供某种RPC机制。
SMPP库的一个示例是Logica。 Logica是SMPP SMSC开发的先驱,并已将该库作为开源发布。在Windows上运行的极少数之一。大多数开源SMPP代码都在* nix上运行。
或者,可以使用第三方SMPP Gateway软件。到目前为止,最广泛采用的开源SMPP服务器是Kannel。我知道几个使用它的SMS聚合器。当您询问PHP并且我假设Linux时,与Kannel集成可能是您最好的选择。我确实警告你,配置是非常重要的。还有一些非开源的可供选择,例如Ozeki Message Server和Nordic Messaging Technologies' Enterprise Message Server (EMG).这两种产品都提供了比Kannel更“关键”的解决方案,可能更适合您的使用。
对于较低容量的应用程序,实现SMS聚合器的HTTP接口更简单 。有许多SMS聚合器提供HTTP接口。没有通用的标准,但几乎都提供了一个相对简单的GET / POST HTTP接口,可以很容易地集成到Web应用程序或任何支持HTTP GET / POST的软件环境中。 SMS聚合器通常还提供一些基于文件或XML的接口,用于更高容量的发送。正如上面提到的那样,Clickatell是SMS聚合器的一个例子,它们被认为是“业界的先驱”。另一个例子,我使用的是Routo Messaging。
每个SMS聚合器都有自己的HTTP API,但大多数都支持相同的服务。此外,他们中的大多数提供一些免费的测试学分。我已经编写了代码来测试它们中的几个,这是一个简单的几个小时的过程,一旦你写了一个小时,通常不到一个小时。
答案 1 :(得分:1)
如果您正在寻找短信服务提供商?您可以尝试Clickatell
如果您正在考虑创建短信api,请查看Twitter API
答案 2 :(得分:1)
您可以使用SMSSync,一个适用于Android的免费开源短信网关。
它将在您的Android手机上接收短信,然后对您在应用中指定的网址进行HTTP POST。
但是,像这样的笔记服务会有吞吐量限制(大约每6秒1毫秒),你必须管理“短信网关”的“托管”。如果您负担得起,您可能需要考虑虚拟SMS提供商,例如Nexmo和Hoiio API。
答案 3 :(得分:0)