短信服务的API集成在BmobSDK中,因此不熟悉的朋友在使用前先可以了解一下BmobSDK的集成PHP 快速入门

在一些应用场景下,你可能希望用户验证手机号码后才能进行一些操作,例如充值等。这些操作跟用户系统没有关系,可以通过我们提供的的短信验证API来实现。

每个 Bmob 帐户有 10 个免费额度的短信数量,超过需要购买短信条数才能继续使用。

为了保障短信的下发速度和送达率,Bmob 为所有用户申请了一致的独享通道,默认使用 【比目科技】 作为签名,且不可更改。

请求短信验证码

如果没有在管理后台创建好模板,可使用默认的模板,Bmob 默认的模板是: 您的验证码是%smscode%,有效期为%ttl%分钟。您正在使用%appname%的验证码

使用默认的模板请求短信验证码:

$res = $bmobSms->sendSmsVerifyCode("131xxxxxxxx");

成功返回,短信验证码ID,可用于后面使用查询短信状态接口来查询该条短信是否发送成功:

array(
    "smsId"=> 1232222
)

如果你已经在 Bmob 后台设置了自己的模板,并已经是审核通过了,则可以使用自己的模板给用户的手机号码发送短信验证码了:

$res = $bmobSms->sendSmsVerifyCode("131xxxxxxxx", "注册模板");  //发送短信验证码

成功返回,短信验证码ID,可用于后面使用查询短信状态接口来查询该短信验证码是否发送成功和是否验证过:

{
    "smsId": 1232222
}

验证短信验证码

通过以下接口,你可以验证用户输入的验证码是否是有效的:

$res = $bmobSms->verifySmsCode("131xxxxxxxx","028584");

成功返回以下数据,表明验证码验证通过:

array(
    "msg"=> "ok"
)

注意事项

关于短信条数的计算规则如下:

  1. 实际计算的短信字数 = 模板的内容或自定义短信的内容字数 + 6。加上6是因为默认的签名【比目科技】占了6个字。
  2. 实际计算的短信字数在70个字以下算1条。
  3. 实际计算的短信字数超过70字的以67字为一条来计算的。也就是135个字数是计算为3条的。
  4. 计算得到的短信条数在本条短信发送成功后将会从你的账户剩余的短信条数中扣除。

短信发送限制规则是1/分钟,5/小时,10/天。即对于一个应用来说,一天给同一手机号发送短信不能超过10条,一小时给同一手机号发送短信不能超过5条,一分钟给同一手机号发送短信不能超过1条