2009-08-28 109 views
0

我有一个关于从公司clickatell使用http api的问题。使用关闭短信网关第三方api

他们实际上有几个可以使用的api,其中包括xml和smtp。

有没有人有任何经验,特别是与http api。

对于HTTP API:

这是否PHP代码实际上做背景的工作?

此行$ ret = file($ url); - 对不起,我还没有设置任何东西来测试它。我只是试图找出至极我可以开始测试 - 。

另外,使用smtp api和http api之间是否存在性能差异?

// SMS gateway script 
    $user = "XXXX"; 
    $password = "XXXXXX"; 
    $api_id = "XXXXXX"; 
    $baseurl ="http://api.clickatell.com"; 
    $text = urlencode("HTTP://WWW.TIMES.COM/DOWNLOADS/SUGRAFREE.SISX"); 
    $to = $_POST["phone number"]; 
// auth call 
    $url = "$baseurl/http/auth?user=$user&password=$password&api_id=$api_id"; 
    // do auth call 
    $ret = file($url); 
    // split our response. return string is on first line of the data returned 
    $sess = split(":",$ret[0]); 
    if ($sess[0] == "OK") { 
    $sess_id = trim($sess[1]); // remove any whitespace 
    $url = "$baseurl/http/sendmsg?session_id=$sess_id&to=$to&text=$text"; 
    // do sendmsg call 
    $ret = file($url); 
    $send = split(":",$ret[0]); 
    if ($send[0] == "ID") 
    echo "An Email with account details and SMS has been sent.. 

感谢,理查德

回答

1

我与的Clickate API经验 - 一个很好的。

SMTP比较慢 - 您需要通过电子邮件才能访问clickatell服务器。这可能需要一秒或一分钟。

HTTP更好,建议,而且你可以创建一个会话并一次发送多个短信。

ps:我还没有测试过你的代码,但它应该可以工作,尽管我会建议检查CURL库来进行HTTP连接。

+0

它只是在每个用户的指定时间发送确认。我想这应该是每个用户的单独会话ID,或者如果会话仍然处于打开状态,并且您再次进行自动身份验证,是否会返回相同的会话ID? – Richard 2009-08-28 13:54:25

+0

使用卷曲有什么优点?你有一个curl中等价的代码行,而不是使用$ ret = file($ url) – Richard 2009-08-28 13:55:06

+1

,优点是你没有使用大部分只能用于URL的文件函数,而是使用正确的CURL库。此外,CURL使您可以做的不仅仅是HTTP连接 - 只检查标题,重定向,任何事情。 – dusoft 2009-08-29 00:40:47