upwire

1.0.14 • Public • Published
Upwire logo

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:

    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);
                })

Readme

Keywords

Package Sidebar

Install

npm i upwire

Weekly Downloads

1

Version

1.0.14

License

SEE LICENSE IN LICENSE.md

Unpacked Size

29.5 kB

Total Files

10

Last publish

Collaborators

  • upwire