1.0.14 • Published 7 years ago
upwire v1.0.14
Upwire APIs Node.js Client
A Node.js package to consume Upwire Restful services
Usage
Install the package using npm:
npm install upwire --saveThen, 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:
	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
	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
        options = {
                "templateId": "[templateId]",
        }
        Upwire.Master.startOutbound(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Append
        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
        options = {
                "jobNumber": "[master_job_number]",
        }
        Upwire.Control.pauseMaster(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Restart Job
        options = {
                "jobNumber": "[master_job_number]",
        }
        Upwire.Control.restartMaster(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Cancel Job
        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
        options = {
                "limit": 1,
        }
        Upwire.Reporing.listMasterJobs(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Get Master Job
        options = {
		"jobnumber": "[master_job_number]"
        }
        Upwire.Reporing.getMasterJob(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Get Master Data
        options = {
                "jobnumber": "[master_job_number]"
        }
        Upwire.Reporing.getMasterData(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Get Master Stats
        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
        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
        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
        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
        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
        Upwire.Reporing.listCountries()
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Get Country Capabilities
        options = {
                "country": "country"
        }
        Upwire.Reporing.getCountry(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })Search Numbers
        options = {
                "numberType": "mobile",
		"countryCode": "44",
		"searchString": "447"
        }
        Upwire.Reporing.searchNumbers(options)
                .then(function(value) {
                        console.log(value);
                })
                .catch(function(err) {
                        console.log(err);
                })