
Partager:
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.
Créer un rappel de solde avec Vonage Account API et Google Apps
Temps de lecture : 5 minutes
En tant qu'indépendant, j'ai aidé quelques entreprises locales en Inde à mettre en œuvre des produits Vonage. Récemment, l'un de mes clients m'a demandé s'il pouvait recevoir un courriel de rappel lorsque le solde de Vonage est inférieur à une limite spécifiée, car il ne voulait pas entraver ses activités en raison d'un solde insuffisant. Presque tous mes clients utilisent Google Workspace, j'ai donc décidé de créer une intégration de Vonage et de Google Apps Script pour créer ce flux de travail.
Google Apps Script nous permet de gérer toutes les applications Google à l'aide d'une seule plateforme dans le nuage. Le plus intéressant, c'est que l'authentification est intégrée dans les plateformes et que de nombreuses entreprises du marché utilisent Google Workspace, anciennement connu sous le nom de G-Suite.
Dans cet article de blog, nous allons apprendre à créer des notifications personnalisées lorsque le solde de notre Account Vonage est inférieur à une limite spécifiée. Ce billet s'adresse aux développeurs Vonage qui souhaitent gérer efficacement leur base de clients en leur envoyant des rappels concernant le solde de leur Account Vonage.
Conditions préalables
Compte Google - Nous avons besoin d'un Account Google - Personnel ou Espace de travail Google.
Compte API Vonage - Nous aurons besoin d'un compte API Vonage. Nous pouvons nous inscrire dès aujourd'hui et commencer à construire avec un crédit gratuit. Une fois que nous avons un Account, nous pouvons trouver notre API Key et API Secret en haut du tableau de bord de l'API de Vonage.
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Créer un projet Google Apps Script
Commençons par créer notre premier projet Google Apps Script. Nous devons nous rendre sur la page d'accueil Apps Script Home Page et créer un Nouveau projet. Une fois le nouveau projet créé, nous devons lui donner un nom à retenir. Nous appellerons notre projet Rappel de solde Vonage.

Vérifier le solde
Commençons par la partie la plus importante et la plus intéressante du projet.
Google Apps Script est écrit en JavaScript, donc même si vous avez des connaissances de base en JavaScript, vous pouvez commencer.
Créons une nouvelle fonction, fetchBalanceet essayons de nous connecter à l'API REST de Vonage en envoyant une requête GET pour vérifier notre solde. Nous devons écrire le code suivant dans Code.gs fichier :
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)
}
Commençons par le commencement. Avant d'exécuter le script ci-dessus, nous devons obtenir notre clé API de Vonage et secret API Vonage. Les deux sont disponibles sur Tableau de bord de Vonage.

Remplacez vos informations d'identification dans le script ci-dessus et exécutez la fonction fetchBalance fonction.
Lorsque nous exécutons une fonction pour la première fois, il nous est demandé d'autoriser l'exécution du script.

Une liste de toutes les autorisations nécessaires à l'exécution du script nous sera fournie.

Une fois que nous avons autorisé notre projet Google Apps Script, la fonction ci-dessus s'exécutera et la réponse de l'API Vonage Account sera enregistrée dans notre console Logger.

Pour récupérer le solde de la réponse, ajoutons les lignes de code suivantes à notre fonction :
// parse the response and extract the account balance
const currentBalance = jsonResponse.value
// inspect the balance
Logger.log(currentBalance)Exécutons à nouveau la fonction. Nous verrons que cette fois-ci, nous ne sommes pas invités à demander des autorisations et que notre fonction sera exécutée directement.

Très bien, nous avons maintenant obtenu le solde de notre Account Vonage.
Spécifier la limite du solde
La prochaine chose à faire est d'envoyer une alerte (dans ce cas, un courriel) si notre solde actuel est inférieur à la limite spécifiée. Pour cela, nous devons apporter quelques modifications à notre code :
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
}
Nous avons ajouté une nouvelle variable, balanceLimitpour spécifier le montant en dessous duquel nous devons être alertés par courrier électronique. Puis, à la fin du script, nous avons ajouté un simple if pour comparer notre solde actuel et limite de solde. Exécutons le script ci-dessus, et vérifions que notre logger ne contient pas de logs.

Envoyer un courriel
Notre logique d'application est complète et la dernière chose que nous devons ajouter est le code pour envoyer un email. C'est ici que vous allez tomber amoureux de Google Apps Script. Tout ce que nous avons à ajouter, c'est cette ligne de code et nous sommes prêts à envoyer un courrier électronique. Nous n'avons pas besoin de spécifier les protocoles, les ports et autres éléments de bas niveau auxquels nous sommes habitués.
Pour tout courriel, nous avons besoin de trois éléments : le destinataire du courriel, l'objet du courriel et le corps du courriel. Modifions notre fonction fetchBalance et ajoutons la fonctionnalité d'envoi d'e-mails :
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
}
}
N'hésitez pas à modifier les
emailSubjectetemailBodyà votre convenance.
On nous demandera à nouveau des autorisations. C'est parce que nous avons ajouté un morceau de code pour envoyer un courriel qui nécessite l'autorisation de l'utilisateur, car le script enverra le courriel au nom de l'utilisateur. Nous devons donc autoriser les nouvelles permissions.

Une fois l'exécution du script terminée, nous devons vérifier si notre boîte de réception contient un courriel.

Note : Le courriel ne sera envoyé que si le solde de votre compte est inférieur à la limite de solde que vous avez définie dans le script.
Vérifier périodiquement le solde
L'une des meilleures caractéristiques de Google Apps Script est son système de déclencheurs. Les déclencheurs, ou les tâches CRON comme nous le disons parfois, nous permettent d'exécuter nos scripts de manière automatisée sans aucune intervention humaine. Google Apps Script propose de nombreuses façons de créer des déclencheurs, par le biais d'une interface utilisateur ou par programmation.
La fréquence de déclenchement dépend entièrement de notre cas d'utilisation. Si notre API Vonage est souvent utilisée, il est logique d'exécuter le script plus fréquemment, par exemple toutes les heures. Sinon, nous pouvons créer un déclencheur qui exécute notre fonction fetchBalance une fois par jour ou une fois par semaine. À vous de jouer !
Allons-y et créons un déclencheur par programme. Dans Code.gsnous devons ajouter la fonction suivante :
function createTrigger() {
// create a trigger to run fetchBalance function every hour
ScriptApp.newTrigger('fetchBalance')
.timeBased()
.everyHours(1)
.create()
}Le script ci-dessus fait exactement ce qu'il dit. Il crée un déclencheur qui exécute notre fonction fetchBalance toutes les heures. Exécutons la fonction createTrigger en la sélectionnant dans la barre d'action.

Une nouvelle demande d'autorisation nous sera adressée. Les déclencheurs requièrent l'option Autoriser l'exécution de cette application en votre absence l'autorisation. Autorisons le script et attendons son exécution.

Une fois l'exécution terminée, nous devons vérifier si un nouveau déclencheur a été créé ou non.
Dans la barre latérale, accédons à Déclencheurs.

C'est très bien. Nous pouvons voir qu'un déclencheur a été créé. Nous devons attendre un certain temps avant que le déclencheur ne s'exécute.

Nous venons de créer notre rappel de solde personnalisé. Il est très utile pour le service continu.
Quelle est la prochaine étape ?
Il existe de nombreuses façons de créer des notifications. Nous pouvons envoyer des notifications Slack, ou même utiliser l'API Vonage pour envoyer des messages Whatsapp ou des SMS à nos clients. Vous pouvez en savoir plus sur l'API de Vonage à l'adresse suivante Développeur API Vonage.
Partager:
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.
