最近,项目有个需求,就是需要验证会员的姓名和手机号的一致性,所以,要找到这样的接口,正好阿里云有,他家的号码百科,顺带科普一下:
号码百科是阿里云推出的、一系列与号码相关的能力集。每一个能力,称为一个标签,大部分标签以API形式向企业提供服务。
主要包括:二次号查询、二要素核验、三要素核验、号码状态查询、号码归属查询等各种能力。企业可根据自己的实际需求,选择对应的能力接入并使用。
我现在就把调试二要素的过程记录一下,以备需要的朋友们参考。
1:首先如果使用这个功能,你必须要有阿里云的账号,并且创建他的凭证就是accessid和密钥;
2:申请接口,这个就在他的标签广场去选择合适你的那款标签即可。这个一般需要提交合同,证明你的这个接口是用户明确知道的。是经过授权的。
3:官方说的是2个小时审核,我的好像是1天左右审核通过的。
4:审核通过之后,会有一个授权码,这个时候我们就可以用了。
5:官方有sdk的使用说明,我是用的php的,所以,就以这个为例,继续整个流程
现在我们主要阐述一下调试流程。
1:下载官方的sdk,就用composer就可以,但是这个地方一定要注意composer的版本和php一定要一致,否则就会页面打不开,无法继续。
2:找到官方的示例代码,嵌入你的系统,可能有些参数需要重新设一下,毕竟他的调试的地方是自动调用你阿里云账号的,你需要把这个替换成你自己实际的字符串的密钥
3: 最后一步,就是需要把它返回的对象或者是字符串,提出结论。
这里特别说明一下,他的调用费用是0.5元每次,如果您不买套餐包的话,他会自动的扣阿里云的余额,如果您不想扣掉余额,就去您的账户管理,资金管理哪一项里面,关停延迟服务,这样,一旦没钱,自动停服了。
看您需要,如果怕影响业务,还是开启的好。这里还有一个需要,就是,得做限制,否则的话,就会花超,被恶意攻击了可就不好了。
二要素三要素接口单日调用上限 移动:移动侧号码同一天检验上限为20次。 联通:无上限 电信:电信侧号码同一天检验上限为20次。
官方示例代码:
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Dytnsapi\V20200217\Dytnsapi;
use AlibabaCloud\Darabonba\Env\Env;
use AlibabaCloud\Tea\Utils\Utils;
use AlibabaCloud\Tea\Console\Console;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dytnsapi\V20200217\Models\DescribePhoneNumberAnalysisRequest;
class Sample {
public static function createClient($accessKeyId, $accessKeySecret){
$config = new Config([]);
$config->accessKeyId = $accessKeyId;
$config->accessKeySecret = $accessKeySecret;
return new Dytnsapi($config);
}
public static function main($args){
$client = self::createClient(Env::getEnv("ACCESS_KEY_ID"), Env::getEnv("ACCESS_KEY_SECRET"));
$request = new DescribePhoneNumberAnalysisRequest([]);
$request->authCode = @$args[0];
$request->inputNumber = @$args[1];
$request->numberType = (int)@$args[2];
$request->mask = @$args[3];
$request->rate = (int)@$args[4];
$response = $client->describePhoneNumberAnalysis($request);
$code = $response->body->code;
return $response->body->data->isConsistent;
if (!Utils::equalString($code, "200")) {
Console::log("错误信息:" . $response->body->message . "");
return null;
}
Console::log("响应结果:" . (string) ($response->body) . "");
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
Sample::main(array_slice($argv, 1));
这是官方的示例。
调试有需要帮助的朋友们,可联系九爱邦客服~ 做网站,就找九爱邦~ 九爱邦竭诚为您服务~
当获取结果以后,就可以顺入我们系统的流程直接使用了~