Do not speak Portuguese? Translate this site with Google or Bing Translator
Como enviar SMS usando Twilio no Laravel?

Posted on: July 05, 2021 08:41 PM

Posted by: Renato

Categories: Laravel PHP dev

Views: 815

Como enviar SMS usando Twilio no Laravel?

Neste exemplo, vou mostrar para você enviar sms usando twilio no laravel. passo a passo explica laravel - notificações de sms do twilio. Esta postagem vai lhe dar um exemplo simples de twilio de notificação de sms laravel. você aprenderá laravel enviar sms para celular com twilio.

 

Neste exemplo, vou dar um exemplo muito simples de envio de sms usando twilio api no aplicativo laravel. você pode usar esse código facilmente nos aplicativos laravel 6, laravel 7 e laravel 8.

 

vamos seguir os passos abaixo:

primeiro de tudo, precisamos obter uma nova versão do aplicativo do Laravel usando o comando abaixo, então abra seu terminal OU prompt de comando e execute o comando abaixo:


 

composer create-project --prefer-dist laravel/laravel blog

Primeiro você precisa criar e adicionar um número de telefone. então você pode obter facilmente o SID, o token e o número da conta.

Crie uma conta aqui: www.twilio.com .

Em seguida, adicione o número de telefone do Twilio

 

Em seguida, você pode obter o SID, o token e o número da conta e adicionar o arquivo .env conforme abaixo:

.env

 

TWILIO_ACCOUNT_SID=0000000000000000000000000000

TWILIO_AUTH_TOKEN=000000000000000xxxxxxxxxx

TWILIO_APP_SID=APXXXXXXXXXXXXXXXXXXX

TWILIO_PHONE=+5555555555

Nesta etapa, precisamos instalar o pacote twilio / sdk composer para usar twilio api. então vamos executar o comando abaixo:


 

composer require twilio/sdk

agora vamos criar uma rota para chamar nosso exemplo, então vamos adicionar uma nova rota ao arquivo web.php conforme abaixo:

rotas / web.php

 


 

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\TwilioSMSController;

 

/*

|--------------------------------------------------------------------------

| Web Routes

|--------------------------------------------------------------------------

|

| Here is where you can register web routes for your application. These

| routes are loaded by the RouteServiceProvider within a group which

| contains the "web" middleware group. Now create something great!

|

*/

Route::get('sendSMS', [TwilioSMSController::class, 'index']);

nesta etapa, criaremos TwilioSMSController e escreveremos a lógica de envio de sms, então vamos adicionar uma nova rota ao arquivo web.php conforme abaixo:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Exception;

use Twilio\Rest\Client;

use Twilio\Jwt\ClientToken;

use Illuminate\Support\Facades\Log;

use Illuminate\Support\Facades\Config;

use App\Helpers\Sms;

 

class TwilioSMSController extends Controller

{

/**

* Write code on Method

*

* @return response()

*/

public function index()

{

if (Sms::send('teste de envio', '+5562984306030')){

return response()->json(['success' => 200], 200);

} else {

return response()->json(['error' => 500], 500);

}

 

}

 

}

Logo em seguida criei um Helper

App\Helpers\sms

```

<?php

 

namespace App\Helpers;

 

use Exception;

use Twilio\Rest\Client;

use Illuminate\Support\Facades\Log;

 

class Sms

{

 

public static function send($message, $phoneNumber)

{

try {

// Find your Account SID and Auth Token at twilio.com/console

// and set the environment variables. See http://twil.io/secure

$sid = config('twilio')['twilio_account'];

$token = config('twilio')['twilio_token'];

$twilio_phone = config('twilio')['twilio_phone'];

$twilio = new Client($sid, $token);

Log::info($twilio);

$sms = $twilio->messages

->create($phoneNumber, // to

[

"body" => $message,

"from" => $twilio_phone,

// "mediaUrl" => ["https://c1.staticflickr.com/3/2899/14341091933_1e92e62d12_b.jpg"] //Optional paramenter

]

);

 

Log::debug($sms->sid);

return true;

} catch (Exception $e) {

Log::error("Error: ". $e->getMessage());

return false;

}

 

}

}

Links e comandos:

 
https://www.twilio.com/docs/sms/tutorials/how-to-send-sms-messages-php
https://www.twilio.com/console
    
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear
php artisan optimize:clear
composer dump-autoload  

Agora você pode executar e verificar.

Espero que possa te ajudar ...

 


1

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email