feat: Vonage API

This commit is contained in:
Rafael Taranto 2023-08-17 12:33:15 +01:00
parent 84ceeda611
commit 3b19caf3a7
8 changed files with 1116 additions and 71 deletions

View file

@ -49,6 +49,7 @@ const ALL_ACCOUNTS = [
{ code: 'mock-id-verify', display: 'Mock ID verifier', class: ID_VERIFIER, dev: true },
{ code: 'twilio', display: 'Twilio', class: SMS },
{ code: 'telnyx', display: 'Telnyx', class: SMS },
{ code: 'vonage', display: 'Vonage', class: SMS },
{ code: 'mailgun', display: 'Mailgun', class: EMAIL },
{ code: 'none', display: 'None', class: ZERO_CONF, cryptos: ALL_CRYPTOS },
{ code: 'blockcypher', display: 'Blockcypher', class: ZERO_CONF, cryptos: [BTC] },

View file

@ -24,7 +24,8 @@ const SECRET_FIELDS = [
'cex.privateKey',
'binance.privateKey',
'twilio.authToken',
'telnyx.apiKey'
'telnyx.apiKey',
'vonage.apiSecret'
]
/*

View file

@ -0,0 +1,31 @@
const { Auth } = require('@vonage/auth')
const { SMS } = require('@vonage/sms')
const NAME = 'Vonage'
function sendMessage (account, rec) {
const credentials = new Auth({
apiKey: account.apiKey,
apiSecret: account.apiSecret
})
const from = account.fromNumber
const text = rec.sms.body
const to = rec.sms.toNumber || account.toNumber
const smsClient = new SMS(credentials)
smsClient.send({ from, text, to })
.catch(err => {
throw new Error(`Vonage error: ${err.message}`)
})
}
function getLookup () {
throw new Error('Vonage error: lookup not supported')
}
module.exports = {
NAME,
sendMessage,
getLookup
}