upwire
Version:
Package to integrate with Upwire services
347 lines (272 loc) • 8.05 kB
Markdown
<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);
})
```