This content originally appeared on Twilio Blog and was authored by Luís Leão
Twilio Lookup é uma API REST de agenda telefônica que você pode usar para verificar se um número existe, formatar números internacionais de acordo com os padrões locais, determinar se um telefone pode receber mensagens de texto e até mesmo descobrir informações sobre a operadora associada a esse número de telefone.
Neste post, vamos aprender a lidar com números válidos e inválidos usando a Biblioteca PHP da Twilio. Se você precisa procurar números de clientes no app de produção do Laravel ou apenas ter um script básico que deseja executar para verificar números de um banco de dados local, esse código ajuda você a começar a validar os números de telefone.
Primeiros passos
Precisaremos de alguns itens antes de começarmos a criar:
- PHP — estou usando a versão 5.5 para este post
- Composer — ele vai nos ajudar a gerenciar nossas dependências
- A Biblioteca PHP da Twilio — Abra o terminal, navegue até a pasta em que deseja que o código fique ativo e digite o seguinte comando para instalá-la com o Composer:
composer require twilio/sdk:4.*
- Uma conta da Twilio — inscreva-se gratuitamente
- Anote o Account SID (SID da conta) e o Auth Token (Token de autenticação) exibidos no painel da Twilio, conforme mostrado nesta imagem:
Procurar números de telefone válidos
Confira a página Lookup (Pesquisa) caso queira testar a API e ver que tipo de dados uma solicitação retorna. Tente inserir um número de telefone e dê uma olhada no objeto de resposta JSON.
Aqui está um exemplo rápido de código para fazer uma pesquisa básica de números de telefone. Crie um arquivo chamado lookup.php
e adicione esse código a ele:
<?php
// Get the PHP helper library from twilio.com/docs/php/install
// Loads the library
require "vendor/autoload.php";
// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "{{account_sid}}";
$token = "{{ auth_token }}";
$client = new Lookups_Services_Twilio($sid, $token);
// Make a call to the Lookup API
$number = $client->phone_numbers->get("15108675309");
// Print the nationally formatted phone number
echo $number->national_format . "\r\n"; // => (510) 867-5309
Abra o terminal, navegue até o diretório que contém o arquivo lookup.php
e execute este comando:
php lookup.php
Essa funcionalidade básica é gratuita, mas você pode obter mais informações por meio de uma pesquisa de operadora. As pesquisas de operadora são comumente usadas para determinar se um número pode receber mensagens SMS/MMS. Isso custa US$ 0,005, mas uma conta de avaliação gratuita tem US$ 20 em crédito para teste.
As pesquisas de operadora exigem um parâmetro extra.
<?php
// Get the PHP helper library from twilio.com/docs/php/install
// Loads the library
require "vendor/autoload.php";
// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "{{account_sid}}";
$token = "{{ auth_token }}";
$client = new Lookups_Services_Twilio($sid, $token);
// Perform a carrier Lookup using a US country code
$number = $client->phone_numbers->get("(510) 867-5309", array("CountryCode" => "US", "Type" => "carrier"));
// Log the carrier type and name
echo $number->carrier->type . "\r\n"; // => mobile
echo $number->carrier->name; // => Sprint Spectrum, L.P.
Procurar números de telefone inválidos
Nesta "agenda online", os números de telefone atuam como uma ID única. Ao tentar procurar um número de telefone que não existe, você receberá uma resposta 404.
Vá para a página inicial Lookup (Pesquisa) novamente para ver isso em ação ao verificar um número que não existe:
Vamos criar uma função que usa um número de telefone e retorna verdadeiro quando o número existe e falso quando não existe. Vamos tentar isso realizando uma pesquisa de operadora e verificando se uma exceção foi gerada com um código de erro 404.
Substitua o código no arquivo lookup.php
pelo seguinte:
<?php // Get the PHP helper library from twilio.com/docs/php/install // Loads the library require "vendor/autoload.php"; // A function that takes a phone number and // returns true if the number is valid and false otherwise. function isValidNumber($number) { // Your Account Sid and Auth Token from twilio.com/user/account $sid = "{{account_sid}}"; $token = "{{ auth_token }}"; $client = new Lookups_Services_Twilio($sid, $token); // Try performing a carrier lookup and return true if successful. try { $number = $client->phone_numbers->get($number, array("CountryCode" => "US", "Type" => "carrier"));
$number->carrier->type; // Should throw an exception if the number doesn't exist.
return true;
} catch (Exception $e) {
// If a 404 exception was encountered return false.
if($e->getStatus() == 404) {
return false;
} else {
throw $e;
}
}
}
if (isValidNumber("19999999999")) {
echo "Phone number is valid";
} else {
echo "Phone number is not valid";
}
Tente executar esse código usando o seguinte comando no terminal e não se esqueça de inserir o Account SID (SID da conta) e o Auth Token (token de autenticação):
php lookup.php
Agora, você tem uma função que pode ser usada em qualquer lugar do código para verificação de números de telefone.
De olho no futuro
Agora, você sabe usar a agenda telefônica da API REST Twilio Lookup. Você também pode consultar outros recursos para saber como usar a Lookup (Pesquisa) em outros idiomas:
- Pesquisar números de telefone em Python
- Pesquisar números de telefone em Ruby.
- Documentação da API.
Este artigo foi traduzido do original "How to Validate Phone Numbers in PHP with the Twilio Lookup API". Enquanto melhoramos nossos processos de tradução, adoraríamos receber seus comentários em help@twilio.com - contribuições valiosas podem render brindes da Twilio.
This content originally appeared on Twilio Blog and was authored by Luís Leão

Luís Leão | Sciencx (2021-06-28T20:45:38+00:00) Como validar números de telefone em PHP com a API Twilio Lookup. Retrieved from https://www.scien.cx/2021/06/28/como-validar-numeros-de-telefone-em-php-com-a-api-twilio-lookup/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.