新版短信接口

963次阅读
没有评论

1. 申请短信签名和模板, 短信签名不能带有”测试”, 否则通过不了.

2. composer require alibabacloud/sdk

3. 代码部分

<?php
namespace alisms;

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

// Download:https://github.com/aliyun/openapi-sdk-php
// Usage:https://github.com/aliyun/openapi-sdk-php/blob/master/README.md
class alisms
{
    // 密钥账号
    static $accessKeyId = '*****';
    // 密钥密码
    static $accessSecret = '*****';

    // 发送短信,$phone 为接收短信的手机号码
    // 国内短信:11 位手机号码, 例如 15951955195, 国际 / 港澳台消息: 国际区号 + 号码, 例如 85200000000
    public static function sendSms($phone)
    {
        // 验证码
        $code = mt_rand(100000, 999999);
        AlibabaCloud::accessKeyClient(static::$accessKeyId, static::$accessSecret)
            ->regionId('cn-hangzhou')              // replace regionId (地区) as you need
            ->asDefaultClient();
        $code_arr = ['code' => $code];
        try {$result = AlibabaCloud::rpc()
                ->product('Dysmsapi')
                // ->scheme('https') // https | http
                ->version('2017-05-25')
                ->action('SendSms')
                ->method('POST')
                ->options([
                    'query' => [
                        'PhoneNumbers' => $phone,                      // 手机号码
                        'SignName' => "*****",                        // 短信签名名称 (必须和签名管理的签名名字一致)
                        'TemplateCode' => "*****",            // 短信模板 ID
                        'TemplateParam' => json_encode($code_arr),      // 短信模板变量对应的实际值,JSON 格式
                    ],
                ])
                ->request();
            return $result->toArray();                                   // 对象转数组} catch (ClientException $e) {echo $e->getErrorMessage() . PHP_EOL;
            return [];} catch (ServerException $e) {echo $e->getErrorMessage() . PHP_EOL;
            return [];}
    }

    // 返回结果例子
    /*
     * Array ([Message] => OK [RequestId] => F144F01A-EB4E-48F9-9E90-D3D775B2D2E4 [BizId] => 799010660648933410^0 [Code] => OK )
     */
}

4. 说明: 新版短信接口代码于 19 年 4 月底更新了, 抛弃了以前写法, 这里是最新写法,

5. 注意: 价格 0.045-0.055/ 条 (国内), 为了防止盗刷, 建议加上图形验证码、拖动验证等.,

6. 为了代码的高度复用, 建议封装.

7. 请求接口网址说明: https://help.aliyun.com/document_detail/101414.html?spm=a2c4g.11186623.6.616.e1473e2cHaBVB5

正文完
 0
飞翔的mouse
版权声明:本站原创文章,由 飞翔的mouse 于2019-08-01发表,共计1600字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。