Page cover

SMS/MMS

With VoIP Number API SDK you can send SMS to any number in the world programmatically, straight from your app. Simply follow these steps

Install API SDK

npm i voipnumber

Send SMS

const voipnumber = require('voipnumber')('accountId','apiToken');

const from = '+447445459147';
const to = '+447483866525';

voipnumber.sms.send(from, to, 'Thank you').then((res) => {
    console.log(res);
}).catch((err) => {
    console.log(err);
});

First number (from) must belong to your account on VoIP Number and must have SMS capabilities. You will find your accountId and apiToken on the Settings page at app.voipnumber.net/settings

Credentials for your API SDK access

You can change your API token anytime by clicking GENERATE

Response to Send SMS request

{
  status: 'OK',
  result: {
    status: 'OK',
    result: {
      status: 'queued',
      body: 'Thank you',
      timestamp_s: 1716193717,
      created: '20 May 2024 08:28:37',
      id: 'feefcc83-d6ae-4580-b4dc-6ee16b37ff04'
    }
  }
}

On success response contains

  • status: will be set to queued , you will see when it changes to delivered on your Messaging page at app.voipnumber.net/messaging

  • body: text sent in the SMS

  • timestamp_s: number of seconds which have passed since UNIX epoch (1 January 1970)

  • created: same timestamp but in human-readable format

  • id: the reference to the SMS that you will also find on Messaging Data Records page on your account at app.voipnumber.net/messaging

On error, an error code and error description is returned. These are possible values

Error code
Description
USER_ACCOUNT_MISSING

AccountId not set or empty

API_TOKEN_MISSING

API token not set or empty

USER_NOT_FOUND

User with this AccountId cannot be found

API_TOKEN_INVALID

API token doesn't match AccountId

NUMBER_NOT_FOUND

Number doesn't exist on VoIP Number

NUMBER_OWNERSHIP

Number doesn't belong to this account

MESSAGE_INVALID

Coding syntax error

SMS logs

Receive SMS

A number with SMS capability can send and receive SMS. To receive an SMS sent to your Number configure a webhook for that Number at app.voipnumber.net/numbers

Make sure the url you will set can receive a call from public network. Our message is sent to your webhook from api.voipnumber.net in JSON format and contains Host: 'api.voipnumber.net' header that you can use for authorization check

headers: {
    'Content-Type': 'application/json',
    Host: 'api.voipnumber.net',
    'X-Forwarded-Port': '443',
    'X-Forwarded-Proto': 'https'
},

Our message to your webhook contains following data

{
      status: 'received',
      from: '+447445459147',
      to: '+447476553275',
      type: 'sms' | 'mms',
      body: 'text sent in SMS',
      mdr_timestamp_s: 1716204585,
      mdr_created: '20 May 2024 11:29:45',
      mdr_id: 'da84a7b1-1a80-4e96-885e-e719d5ec909c'
}

where mdr_timestamp_s, mdr_created and mdr_id refer to the Messaging Data Record created on receipt of this SMS/MMS message. Every SMS/MMS message is reported on the Messaging Data Records page at app.voipnumber.net/messaging (SMS/MMS). You will also see there if your webhook was called and what was the (HTTPs) status code returned by your infrastructure through that call

Inbound SMS logs

Last updated