
Compartilhar:
Michael é um engenheiro de software poliglota, empenhado em reduzir a complexidade dos sistemas e torná-los mais previsíveis. Trabalhando com diversas linguagens e ferramentas, ele compartilha seus conhecimentos técnicos com públicos de todo o mundo em grupos de usuários e conferências. No dia a dia, Michael é ex-representante de desenvolvedores da Vonage, onde dedicava seu tempo a aprender, ensinar e escrever sobre todos os tipos de tecnologia.
Anunciamos a versão 1.0.0 da biblioteca cliente Nexmo para PHP!
Tempo de leitura: 3 minutos
Após um esforço heróico de Tim e um pouco de ajuda de Michael para dar o toque final, temos o orgulho de anunciar que acabamos de lançar a versão 1.0 da biblioteca cliente Nexmo para PHP — falta só mais um composer require a menos!
A Tecnologia
Desenvolvido com base no Zend Diactoros e no Guzzle, é um cliente HTTP compatível com PSR-7 para a API da Nexmo. Inicialmente, ele oferece suporte aos nossos principais serviços, tais como SMS, chamadas de voz, Verify e fornecimento de números virtuais e trabalharemos para adicionar cobertura para os demais produtos ao longo do próximo mês.
Seja você um desenvolvedor que adora entidades e dicas de tipo, ou se prefere passar tudo como um array, a biblioteca tem algo para você. Cada uma de nossas entidades implementa a interface ArrayAccess para ler dados e aceita arrays como parâmetros ao criar e atualizar entidades.
$client = new \Nexmo\Client(new Nexmo\Client\Credentials\Basic('API_KEY', 'API_SECRET'));
$message = $client->message()->search('MESSAGE_ID');
// Read the message ID using a getter or using `ArrayAccess`
echo $message->getNetwork().PHP_EOL;
echo $message['network']; Exemplos
Interagir com a API da Nexmo é especialmente fácil ao usar nossa biblioteca cliente para PHP. Você pode enviar um SMS, fazer uma chamada de voz e usar o Verify para validar o número de um usuário, tudo isso em menos de dez linhas de código cada!
Como enviar um SMS
$client = new \Nexmo\Client(new Nexmo\Client\Credentials\Basic('API_KEY', 'API_SECRET'));
$client->message()->send([
'from' => '14155550101',
'to' => '14155550100',
'text' => 'A text message sent using the Nexmo SMS API'
]); Como fazer uma chamada de voz
$keypair = new \Nexmo\Client\Credentials\Keypair(file_get_contents(PRIVATE_KEY), APPLICATION_ID);
$client = new \Nexmo\Client($keypair);
$client->calls()->create([
'to' => [['type' => 'phone', 'number' =>'14155550100']],
'from' => ['type' => 'phone', 'number' =>'14155550101'],
'answer_url' => ['https://nexmo-community.github.io/ncco-examples/first_call_talk.json'],
]); Como usar a autenticação de dois fatores (2FA) para verificar a identidade de um usuário
$client = new Nexmo\Client(new Nexmo\Client\Credentials\Basic(API_KEY, API_SECRET));
$verification = $client->verify()->start([
'number' => '14155550100',
'brand' => 'My App'
]);
// The user submits a form via POST that contains the
// code they received in the `verification_code` input
$client->verify()->check($verification, $_POST['verification_code']); Pontos bônus
Se você é usuário do Laravel, temos uma surpresa bem especial para você. Além da nossa biblioteca independente, temos nexmo/laravel , que é um provedor de serviços do Laravel para o cliente PHP da Nexmo. Se você estiver usando o Laravel 5.5 ou superior, a biblioteca se registrará automaticamente como um provedor, permitindo que você use a fachada imediatamente.
Depois de instalar nexmo/laravel e configurar sua chave e seu segredo da API por meio de .env, enviar um SMS é tão simples quanto isso:
Nexmo::message()->send([
'to' => '14155550100',
'from' => '14155550101',
'text' => 'Using the facade to send a message.'
]);
Participe!
Se você já usou o Nexmo por meio de notificações por SMS no Laravel (sim, somos nós que fornecemos essa funcionalidade!), construiu um enorme sistema de logística ou qualquer outro projeto nesse meio-termo, adoraríamos saber mais sobre isso. Melhor ainda se for um projeto de código aberto e pudermos citá-lo como exemplo de como aproveitar o poder do Nexmo para realizar o trabalho.
Se você tiver interesse em participar do desenvolvimento da biblioteca do cliente, basta identificar um caso de uso que você tenha e que ainda não seja compatível conosco e abrir uma solicitação. Podemos trabalhar juntos para definir as especificações e incorporar essa compatibilidade à biblioteca do cliente (vamos até te ajudar a escrever os testes!)
Compartilhar:
Michael é um engenheiro de software poliglota, empenhado em reduzir a complexidade dos sistemas e torná-los mais previsíveis. Trabalhando com diversas linguagens e ferramentas, ele compartilha seus conhecimentos técnicos com públicos de todo o mundo em grupos de usuários e conferências. No dia a dia, Michael é ex-representante de desenvolvedores da Vonage, onde dedicava seu tempo a aprender, ensinar e escrever sobre todos os tipos de tecnologia.