Package Exports
- infobip-nodejs
- infobip-nodejs/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (infobip-nodejs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Infobip
A NodeJS Wrapper for InfoBip
Overview
This project provides an easy-to-use object-oriented API to access endpoints delineated at https://www.infobip.com/docs/api
Installation
Install from the NPM Registry
npm i --save infobip-nodejs
Usage
let InfoBip = require('infobip-nodejs')
let APIKEY = '1IkXmSWOlE4y9Inhgyd6g5f2R7'
const environment = process.env.NODE_ENV
const isProduction = (environment === 'production')
const infobip = new InfoBip(APIKEY, isProduction, {
authType:'basic',
username:'user', // Infobip Username used for registration
password:'*******', // Infobip Password used for registration
encrypted:false,
baseHost: 'okllaq.api.infobip.com'
})
/*
Send SMS to two mobile numbers
- NB: make sure the Sender ID is registred with infobip before use
*/
const promise = infobip.sendSMS({
messages: [{
from: "YourCompanyName", // Sender ID
destinations: [
{ to: '+2348164422256' }, // MTN Numbers
{ to: '+2347039664638' }
],
text: 'Dear Customer, Thanks for registering with our service.'
}],
bulkId: "BULK-ID-awq6545pOu7ye6" // Auto-generated with prefix: "BULK-ID-"
})
promise.then( response => {
const { body } = response
console.log('response body: ', body)
}).catch( error => {
console.error(error)
})
API Resources
- infobip.sendSMS()
- infobip.sendSMSBinary()
- infobip.sendVoice()
Mocking instance for Unit/Integration Tests
const APIKEY = "hJ5Ds2e49jk0UiLa8fq36Sw7Y"
const isProduction = false
const infobip = new InfoBip(APIKEY, isProduction, {
authType:'basic',
username:'user', // Infobip Username used for registration
password:'*********', // Infobip Password used for registration
encrypted:false,
baseHost: 'okllaq.api.infobip.com'
});
// start mocking on instance (during a unit/integration test)
infobip.engageMock()
// calling a mocked method sendVoice()
infobip.sendVoice({
from: "MyCompanyName", // Sender ID
to: "+2349023465560", // Airtel Number
language: "en",
voice: {
name: "Paul",
gender: "male"
}
text: "Just Saying Hello"
});
// stop mocking on instance
infobip.disengageMock()
// It's also possible to swap out mocked methods
// with custom implementations
infobip.mockMacro('sendSMS', function (params) {
return Promise.reject({
messageId: "xxxxxxxxxxxxxxxxxxxxxxxxx"
});
});
License
MIT
Credits
Contributing
See the CONTRIBUTING.md file for info