
Teilen Sie:
Ravgeet is a freelancer and Co-Founder at RavSam. He helps startups, businesses, open-source organizations with Content Management Systems, Web and Mobile App Development. He is a fan of Jamstack and likes to work with Flutter, Strapi, Nuxt/Vue and Python. He also teaches students about new technologies by conducting monthly classes.
Erstellen Sie eine Saldoerinnerung mit Vonage Account API und Google Apps
Lesedauer: 4 Minuten
Als Freiberufler habe ich einigen lokalen Unternehmen in Indien bei der Einführung von Vonage-Produkten geholfen. Kürzlich fragte einer meiner Kunden, ob er eine Erinnerungs-E-Mail erhalten könne, wenn das Vonage-Guthaben unter ein bestimmtes Limit fällt, da er seinen Betrieb nicht wegen eines unzureichenden Guthabens behindern wolle. Da fast alle meine Kunden Google Workspace nutzen, beschloss ich, eine Integration von Vonage und Google Apps Script zu erstellen, um diesen Workflow zu ermöglichen.
Mit Google Apps Script können wir alle Google-Anwendungen über eine Plattform in der Cloud verwalten. Das Beste daran ist, dass die Authentifizierung in die Plattformen integriert ist und viele Unternehmen auf dem Markt Google Workspace - früher bekannt als G-Suite - verwenden.
In diesem Blog-Beitrag erfahren Sie, wie Sie benutzerdefinierte Benachrichtigungen erstellen können, wenn das Guthaben auf Ihrem Vonage Account unter ein bestimmtes Limit fällt. Der Beitrag richtet sich an die Entwickler von Vonage, die ihren Kundenstamm effektiv verwalten wollen, indem sie ihnen Erinnerungen über den Stand des Vonage Accounts schicken.
Voraussetzungen
Google-Konto - Wir benötigen ein Google-Konto - Personal oder Google Workspace.
Vonage API-Konto - Wir benötigen ein Vonage API-Konto. Wir können uns noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald wir ein Konto haben, finden wir unseren API-Schlüssel und das API-Geheimnis oben auf dem Vonage-API-Dashboard.
Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.
Ein Google Apps Script-Projekt erstellen
Beginnen wir mit der Erstellung unseres ersten Google Apps Script-Projekts. Wir müssen auf die Apps Script-Startseite und erstellen ein Neues Projekt. Sobald das neue Projekt erstellt ist, müssen wir ihm einen Namen geben, den wir uns merken können. Wir nennen unser Projekt Vonage-Guthaben-Erinnerung.

Saldo prüfen
Lassen Sie uns mit dem wichtigsten und interessantesten Teil des Projekts beginnen.
Google Apps Script ist in JavaScript geschrieben, so dass Sie auch mit JavaScript-Grundkenntnissen sofort loslegen können.
Lassen Sie uns eine neue Funktion erstellen, fetchBalanceund versuchen, eine Verbindung mit der Vonage REST API herzustellen, indem wir eine GET Anfrage senden, um unseren Kontostand zu prüfen. Wir müssen den folgenden Code in Code.gs Datei:
function fetchBalance() {
// get these credentials from Vonage's dashboard
const apiKey = '--------'
const apiSecret = '----------------'
// construct the api endpoint
const url = `https://rest.nexmo.com/account/get-balance?api_key=${apiKey}&api_secret=${apiSecret}`
// send a get request
const response = UrlFetchApp.fetch(url, {'method': 'GET'})
// discard the execution if status code is other than 200
if (response.getResponseCode() !== 200) return
// convert the response text into a json object
const jsonResponse = JSON.parse(response.getContentText())
// inspect the response
Logger.log(jsonResponse)
}
Das Wichtigste zuerst. Bevor wir das obige Skript ausführen, müssen wir unseren Vonage-API-Schlüssel und Vonage-API-Geheimnis. Beide sind verfügbar unter Vonage Dashboard.

