İlkbahar Botu - Twilio
Twilio, uygulamamızdan SMS göndermek ve sesli arama yapmak için kullanılan 3. taraf bir uygulamadır. SMS göndermemizi ve programlı olarak sesli arama yapmamızı sağlar.
Bu bölümde, Twilio ile Spring Boot'u kullanarak SMS göndermeyi ve sesli arama yapmayı nasıl uygulayacağınızı öğreneceksiniz.
Note- SMS göndermek ve sesli arama yapmak için Twilio'daki Trail hesabını kullandık. Twilio hakkında daha fazla bilgiyi www.twilio.com adresinde bulabilirsiniz .
Öncelikle, Twilio bağımlılığını derleme yapılandırma dosyamıza eklememiz gerekir.
Maven kullanıcıları pom.xml dosyasına aşağıdaki bağımlılığı ekleyebilir.
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>7.16.1</version>
</dependency>
Gradle kullanıcıları, build.gradle dosyasına aşağıdaki bağımlılığı ekleyebilir.
compile group: "com.twilio.sdk", name:"twilio", version: "7.16.1"
Şimdi, Twilio hesabını ACCOUNT_SID ve AUTH_ID ile gösterildiği gibi statik blokta başlatın -
static {
Twilio.init(ACCOUNT_SID, AUTH_ID);
}
SMS gönderme
SMS göndermek için, Message.create () yöntemine bir kimden-numarası ve bir-numarası sağlamamız gerekir. Mesaj gövdesi içeriği de gösterildiği gibi Message.creator () yöntemini sağlamamız gerekir -
Message.creator(new PhoneNumber("to-number"), new PhoneNumber("from-number"),
"Message from Spring Boot Application").create();
Ana Spring Boot uygulama sınıfı dosyası aşağıdadır.
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();
}
}
Yapılandırma dosyasını oluşturmak için eksiksiz kod aşağıda verilmiştir -
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.+"
}
Aşağıdaki Maven veya Gradle komutlarını kullanarak yürütülebilir bir JAR dosyası oluşturabilir ve ilkbahar önyükleme uygulamasını çalıştırabilirsiniz -
Maven için komutu gösterildiği gibi kullanın -
mvn clean install
"BUILD SUCCESS" sonrasında, JAR dosyasını hedef dizinin altında bulabilirsiniz.
Gradle için komutu gösterildiği gibi kullanın -
gradle clean build
"BUILD SUCCESSFUL" sonrasında, JAR dosyasını build / libs dizini altında bulabilirsiniz.
JAR dosyasını aşağıda verilen komutu kullanarak çalıştırın -
java –jar <JARFILE>
Şimdi, "numaranıza" SMS'i alacaksınız.
"Numaraya" mesaj alındı.
Sent from your Twilio trail account
- Message from Spring Boot Application
Note- Bu örnekte Trail hesabını kullandık. Bu nedenle, SMS göndermeden önce numaraları doğrulamalısınız.
Sesli aramalar
Twilio kullanarak sesli arama yapmak için Call.creator () yöntemini çağırmamız gerekir. Bu yöntem için, burada gösterildiği gibi bir to-number, from-number ve sesli not sağlamamız gerekir.
Call.creator(new PhoneNumber("<to-number>"), new PhoneNumber("<from-number>"),
new URI("http://demo.twilio.com/docs/voice.xml")).create();
Ana Spring Boot uygulama sınıfı dosyasının kodu aşağıda verilmiştir.
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();
}
}
Tam derleme yapılandırma dosyasının kodu aşağıda verilmiştir -
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.+"
}
Yürütülebilir bir JAR dosyası oluşturabilir ve aşağıdaki Maven veya Gradle komutlarını kullanarak Spring Boot uygulamasını çalıştırabilirsiniz.
Maven için komutu gösterildiği gibi kullanın -
mvn clean install
"BUILD SUCCESS" sonrasında, JAR dosyasını hedef dizinin altında bulabilirsiniz.
Gradle için komutu gösterildiği gibi kullanın -
gradle clean build
"BUILD SUCCESSFUL" sonrasında, JAR dosyasını build / libs dizini altında bulabilirsiniz.
Şimdi, burada verilen komutu kullanarak JAR dosyasını çalıştırın -
java –jar <JARFILE>
Şimdi, Twilio'dan "numaranıza" çağrı alacaksınız.
Aramaya katıldıktan sonra herhangi bir tuşa basın, sesli notu https://demo.twilio.com/docs/voice.xml
Note- Bu örnekte Trail hesabını kullandık. Bu nedenle, arama yapmadan önce numaraları doğrulamalısınız.