PHP阿里云号码隐私服务

编程入门 行业动态 更新时间:2024-10-06 23:18:57

PHP<a href=https://www.elefans.com/category/jswz/34/1770131.html style=阿里云号码隐私服务"/>

PHP阿里云号码隐私服务

这里介绍一下使用阿里云服务号码隐私服务 使用场景例如外卖送餐、挪车等场景,对号码进行隐私保护

首先装一下阿里云的composer

composer require alibabacloud/client

 下面直接上代码  首先可以封装一个类

<?phpnamespace app\api\controller;use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Client\Request\Request;
use AlibabaCloud\Dyplsapi\Dyplsapi;
use app\common\controller\Wap;// Download:
// Usage:// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例以把AccessKey ID和AccessKey Secret保存在环境变量为例说明,来实现API访问的身份验证。
class Mobile extends Wap
{public static function phone($withPhoneNoA,$withPhoneNoB){AlibabaCloud::accessKeyClient('xxxxxxxxxxxx', 'xxxxxxxxxxxx')->regionId('cn-shanghai')->asDefaultClient();try {$request = Dyplsapi::v20170525()->bindAxb();$result = $request->withPoolKey("xxxxxxxxxxx") //号码池key->withPhoneNoA($withPhoneNoA)  //号码A->withPhoneNoB($withPhoneNoB)  //号码B
//                ->withPhoneNoX($withPhoneNoX)  //隐私号->withExpiration(date('Y-m-d H:i:s',time()+65)) //过期时间 两分钟后 date('Y-m-d H:i:s',time()+120)->withIsRecordingEnabled(true)
//                ->withExpectCity("北京")
//                ->withOutId("abcdef")
//                ->withOutOrderId("34553330****")
//                ->withCallRestrict("CONTROL_AX_DISABLE")->withCallDisplayType(1)
//                ->withRingConfig("{\"AXBRing_B\":\"100000001\",\"AXBRing_A\":\"100000001\"}")->withASRModelId("7ee372834d2f4cc7ac0d0ab2d0ae1aac")->withCallTimeout(20)->debug(false) // Enable the debug will output detailed information->connectTimeout(1) // Throw an exception when Connection timeout->timeout(1) // Throw an exception when timeout->request();return $result->toArray();} catch (ClientException $exception) {echo $exception->getMessage() . PHP_EOL;} catch (ServerException $exception) {echo $exception->getMessage() . PHP_EOL;echo $exception->getErrorCode() . PHP_EOL;echo $exception->getRequestId() . PHP_EOL;echo $exception->getErrorMessage() . PHP_EOL;}}
}

然后就可以根据业务逻辑进行调用了

$data = Mobile::phone($this->user_info['mobile'],$user['mobile']);if ($data['Code'] == 'isv.NO_AVAILABLE_NUMBER'){return self::error('','当前占线中,请稍后再试');}
//        print_r($data);return self::success('获取信息成功',$data['SecretBindDTO']['SecretNo']);

进行一个简单的判断  请求成功之后会返回隐私号  传参时 A呼叫隐私号 B接通隐私号 过期呼叫隐私号就会变为空号
我所使用的框架是TP6 

请求参数

名称类型必填描述示例值及参考API

PoolKey

String

号码池Key。

请登录号码隐私保护控制台,在号码池管理中查看号码池Key。

示例值:

FC5526*****

PhoneNoA

String

AXB中的A号码。

A号码可设置为手机号码或固定电话,固定电话需要加区号,区号和号码中间不需要加连字符。

示例值:

139****0000

参考取值来源:

QueryPhoneNoAByTrackNo

BindAxnExtension

PhoneNoB

String

AXB中的B号码,A号码拨打X号码时会转接到B号码。 B号码可设置为手机号码或固定电话,固定电话需要加区号,区号和号码中间不需要加连字符。

说明

如需更新B号码,请调用UpdateSubscription接口更新。

示例值:

139****0000

参考取值来源:

QueryPhoneNoAByTrackNo

PhoneNoX

String

AXB中的X号码。

X号码是您绑定号码前在号码隐私保护控制台或通过BuySecretNo接口购买的电话号码,用于转接电话。

如果未指定X号码,将根据参数ExpectCity从指定号码池中随机指定一个号码作为X号码。

示例值:

139****0000

参考取值来源:

QueryPhoneNoAByTrackNo

Expiration

String

绑定关系的过期时间。

说明

必须晚于当前时间1分钟以上。

示例值:

2021-09-05 12:00:00

ExpectCity

String

指定城市进行X号码的选号。

  • 如果当前号码池中没有该城市的可用号码,或未指定此参数,将从当前号码池中随机分配一个其他城市的号码作为X号码。
  • 如果X号码分配模式配置为严格匹配模式,当符合条件的号码不存在时,系统会提示分配错误。

示例值:

北京

IsRecordingEnabled

Boolean

是否需要针对该绑定关系产生的所有通话进行通话录音。取值:

  • true:录音。
  • false:不录音(默认值)。

示例值:

true

OutId

String

外部业务扩展字段,通话记录回执消息中会回传此参数。

示例值:

abcdef

OutOrderId

String

外部业务ID。

示例值:

34553330****

CallRestrict

String

单通呼叫限制的状态。取值:

  • CONTROL_AX_DISABLE:A号码无法呼叫X号码。
  • CONTROL_BX_DISABLE:B号码无法呼叫X号码。

示例值:

CONTROL_AX_DISABLE

CallDisplayType

Integer

重置绑定关系中的号码显示逻辑。固定取值:1(主被叫显示中间号码X)。

说明

由于运营商监管限制,呼叫时显示真实号码的设置不生效。

示例值:

1

RingConfig

String

设置AXB绑定关系中的企业彩铃放音编码,内容如下:

  • AXB中,A号码打X的铃音设置:AXBRing_A
  • AXB中,B号码打X的铃音设置:AXBRing_B

企业彩铃编码:企业彩铃编码可以在管理控制台中查询,具体请登录号码隐私保护控制台,通过号码池管理>企业彩铃管理进行查看,支持上传、删除等操作。

说明

企业彩铃优先使用绑定级别设置的彩铃,如果未设置或设置未生效,则会使用号码池级别的彩铃音。

示例值:

{ "AXBRing_B": "1000****1", "AXBRing_A": "1000****1" }

ASRStatus

Boolean

ASR状态。取值:

  • false:关闭(默认值)。
  • true:开启。

示例值:

false

ASRModelId

String

ASR模型ID。可以在ASR模型管理页面查看ASR模型ID。

示例值:

1、通用-电话-中文普通话模型7ee372834d2f4cc7ac0d0ab2d0ae1aac 。 2、通用-电话-中文粤语模型 9b4afe3d224e4fa3bf963697113e2f77。 3、通用-电话-地方口音模型 3655a6cb94764145a1f9a38a3c3b3b4b。

CallTimeout

Integer

顺振时长。单位:秒。取值范围为5~20。

示例值:

10

DtmfConfig

String

设置AXB绑定关系中的dtmf按键配置,可配置内容如下:

  • endCallIvrPhoneNo 放音对象 A或B
  • waitingDtmfTime 放完第一段音后的最大等待时长,最大时长30秒
  • maxLoop dtmf按键不匹配,循环播放第一个放音文件的最大次数,最大循环次数5次
  • step1File 第一个放音文件名称
  • step2File 第二个放音文件名称
  • validKey 合法按键值定义,如:1,2 只允许配置两个有效键值按以","分隔
  • waitingEndCall 运营商挂机等待时长,最大等待时长10秒

示例值:

{ "endCallIvrPhoneNo":"A", "waitingDtmfTime":10, "maxLoop":3, "step1File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_1.wav", "step2File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_2.wav", "validKey":"1,2", "waitingEndCall":2 }

响应参数

名称类型描述示例

Code

String

请求状态码。

  • 返回OK代表请求成功。
  • 其他错误码,请参见错误码列表。
OK

Message

String

状态码的描述。

OK

RequestId

String

请求ID。

9297B722-A016-43FB-B51A-E54050D9369D

SecretBindDTO

Object

号码绑定成功后返回的结构体。

Extension

String

分机号码。

说明

接口BindAxb不涉及分机号码,请忽略该返回参数。

130

SubsId

String

绑定关系ID。

1**************3

SecretNo

String

隐私号码,即X号码。

139****0000

下面附上阿里云官方文档  参数里面有详细说明


BindAxb_号码隐私保护服务_API调试-阿里云OpenAPI开发者门户 (aliyun)

更多推荐

PHP阿里云号码隐私服务

本文发布于:2024-02-14 04:43:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761714.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:阿里   隐私   号码   PHP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!