https://d226lax1qjow5r.cloudfront.net/blog/blogposts/how-to-make-an-outbound-text-to-speech-phone-call-with-node-js/text-to-speech_node-js.png

Wie man mit Node.js einen ausgehenden Text-to-Speech-Telefonanruf tätigt

Zuletzt aktualisiert am February 23, 2023

Lesedauer: 5 Minuten

Einführung

Die Vonage Voice API ist der einfachste Weg, hochwertige Voice Applications in der Cloud zu erstellen. Mit der Voice API können Sie:

  • Erstellen Sie Anwendungen, die mit den von Ihnen bereits verwendeten Webtechnologien skalierbar sind.

  • Kontrollieren Sie den Fluss von ein- und ausgehenden Anrufen in JSON mit Nexmo Anrufsteuerungsobjekten (NCCO) (Anmerkung: Nexmo ist jetzt Vonage).

  • Eingehende und ausgehende Anrufe aufzeichnen und speichern

  • Telefonkonferenzen erstellen

  • Senden Sie Text-to-Speech-Nachrichten in 40 Sprachen mit verschiedenen Geschlechtern und Akzenten.

  • Und mehr!

In diesem Tutorial lernen Sie, wie Sie die Vonage Voice APIs sicher nutzen können, um mit Node.js einen ausgehenden Text-to-Speech-Anruf zu erstellen.

Der Quellcode der Anwendung ist zu finden hier.

Voraussetzungen

Bevor Sie beginnen, vergewissern Sie sich, dass Sie die folgenden Informationen haben:

  • Node.js installiert. Node.js ist eine quelloffene, plattformübergreifende JavaScript-Laufzeitumgebung.

  • OPTIONAL - Vonage CLI Sobald Node.js installiert ist, installieren Sie die CLI durch Eingabe von npm install -g @vonage/cli. Mit diesem Tool können Sie Ihre Vonage Applications über eine Befehlszeilenschnittstelle und nicht über das Vonage Developer Portal erstellen und verwalten.

Erstellen einer Voice-fähigen Vonage-Applikation

So verwenden Sie die Vonage Voice APIzu nutzen, müssen Sie eine Vonage-Applikation über das Entwicklerportal erstellen.

Sie benötigen eine Vonage Applikation, da diese die Sicherheits- und Konfigurationsinformationen enthält, die Sie für die Interaktion mit den Vonage Voice APIs benötigen. Alle Anfragen an die Vonage Voice API erfordern eine Authentifizierung. Sie müssen mit der Application API einen privaten Schlüssel generieren, mit dem Sie JSON Web Tokens (JWT) erstellen können, um die Anfragen zu stellen.

Die zugehörigen öffentlichen und privaten Schlüssel der Anwendung können über das Vonage Entwicklerportal oder die Vonage CLI. Für dieses Tutorial verwenden wir das Vonage Developer Dashboard.

Das Vonage Dashboard für Entwickler

Nachdem Sie einen Account erstellt haben, loggen Sie sich in das Vonage Developer Dashboard ein und suchen Sie den Bereich Abschnitt Applicationsund erstellen Sie von hier aus eine neue Anwendung. Geben Sie Ihrer Anwendung einen Namen, z. B. OutboundCallund drücken Sie Öffentlichen und privaten Schlüssel generieren. Daraufhin werden Sie aufgefordert, Ihren privaten Schlüssel herunterzuladen und den öffentlichen Schlüssel für Sie einzutragen. Bitte bewahren Sie diese Informationen sicher auf, da jeder, der Zugang dazu hat, Ihren Account nutzen kann!

Creating a Voice enabled applicationOutboundCall.png

Blättern Sie auf der Seite nach unten und stellen Sie sicher, dass die Option Voice eingeschaltet ist, und Sie können die Option Antwort, Ereignisund Fallback-URLs leer.

Turning on the Voice CapabilityVoiceCapability.png

Drücken Sie Neue Anwendung generieren um fortzufahren. Sie können auch eine Nummer verknüpfen, wenn Sie wollen, aber das ist für dieses Tutorial nicht notwendig.

Node.js-Projekt einrichten

Nachdem wir nun unsere Vonage Voice Application im Entwickler-Dashboard erstellt und unser Schlüsselpaar aus öffentlichem und privatem Schlüssel generiert haben, schauen wir uns an, wie wir unsere Node.js-Anwendung konfigurieren sollten.

Beginnen Sie mit einer Eingabeaufforderung, erstellen Sie ein Arbeitsverzeichnis und initialisieren Sie dann ein Node.js-Projekt.

npm init -y

