Sepatu Bot Musim Semi - Twilio
Twilio adalah 3 rd aplikasi pihak yang digunakan untuk mengirim SMS dan melakukan panggilan suara dari aplikasi kita. Ini memungkinkan kita untuk mengirim SMS dan membuat panggilan suara secara terprogram.
Pada bab ini, Anda akan belajar bagaimana mengimplementasikan pengiriman SMS dan melakukan panggilan suara dengan menggunakan Spring Boot dengan Twilio.
Note- Kami menggunakan akun Trail di Twilio untuk mengirim SMS dan melakukan panggilan suara. Anda dapat mempelajari lebih lanjut tentang Twilio di www.twilio.com .
Pertama, kita perlu menambahkan dependensi Twilio di file konfigurasi build kita.
Pengguna Maven dapat menambahkan dependensi berikut di file pom.xml.
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>7.16.1</version>
</dependency>
Pengguna Gradle dapat menambahkan dependensi berikut dalam file build.gradle.
compile group: "com.twilio.sdk", name:"twilio", version: "7.16.1"
Sekarang, inisialisasi akun Twilio dengan ACCOUNT_SID dan AUTH_ID di blok statis seperti yang ditunjukkan -
static {
Twilio.init(ACCOUNT_SID, AUTH_ID);
}
Mengirim SMS
Untuk mengirim SMS, kita perlu menyediakan from-number dan to-number ke metode Message.create (). Isi isi pesan juga perlu kita sediakan untuk metode Message.creator () seperti yang ditunjukkan -
Message.creator(new PhoneNumber("to-number"), new PhoneNumber("from-number"),
"Message from Spring Boot Application").create();
File kelas aplikasi Spring Boot utama terlihat di bawah.
package com.tutorialspoint.smsdemo;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;
@SpringBootApplication
public class SmsdemoApplication implements ApplicationRunner {
private final static String ACCOUNT_SID = "<your-account-sid>";
private final static String AUTH_ID = "<your-auth-id>";
static {
Twilio.init(ACCOUNT_SID, AUTH_ID);
}
public static void main(String[] args) {
SpringApplication.run(SmsdemoApplication.class, args);
}
@Override
public void run(ApplicationArguments arg0) throws Exception {
Message.creator(new PhoneNumber("to-number"), new PhoneNumber("from-number"),
"Message from Spring Boot Application").create();
}
}
Kode lengkap untuk membangun file konfigurasi diberikan di bawah ini -
Maven – pom.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tutorialspoint</groupId>
<artifactId>smsdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>smsdemo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>7.16.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Gradle – build.gradle
buildscript {
ext {
springBootVersion = '1.5.9.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile group: "com.twilio.sdk", name:"twilio", version: "7.11.+"
}
Anda dapat membuat file JAR yang dapat dieksekusi, dan menjalankan aplikasi spring boot dengan menggunakan perintah Maven atau Gradle berikut -
Untuk Maven, gunakan perintah seperti yang ditunjukkan -
mvn clean install
Setelah “BUILD SUCCESS”, Anda dapat menemukan file JAR di bawah direktori target.
Untuk Gradle, gunakan perintah seperti yang ditunjukkan -
gradle clean build
Setelah "BUILD SUCCESSFUL", Anda dapat menemukan file JAR di bawah direktori build / libs.
Jalankan file JAR dengan menggunakan perintah seperti yang diberikan di bawah ini -
java –jar <JARFILE>
Sekarang, Anda akan menerima SMS ke "nomor ke" Anda.
Pesan diterima ke "to-number".
Sent from your Twilio trail account
- Message from Spring Boot Application
Note- Dalam contoh ini, kami menggunakan akun Trail. Jadi, Anda harus memverifikasi nomor tersebut sebelum mengirim SMS.
Panggilan suara
Untuk melakukan panggilan suara dengan menggunakan Twilio, kita perlu memanggil metode Call.creator (). Untuk metode ini, kita perlu menyediakan to-number, from-number, dan voice-note seperti yang ditunjukkan di sini.
Call.creator(new PhoneNumber("<to-number>"), new PhoneNumber("<from-number>"),
new URI("http://demo.twilio.com/docs/voice.xml")).create();
Kode untuk file kelas aplikasi Spring Boot utama diberikan di bawah ini.
package com.tutorialspoint.smsdemo;
import java.net.URI;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Call;
import com.twilio.type.PhoneNumber;
@SpringBootApplication
public class SmsdemoApplication implements ApplicationRunner {
private final static String ACCOUNT_SID = "<ACCOUNT-SID>";
private final static String AUTH_ID = "AUTH-ID";
static {
Twilio.init(ACCOUNT_SID, AUTH_ID);
}
public static void main(String[] args) {
SpringApplication.run(SmsdemoApplication.class, args);
}
@Override
public void run(ApplicationArguments arg0) throws Exception {
Call.creator(new PhoneNumber("<to-number>"), new PhoneNumber("<from-number>"),
new URI("http://demo.twilio.com/docs/voice.xml")).create();
}
}
Kode untuk file konfigurasi build lengkap diberikan di bawah ini -
Maven – pom.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tutorialspoint</groupId>
<artifactId>smsdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>smsdemo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>7.16.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Gradle – build.gradle
buildscript {
ext {
springBootVersion = '1.5.9.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile group: "com.twilio.sdk", name:"twilio", version: "7.11.+"
}
Anda dapat membuat file JAR yang dapat dieksekusi, dan menjalankan aplikasi Spring Boot menggunakan perintah Maven atau Gradle berikut.
Untuk Maven, gunakan perintah seperti yang ditunjukkan -
mvn clean install
Setelah “BUILD SUCCESS”, Anda dapat menemukan file JAR di bawah direktori target.
Untuk Gradle, gunakan perintah seperti yang ditunjukkan -
gradle clean build
Setelah "BUILD SUCCESSFUL", Anda dapat menemukan file JAR di bawah direktori build / libs.
Sekarang, jalankan file JAR dengan menggunakan perintah yang diberikan di sini -
java –jar <JARFILE>
Sekarang, Anda akan menerima panggilan ke "ke-nomor" Anda dari Twilio.
Tekan sembarang tombol setelah menghadiri panggilan, Anda akan mendengar catatan suara dari https://demo.twilio.com/docs/voice.xml
Note- Dalam contoh ini, kami menggunakan akun Trail. Jadi, Anda harus memverifikasi nomornya sebelum melakukan panggilan.