Ersetzen Sie Ihre Anmeldedaten in dem obigen Skript und führen Sie die fetchBalance Funktion aus.
Wenn wir eine Funktion zum ersten Mal ausführen, werden wir aufgefordert, die Ausführung des Skripts zu genehmigen.

Es wird eine Liste aller für die Ausführung des Skripts erforderlichen Berechtigungen angezeigt.

Sobald wir unser Google Apps Script-Projekt autorisiert haben, wird die obige Funktion ausgeführt und die Antwort von der Vonage Account API wird in unserer Logger-Konsole protokolliert.

Um den Saldo aus der Antwort abzurufen, fügen wir die folgenden Codezeilen in unsere Funktion ein:
// parse the response and extract the account balance
const currentBalance = jsonResponse.value
// inspect the balance
Logger.log(currentBalance)Lassen Sie uns die Funktion erneut ausführen. Wir werden sehen, dass wir dieses Mal nicht nach Berechtigungen gefragt werden und unsere Funktion direkt ausgeführt wird.

Gut, jetzt haben wir unseren Vonage Account erfolgreich ausgeglichen.
Saldo-Limit angeben
Als Nächstes müssen wir eine Warnung (in diesem Fall eine E-Mail) senden, wenn unser aktueller Kontostand unter dem angegebenen Limit liegt. Hierfür müssen wir einige Änderungen an unserem Code vornehmen:
function fetchBalance() {
// get these credentials from Vonage's dashboard
const apiKey = '--------'
const apiSecret = '----------------'
const balanceLimit = 5 // in euros <- added
// construct the api endpoint
const url = `https://rest.nexmo.com/account/get-balance?api_key=${apiKey}&api_secret=${apiSecret}`
// send a get request
const response = UrlFetchApp.fetch(url, {'method': 'GET'})
// discard the execution of the response status code is other than 200
if (response.getResponseCode() !== 200) return
// convert the json string into a json object
const jsonResponse = JSON.parse(response.getContentText())
// parse the response and extract the account balance
const currentBalance = jsonResponse.value
if (currentBalance < balanceLimit) { // <- added
Logger.log('Balance is low') // <- added
} // <- added
}
Wir haben eine neue Variable hinzugefügt, balanceLimithinzugefügt, um den Betrag anzugeben, bei dessen Unterschreitung wir per E-Mail benachrichtigt werden sollen. Am Ende des Skripts fügen wir eine einfache if Bedingung hinzugefügt, um unseren aktuellen Saldo und Saldo-Limit. Führen Sie das obige Skript aus, und überprüfen Sie unseren Logger auf Protokolle.

Senden Sie eine E-Mail
Unsere Anwendungslogik ist vollständig und das letzte, was wir hinzufügen müssen, ist der Code zum Senden einer E-Mail. An dieser Stelle werden Sie sich in Google Apps Script verlieben. Alles, was wir hinzufügen müssen, ist dieser Einzeiler und wir sind bereit, eine E-Mail zu senden. Wir müssen keine Protokolle, Ports und andere Dinge auf niedriger Ebene angeben, an die wir so gewöhnt sind.
Für jede E-Mail benötigen wir drei Dinge: den Empfänger, den Betreff und den Text der E-Mail. Ändern wir unsere fetchBalance Funktion und fügen die E-Mail-Funktionalität hinzu:
function fetchBalance() {
// get these credentials from Vonage's dashboard
const apiKey = '--------'
const apiSecret = '----------------'
const balanceLimit = 5 // in euros
const emailSubject = 'Vonage Balance is low' // <- added
const emailTo = '--------------------' // <- added
// construct the api endpoint
const url = `https://rest.nexmo.com/account/get-balance?api_key=${apiKey}&api_secret=${apiSecret}`
// send a get request
const response = UrlFetchApp.fetch(url, {'method': 'GET'})
// discard the execution of the response status code is other than 200
if (response.getResponseCode() !== 200) return
// convert the json string into a json object
const jsonResponse = JSON.parse(response.getContentText())
// parse the response and extract the account balance
const currentBalance = jsonResponse.value
// send a reminder email in case the balance is lower than limit
if (currentBalance < balanceLimit) {
const emailBody = `Your current Vonage balance: €${currentBalance} as of ${new Date()}. Please recharge soon.` // <- added
GmailApp.sendEmail(emailTo, emailSubject, emailBody) // <- added
}
}
Es steht Ihnen frei, die
emailSubjectundemailBodynach eigenem Gutdünken ändern.
Wir werden erneut nach Berechtigungen gefragt. Der Grund dafür ist, dass wir ein Stück Code zum Senden einer E-Mail hinzugefügt haben, das eine Benutzerautorisierung erfordert, da das Skript die E-Mail im Namen des Benutzers sendet. Wir müssen also die neuen Berechtigungen autorisieren.