Wir müssen auch das Node Vonage Server SDK installieren.

npm install @vonage/server-sdk

Erstellen Sie eine index.js Datei, und initialisieren Sie das Vonage SDK und die Anmeldeinformationen mit dem folgenden Code:

const {
    Vonage
} = require('@vonage/server-sdk');
const credentials = {
    applicationId: 'VONAGE_APPLICATION_ID',
    privateKey: "./private.key",
};
const options = {};
const vonage = new Vonage(credentials);

Ersetzen Sie die VONAGE_ANWENDUNG_ID durch die Anwendungs-ID für die Vonage-Anwendung, die Sie im Entwickler-Dashboard erstellt haben. Stellen Sie sicher, dass der privateKey den Pfad zu dem zuvor heruntergeladenen privaten Schlüssel enthält. Hinweis: Ich habe meine private.key-Datei in das Stammverzeichnis meiner Anwendung kopiert und kann darauf zugreifen, indem ich angebe, dass der privateKey gleich ist mit ./private.key.

Um eine Nummer mit der Voice API anzurufen, verwenden wir die Funktion vonage.voice.createOutboundCall Methode der Vonage Node.js-Bibliothek. Diese Methode akzeptiert Objekte als Parameter, die Informationen über den Empfänger, den Absender und den zu sprechenden Text enthalten.

Für die Voice API müssen wir einen Empfänger, Absender und die NCCO Objekt, das wir senden wollen.

Schließlich akzeptiert das Content-Objekt einen Texttyp und eine Textnachricht. Der Callback gibt ein Fehler- und ein Antwortobjekt zurück, und wir protokollieren Meldungen über den Erfolg oder Misserfolg des Vorgangs.

vonage.voice.createOutboundCall({
		to: [{
			type: 'phone',
			number: YOUR_NUMBER
		}],
		from: {
			type: 'phone',
			number: VONAGE_VIRTUAL_NUMBER
		},
		ncco: [{
			"action": "talk",
			"text": "You are listening to a test text-to-speech call made with the Vonage Voice API",
		}]
	})
	.then(resp => console.log(resp))
	.catch(err => console.error(err));

Ersetzen Sie IHRE_NUMMER durch ein Telefon, das Sie sofort abheben können. Die VONAGE_VIRTUELLE_NUMMER sollte Ihre virtuelle Nummer sein, die Sie in Ihrem Dashboard finden können. Sie können das NCCO-Objekt anpassen mit optionalen Parametern mit verschiedenen Stimmen nach Sprache, Geschlecht und sogar Akzent anpassen.

Bitte beachten Sie, dass wir das NCCO-Objekt zum Beispiel auf GitHub hosten können, indem wir eine ANSWER_URL mit folgendem Inhalt deklarieren und das ncco mit einer antwort_url wie unten gezeigt:

const ANSWER_URL = 'https://raw.githubusercontent.com/nexmo-community/ncco-examples/gh-pages/text-to-speech.json'

...

answer_url: [ANSWER_URL]

Ausführen der Anwendung

Geben Sie an Ihrer Befehls-/Terminal-Eingabeaufforderung Folgendes ein, um die Anwendung auszuführen:

node index.js

Ihr Telefon sollte klingeln, Sie hören eine Stimme, die den von uns angegebenen Text vorliest, und der Anruf wird beendet. Bitte beachten Sie, dass je nach Telefongesellschaft, mit der Sie sich verbinden, eine gewisse Latenzzeit auftreten kann.

Nachbereitung

Nachdem Sie nun gelernt haben, wie man einen ausgehenden Anruf mit der Vonage Voice API und Node.js erstellt, können Sie den Ton in verschiedenen Sprachen anhören verschiedenen Sprachen oder Akzenten anhören oder den gesprochenen Text anpassen noch weiter anpassen, um das Richtige für Ihr Unternehmen zu finden.

Wenn Sie Fragen oder Feedback haben, besuchen Sie den Vonage Entwickler-Slack oder senden Sie mir einen Tweet auf Twitterund ich werde auf Sie zurückkommen. Nochmals vielen Dank fürs Lesen, und wir sehen uns beim nächsten Mal!

Teilen Sie:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael CrumpManager, Entwicklererfahrungen

Michael Crump arbeitet bei Vonage im Developer Experiences Team und ist Programmierer, YouTuber und häufiger Sprecher zu verschiedenen Themen der .NET- und Cloud-/Kommunikationsentwicklung. Seine Leidenschaft ist es, Entwicklern die Vorteile der jeweiligen Technologien auf einfache Art und Weise näher zu bringen.