markrogoyski/numverify-api-client-php

PHP版本的Numverify API客户端

v2.2.0 2021-01-06 05:47 UTC

This package is auto-updated.

Last update: 2024-09-06 14:47:04 UTC


README

Numverify电话号码验证和地区API客户端库,适用于PHP。

Coverage Status License

功能

  • 电话号码验证API
    • 验证电话号码
    • 运营商信息
    • 线路类型
    • 位置信息:国家,本地信息
    • 电话号码格式
  • 国家API
    • 国家列表
    • 国家名称,国家代码,拨号代码

Numverify API文档: https://numverify.com/documentation

设置

将库添加到您的项目中的 composer.json 文件

{
  "require": {
      "markrogoyski/numverify-api-client-php": "2.*"
  }
}

使用 composer 安装库

$ php composer.phar install

Composer将在您的vendor文件夹中安装Numverify API客户端库。然后您可以在.php文件中添加以下内容以使用自动加载库。

require_once(__DIR__ . '/vendor/autoload.php');

或者,在命令行中使用composer要求并安装Numverify API客户端库

$ php composer.phar require markrogoyski/numverify-api-client-php:2.*

最低要求

  • PHP 7.2

注意:对于PHP 7.0和7.1,使用v1.0 (require markrogoyski/numverify-api-client-php:1.*)

使用方法

创建新API

$accessKey = 'AccountAccessKeyGoesHere';
$api       = new \Numverify\Api($accessKey);

电话号码验证API

$phoneNumber          = '14158586273';
$validatedPhoneNumber = $api->validatePhoneNumber($phoneNumber);
 
// Phone number information
if ($validatedPhoneNumber->isValid()) {
    $number              = $validatedPhoneNumber->getNumber();               // 14158586273
    $localFormat         = $validatedPhoneNumber->getLocalFormat();          // 4158586273
    $internationalPrefix = $validatedPhoneNumber->getInternationalFormat();  // +14158586273
    $countryPrefix       = $validatedPhoneNumber->getCountryPrefix();        // +1
    $countryCode         = $validatedPhoneNumber->getCountryCode();          // US
    $countryName         = $validatedPhoneNumber->getCountryName();          // United States of America
    $location            = $validatedPhoneNumber->getLocation();             // Novato
    $carrier             = $validatedPhoneNumber->getCarrier();              // AT&T Mobility LLC
    $lineType            = $validatedPhoneNumber->getLineType();             // mobile
}

// Use optional country code parameter for local (non-E.164) phone numbers
$phoneNumber = '4158586273';
$countryCode = 'US';
$validatedPhoneNumber = $api->validatePhoneNumber($phoneNumber, $countryCode);
 
// PHP Interfaces
$stringRepresentation = (string) $validatedPhoneNumber;
$jsonRepresentation   = json_encode($validatedPhoneNumber);

国家API

$countries = $api->getCountries();
 
// Find countries (by country code or by name)
$unitedStates = $countries->findByCountryCode('US');
$japan        = $countries->findByCountryName('Japan');
 
// Country information
$usCountryCode = $unitedStates->getCountryCode();  // US
$usCountryName = $unitedStates->getCountryName();  // United States
$usDialingCode = $unitedStates->getDialingCode();  // +1
 
$japanCountryCode = $japan->getCountryCode();       // JP
$japanCountryName = $japan->getCountryName();       // Japan
$japanDialingCode = $japan->getDialingCode();       // +81
 
// Country collection is iterable
foreach ($countries as $country) {
    $countryCode = $country->getCountryCode();
    $countryName = $country->getCountryName();
    $dialingCode = $country->getDialingCode();
}
 
// Country collection PHP interfaces
$numberOfCountries  = count($countries);
$jsonRepresentation = json_encode($numberOfCountries);
 
// Country PHP interfaces
$stringRepresentation = (string) $unitedStates;      // US: United States (+1)
$jsonRepresentation   = json_encode($unitedStates);

选项

// Construct API to use HTTPS for API calls
$useHttps = true;
$api      = new \Numverify\Api($accessKey, $useHttps);  // Optional second parameter

异常

API失败会抛出 NumverifyApiFailureException

// Numverify API server error
try {
    $validatedPhoneNumber = $api->validatePhoneNumber($phoneNumber);
} catch (\Numverify\Exception\NumverifyApiFailureException $e) {
    $statusCode = $e->getStatusCode();  // 500
    $message    = $e->getMessage();     // Unknown error - 500 Internal Server Error
}

// Numverify API failure response
try {
    $validatedPhoneNumber = $api->validatePhoneNumber($phoneNumber);
} catch (\Numverify\Exception\NumverifyApiFailureException $e) {
    $statusCode = $e->getStatusCode();  // 200
    $message    = $e->getMessage();     // Type:invalid_access_key Code:101 Info:You have not supplied a valid API Access Key.
}

单元测试

$ cd tests
$ phpunit

Coverage Status

标准

Numverify API客户端库对于PHP符合以下标准

许可证

Numverify API客户端库对于PHP采用MIT许可证。