zeauw/ssc-api-v2

此包已被废弃且不再维护。没有建议的替代包。
此包的最新版本(v1.0.0)没有提供许可信息。

SMS服务中心API v2客户端

v1.0.0 2017-04-06 16:22 UTC

This package is auto-updated.

Last update: 2020-02-10 12:38:55 UTC


README

此仓库包含SMS服务中心API v2的PHP开源客户端。

要求

  • 注册免费SMS服务中心账户
  • 在API部分获取您的access_token
  • SMS服务中心API v2客户端对PHP的要求是 >= 5.5.0。
  • Composer

安装

我们目前仅支持使用Composer安装API客户端。

用法

设置对象的新实例。将access_token作为第一个参数传递

// Include composers autoloader
include "vendor/autoload.php";
// Create the object
$client = new \Zeauw\SSCAPIv2\Client("ENTER_YOUR_ACCESS_TOKEN_HERE");

获取当前信用额度

$credits = $client->getCredits();
var_dump($credits); // int

获取当前发送名称

$sendname = $client->getSendname();
var_dump($sendname); // string

获取已发送的消息

$history = $client->getHistory();
var_dump($history); // array

向单个收件人发送消息

$messageinfo = $client->send(
	"0612345678",			// Single recipient 
	"Enter message to send here"	// Message to send
);
var_dump($messageinfo); // array
var_dump($messageinfo["messageid"]); // int

注意:确保将收件人定义为字符串,因为PHP可能会将数字视为整数。

向多个收件人发送消息(最多50个)

$messageinfo = $client->send(
	["0612345678","0687654321"],	// Array of recipients
	"Enter message to send here"	// Message to send
);
var_dump($messageinfo); // array

使用不同于存储的默认发送名称发送消息

$messageinfo = $client->send(
	"0612345678",			// Recipient
	"Enter message to send here",	// Message
	"NewSendname"			// Sendname to use for this message only.
);
var_dump($messageinfo); // array

设置新的默认发送名称

$is_set = $client->setSendname("NewSendname");
var_dump($is_set); // bool

测试模式

客户端支持测试模式,可以通过使用isTestmode()方法来测试功能而不发送消息

$messageinfo = $client->isTestmode()->send(
	"0612345678",			// Single recipient 
	"Enter message to send here"	// Message to send
);
var_dump($messageinfo); // array
var_dump($messageinfo["messageid"]); // int (random)

测试模式请求返回的messageid是一个随机数,因此不应存储。这是因为API服务器实际上没有处理消息。

错误处理

当请求出现问题时,客户端会抛出Exception。在调用send()方法时,客户端还可能会抛出CreditsException。这只会发生在账户没有足够的信用来执行send()方法时。

// Include composers autoloader
include "vendor/autoload.php";
// Setup try block
try
{
	// Create the object
	$client = new \Zeauw\SSCAPIv2\Client("ENTER_YOUR_ACCESS_TOKEN_HERE");
	// Send a message
	$messageinfo = $client->send(
		"0612345678",
		"Message to send"
	);
	var_dump($messageinfo); // array
}
catch (\Zeauw\SSCAPIv2\Exceptions\CreditsException $e)
{
	// The user does not have enought credits.
	var_dump($e->getMessage()); // Readable message
	var_dump($e->getRemainingCredits()); // int. Remaining credits within the users account.
	var_dump($e->getRequiredCredits()); // int. Required amount of credits for the last request.
}
catch (\Exception $e)
{
	// An error occurred
	var_dump($e->getMessage()); // Readable message
}

限流

SMS服务中心API(v2)的使用不受限制。为了防止欺诈和滥用,并确保服务器性能,对API的请求会被限流。您可以在5分钟内最多发起150次请求。

当达到限制时,API将响应一个429 请求过多的错误。