Zoho Voice SMS REST API

Zoho Voice SMS REST API

Authorization

HeaderKey

Description

Authorization *

Zoho-oauthtoken<space><ACCESS_TOKEN>

Accept *

Set to application/json.


OAuth Doc

Send SMS

Use this API to send SMS

  POST     https://voice.zoho.com/rest/json/v1/sms/send


Scope : ZohoVoice.sms.CREATE

dataSet Parameters

Name

Datatype

Description

senderId

 number

SenderId: 
•Short number (20 OA Length) 
• Alphanumeric Sender (20 OA Length) 
• MSISDN max length (20 OA Length) 

customerNumber *

number

The destination phone number.

(comma separated numbers allowed)

message *

string

Content of the message to be sent

Can be up to 10,000 characters.

statusCallback

url

Notify call back status to specified url
Note: this will only uses url level authentication.
eg: https://zoho.com/callback?zapikey=1003.5XXXXXXX59

dataCoding

integer

Whether to detect Unicode characters 

0 - English character

1 - binary

2- Non-English character

validityPeriod

integer

If given, the platform will only try to send the message for these many minutes. should be between 0 and 14400 minutes

scheduledTime 

string

Schedule the message to be delivered on the time (ex : yyyy-mm-DD hh:MM:ss)

timeZone

string

Schedule the message to be delivered on the timezone (ex : Asia/kolkata)

flash

boolean

sends the message directly to display




  1. {
  2.    "customerNumber":"13239205839",
  3.    "message":"test single SMS",
  4.     "statusCallback": "https://eno0q0f3dwwls.x.pipedream.net",
  5.    "scheduledTime": "2022-08-27 22:24:38",
  6.     "timeZone" : "Asia/Kolkata",
  7.     "flash":true
  8. }


Response

SUCCESS

{

 "code": "ZVSMS-2000",

 "send": {

   "multipartCount": 1,

   "country": "in",

   "submittedTime": 1667381258698,

   "customerNumber": "+1 8XXXXXXXX7",

   "message": "TEST",

   "userName": "Mark",

   "customerName": "Henry",

   "senderId": "14XXXXXXXXX3",

   "messageType": "OUTGOING",

   "sentTime": "2022-11-02 14:57",

   "logid": "40318437-aae8-4c91-bd1c-de52f8535445",

   "email": "mark@zylker.com",

   "status": "IN_QUEUE"

 },

 "status": "SUCCESS"

}


FAILURE

{

   "code": "ZVSMS-4038",

   "message": "Destination country not supported. Kindly contact zohovoice support",

   "status": "ERROR"

}



  POST     https://voice.zoho.com/rest/json/v2/sms/send


Scope : ZohoVoice.sms.CREATE

dataSet Parameters

Name

Datatype

Description

mms_media 

 file (multipart/form-data)

file to be upload to a server in a multipart/form-data type

sms_data *

json 

{

 "customerNumber": "18*********57",

 "message": "send",

 "senderId": "14**********09"

 "mms":true

}


scheduledTime 

string

Schedule the message to be delivered on the time (ex : yyyy-mm-DD hh:MM:ss)

timeZone

string

Schedule the message to be delivered on the timezone (ex : Asia/kolkata)




Response

SUCCESS

{

   "code": "ZVSMS-2000",

   "send": {

       "multipartCount": 1,

       "country": "us",

       "submittedTime": 1689851513187,

       "customerNumber": "+1 4XXXXXXXXX73",

       "message": "Hello,world!",

       "userName": "Mark",

       "customerName": "+1 4XXXXXXXX3",

       "senderId": "+14XXXXXXXX90",

       "messageType": "OUTGOING",

       "isMMS": true,

       "mmsMeta": [

           {

               "bucketName": "zohovoice-mms-test-6-15327576",

               "fileName": "hd1970_preview.mp4",

               "fileSize": 5125300,

               "objectName": "hd1970_preview.mp4-1689851510892",

               "fileExtn": "mp4",

               "mmsId": "3dff6d5a-ed5d-416d-b24d-f5c3817862e4"

           }

       ],

       "sentTime": "2023-07-20 11:11",

       "logid": "40318972-ffc8-4448-92ec-2f8494eafaa6",

       "email": "mark@zylker.com",

       "status": "IN_QUEUE"

   },

   "status": "SUCCESS"

}

}

Fetch SMS Logs

Use this API to fetch SMS logs

  READ     https://voice.zoho.com/rest/json/v1/sms/logs


Scope : ZohoVoice.sms.READ

dataSet Parameters

Name
Datatype
Description

from

 integer

from index of the data array

size

integer

size of data array. default value 100

fromDate

string

format  yyyy-MM-dd

toDate

string

format yyyy-MM-dd

messageType

string

direction of message

Possible values are all|incoming|outgoing

customerNumber 

long

recipient address 

country

string

Country name ex : US | EU





Response

SUCCESS