Sobald die Ausführung des Skripts abgeschlossen ist, müssen wir unseren Posteingang auf die E-Mail überprüfen.

Hinweis: Die E-Mail wird nur versendet, wenn der Kontostand unter dem von Ihnen im Skript eingestellten Kontogrenzwert liegt.
Regelmäßige Überprüfung des Saldos
Eine der besten Eigenschaften von Google Apps Script sind die Auslöser. Trigger, oder CRON-Jobs, wie wir manchmal sagen, ermöglichen es uns, unser Skript auf automatisierte Weise ohne menschliches Eingreifen auszuführen. Google Apps Script bietet viele Möglichkeiten zur Erstellung von Triggern, sowohl über eine Benutzeroberfläche als auch programmatisch.
Die Häufigkeit der Auslösung hängt ganz von unserem Anwendungsfall ab. Wenn unsere Vonage-API häufig genutzt wird, ist es sinnvoll, das Skript häufiger auszuführen, zum Beispiel stündlich. Andernfalls können wir einen Auslöser erstellen, der unsere fetchBalance Funktion einmal pro Tag oder einmal pro Woche ausführt. Ihr Anruf!
Lassen Sie uns fortfahren und einen Trigger programmatisch erstellen. In Code.gsmüssen wir die folgende Funktion hinzufügen:
function createTrigger() {
// create a trigger to run fetchBalance function every hour
ScriptApp.newTrigger('fetchBalance')
.timeBased()
.everyHours(1)
.create()
}Das obige Skript tut genau das, was es sagt. Es erstellt einen Trigger, der unsere fetchBalance Funktion jede einzelne Stunde ausführt. Lassen Sie uns die createTrigger Funktion aus, indem wir sie in der Aktionsleiste auswählen.

Wir werden erneut aufgefordert, eine Autorisierung anzufordern. Die Auslöser erfordern die Erlauben Sie die Ausführung dieser Anwendung, wenn Sie nicht anwesend sind Genehmigung. Lassen Sie uns das Skript autorisieren und auf seine Ausführung warten.

Sobald die Ausführung abgeschlossen ist, müssen wir verifizieren, ob ein neuer Auslöser erstellt wurde oder nicht.
In der Seitenleiste gehen wir zu Auslöser.

Nun gut. Wir sehen, dass ein Trigger erstellt wurde. Wir müssen einige Zeit warten, bevor der Trigger ausgeführt wird.

Wir haben gerade unsere benutzerdefinierte Saldoerinnerung erstellt. Sie ist wirklich hilfreich für einen kontinuierlichen Service.
Wie geht es weiter?
Es gibt viele Möglichkeiten, Benachrichtigungen zu erstellen. Wir können Slack-Benachrichtigungen senden oder sogar die Vonage API verwenden, um Whatsapp-Nachrichten oder SMS an unsere Kunden zu senden. Sie können mehr über Vonage API erfahren unter Vonage-API-Entwickler.
Teilen Sie:
Ravgeet is a freelancer and Co-Founder at RavSam. He helps startups, businesses, open-source organizations with Content Management Systems, Web and Mobile App Development. He is a fan of Jamstack and likes to work with Flutter, Strapi, Nuxt/Vue and Python. He also teaches students about new technologies by conducting monthly classes.
