UNPKG

upwire

Version:

Package to integrate with Upwire services

347 lines (272 loc) 8.05 kB
<img src="https://avatars2.githubusercontent.com/u/38847544?s=96&v=4" alt="Upwire logo" title="Upwire" align="right" height="96" width="96"/> # Upwire APIs Node.js Client A Node.js package to consume Upwire Restful services ## Usage Install the package using npm: npm install upwire --save Then, require the package with your Upwire usenrame and passcode: const Upwire = require('upwire')({username: '[username]', passcode: '[passcode]'}); Services from the Upwire API https://upwire.docs.apiary.io/ can be executed by calling a method with options. For example to send an SMS: ``` js options = { "callerid": "[callerid]", "destinations": "[destination]", "message": "Test message from Upwire" } Upwire.Message.send(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` Note: 'callerid' must be an SMS enabled number purchased from Upwire and 'destination' must be in international number format. ## Complete List of Services ## Master Job Docs: https://upwire.docs.apiary.io/#reference/master-job ### Master Submit #### Create ``` js options = { "action": "create", "templateId": "[templateId]", "csvData": "False", "data": { "id": "[id]", "name": "[name]", "mobile": "[mobile]", "landline": "[landline]", "email": "[email]" } } Upwire.Master.create(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Wait for API Call ``` js options = { "templateId": "[templateId]", } Upwire.Master.startOutbound(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Append ``` js options = { "templateId": "[templateId]", "autoStart": "True", "csvData": "False", "data": { "id": "[id]", "name": "[name]", "mobile": "[mobile]", "landline": "[landline]", "email": "[email]" } } Upwire.Master.append(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` Note: If "autoStart" is set to "True" the append service will check for a running masterJob, if none found a new masterJob will be started ### Job Control #### Pause Job ``` js options = { "jobNumber": "[master_job_number]", } Upwire.Control.pauseMaster(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Restart Job ``` js options = { "jobNumber": "[master_job_number]", } Upwire.Control.restartMaster(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Cancel Job ``` js options = { "jobNumber": "[master_job_number]", } Upwire.Control.cancelMaster(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` ### Job Reporting #### List Master Jobs ``` js options = { "limit": 1, } Upwire.Reporing.listMasterJobs(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get Master Job ``` js options = { "jobnumber": "[master_job_number]" } Upwire.Reporing.getMasterJob(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get Master Data ``` js options = { "jobnumber": "[master_job_number]" } Upwire.Reporing.getMasterData(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get Master Stats ``` js options = { "jobnumber": "[master_job_number]" } Upwire.Reporing.getMasterStats(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get SMS Job Stats ``` js options = { "jobnumber": "[sms_job_number]" } Upwire.Reporing.getSmsJobStats(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get Voice Job Stats ``` js options = { "jobnumber": "[voice_job_number]" } Upwire.Reporing.getVoiceJobStats(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get Voice Job Responses ``` js options = { "jobnumber": "[voice_job_number]" } Upwire.Reporing.getVoiceJobResponses(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get Email Job Stats ``` js options = { "jobnumber": "[email_job_number]" } Upwire.Reporing.getVoiceJobResponses(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` ## Admin Docs: https://upwire.docs.apiary.io/#reference/sms-raw/admin/get-sub-jobs-stats-email #### List Countries ``` js Upwire.Reporing.listCountries() .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Get Country Capabilities ``` js options = { "country": "country" } Upwire.Reporing.getCountry(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ``` #### Search Numbers ``` js options = { "numberType": "mobile", "countryCode": "44", "searchString": "447" } Upwire.Reporing.searchNumbers(options) .then(function(value) { console.log(value); }) .catch(function(err) { console.log(err); }) ```