{

 "smsLogQuery": [

   {

     "country": "us",

     "multipartCount": 1,

     "submittedTime": 1702035249667,

     "isBlocked": false,

     "emailId": "mark@zylker.com",

     "customerNumber": "+1 4XXXXXXXXX0",

     "message": "Take this",

     "userName": "Mark",

     "customerName": "Josiah",

     "zuid": 669069956,

     "senderId": "+1 4XXXXXXXX73",

     "messageType": "INCOMING",

     "isMMS": true,

     "mmsMeta": [

       {

         "bucketName": "zohovoice-mms-local-02-697950588",

         "objectName": "697950588-mms-669069956-1702035250091",

         "fileName": "697950588-mms-669069956-1702035250091",

         "fileSize": "960637",

         "mmsId": "6d39bf14-43cb-4cff-8a98-68ab1de26064",

         "contentType": "image/jpeg"

       }

     ],

     "isLongCode": true,

     "sentTime": "2023-12-08 17:04",

     "logid": "953473b3-0b33-4d4e-a9c8-abf0ae8893c7",

     "zsoid": "697950588",

     "senderIdCountry": "us",

     "senderIdName": "+1 46XXXXXXX73",

     "status": "DELIVERED"

   },

   {

     "country": "us",

     "multipartCount": 1,

     "submittedTime": 1702029127336,

     "isBlocked": false,

     "emailId": "mark@zylker.com",

     "customerNumber": "+1 46XXXXXXXX0",

     "message": "This is new",

     "userName": "mark",

     "customerName": "Josiah",

     "zuid": 669069956,

     "senderId": "+1 4XXXXXXXXX3",

     "messageType": "INCOMING",

     "isMMS": false,

     "isLongCode": true,

     "sentTime": "2023-12-08 15:22",

     "logid": "bd1ed056-0662-4c1f-8074-10c05aab0b3a",

     "zsoid": "697950588",

     "senderIdCountry": "us",

     "senderIdName": "+1 4XXXXXXXXX3",

     "status": "DELIVERED"

   }


 ],

 "meta": {

   "total": 4

 },

 "status": "success"

}


FAILURE

{

   "code": "ZVSMS-4038",

   "message": "Destination country not supported. Kindly contact zohovoice support",

   "status": "ERROR"

}



  READ     https://voice.zoho.com/rest/json/v2/sms/stream/mms


Description:

This API provides the MMS data as stream response.

Scope : ZohoVoice.sms.READ

dataSet Parameters


Name
Datatype
Description

id

 uuid

mmsId from the mmsMeta Array

mode

preview|download

to download or preview


SMS conversation view

Use this API to fetch SMS logs in conversation view

  READ     https://voice.zoho.com/rest/json/v1/sms/chatlist


Scope : ZohoVoice.sms.READ

dataSet Parameters


Name
Datatype
Description

page

 integer

page number

size

integer

size of data array. default value 100

shortCode

string

ZohoVoice shortcode

longCode

string

ZohoVoice SMS DIDnumber (+1 484292xxxx)

totalPages

integer

total pages

search 

string

search sms text as a whole word


Response

SUCCESS

{

 "chatlist": [

   {

     "country": "au",

     "submittedTime": 1656313040887,

     "messageId": "61a2d48d-45bf-4583-a34c-44b8f924a61e",

     "customerNumber": "+61 2XXXXXXXX7",

     "message": "test AUS SMS",

     "userName": "Mark",

     "customerName": "+6XXXXXXXXX7",

     "zuid": 8956275,

     "senderId": "+61 4XXXXXXXX5",

     "statusDescription": "Message was not delivered due to one of the possible errors reported by SMSC",

     "messageType": "OUTGOING",

     "sentTime": "2022-06-26 19:57",

     "logid": "66fccfe8-95e6-4a39-bd1a-5f258755ed81",

     "zsoid": "696913717",

     "email": "mark@zylker.com",

     "status": "UNDELIVERED"

   },

   {

     "country": "in",

     "submittedTime": 1656057523864,

     "messageId": "39ddc103-587f-4034-81c7-8b16d4842345",

     "customerNumber": "+1 2XXXXXXXXX0",

     "message": "test SMS",

     "userName": "mark@zylker.com",

     "customerName": "+1 14XXXXXXXX0",

     "zuid": 8956275,

     "senderId": "",

     "statusDescription": "Message was not delivered due to expiration of timer or validity period",

     "messageType": "OUTGOING",

     "sentTime": "2022-06-23 20:58",

     "logid": "eeb4352e-e0bd-4c42-b31d-56dd1d5f07d9",

     "zsoid": "696913717",

     "email": "mark@zylker.com",

     "status": "EXPIRED"

   }

 ],

 "meta": {

   "total": 20,

   "totalPages": 2

 },

 "status": "success"

}


Schedule SMS view

Use this API to fetch Schedules sms

  READ     https://voice.zoho.com/rest/json/v1/sms/schedule


Scope : ZohoVoice.sms.READ

dataSet Parameters

Name
Datatype
Description

from

 integer

from data size

size

integer

size of data array. default value 100

fromDate

string

start date (2023-01-01 00:00:00)

toDate

string

end date (2023-03-01 23:59:00)

searchtext 

string

search sms text as a whole word


Response

SUCCESS

{

 "schedule": [

   {

     "multipartCount": 1,

     "country": "us",

     "scheduledTime": "2023-03-04 21:35:00",

     "timeZone": "Pacific/Niue",

     "customerNumber": "+1 46XXXXXXXX0",

     "message": "this is scheduled SMS",

     "userName": "Mark",

     "customerName": "John",

     "zuid": 8956275,

     "jobId": "961000000506031",

     "senderId": "+1 48XXXXXXX30",

     "messageType": "OUTGOING",

     "countryCode": "us",

     "isLongCode": true,

     "logid": "32712527-db0a-4aa9-840d-d0d3d72f7d0b",

     "zsoid": "696913717",

     "senderIdCountry": "us",

     "senderIdName": "SMS TATA US",

     "status": "IN_QUEUE"

   }

 ],

 "code": "200",

 "status": "SUCCESS"

}