YateSMSC JSON API to schedule SMSs

Request: schedule_sms​

Request delivery of text message/partially encoded message/ custom PDU in MT format. If custom TPDU is sent, it must be formatted as a full MT SMS in hex format.
When sending a text message it will be encoded as gsm7bit (default charset/utf8) or ucs2.

You can deliver to single receiver or to multiple receivers (if array or msisdns is given instead of single msisdn).

Request params:

{
“originator”: “”, // Sender of the SMS. If “tpdu” is provided this is not used and remains for informational purpose. The sender should be encoded in the PDU already
“destination”: [“”,””] or “”, // REQUIRED. Receiver(s) of the SMS. Must be a valid MSISDN or an Array of valid MSISDNs

“orignumtype”: “international”/”national”/”alphanumeric”, // Optional. Defaults to “international”
“orignumplan”: “isdn”/”national”/”unknown” // Optional. Defaults to “isdn” if “orignumtype” is not “alphanumeric”, or “unknown” if “orignumtype” is “alphanumeric”
“destnumtype”: “international”/”national”, // Optional. The SMSC tries to guess the destination based of number and my_cc (country code) set in smsc.

“scheduled_time”: NNNNNNNNNN, // Optional. Deliver sms(s) starting from that UNIX timestamp, no more than 2678400 seconds (31 days) in the future
“expires”: NNNN, // Optional. Expire interval (maximum 38102400 seconds = 63 weeks) or absolute UNIX timestamp of expiration
“retries”: NN, // Optional. Number of delivery attempts to make, 1 to 30
“return_billid”: true/false, // Optional. Return an Array of billids instead of the count of scheduled messages.
“ref”: NNN, // Optional. TP-MR message reference (0-255) to use for status reports, by default no reports are returned

// Use one of this options:

// text that the smsc should try to encode
“text”: “”,

// OR already encoded ud in hex format, specify de data coding scheme that should be sent
“encoded_ud”:””,
“dcs”: “”,
“udhi”: true/false, // Optional. User data Header Indicator, default false

// OR completely custom tpdu: String representation of a full MT SMS in hex format
“tpdu”: “”
}

Response:

{ “code”:0, “scheduled_sms”: N } // Count of message (fragments) by default
or
{ “code”:0, “scheduled_sms”: [“id1″,”id2”,…] } // Billing ID of each message if “return_billid” is true

Examples:

{"request":"schedule_sms", "node":"smsc", "params":{"originator":"40744334433","destination":"+88250001","text":"sms test enconding"}}
{"request":"schedule_sms", "node":"smsc", "params":{"originator":"monica","orignumtype":"alphanumeric","destination":"+88250001","text":"sms test enconding abc caller 3 "}}
{"request":"schedule_sms", "node":"smsc", "params":{"originator":"40744334444", "orignumtype":"international", "destination":"50001", "destnumtype":"national" ,"text":"sms test enconding"}}
{"request":"schedule_sms", "node":"smsc", "params":{"originator":"+40744334444", "destination":["88350001","40744334411"], "destnumtype":"international","text":"sms test enconding" }}
{"request":"schedule_sms", "node":"smsc", "params":{"originator":"407443344011", "orignumtype":"international", "destination":"88250001", "destnumtype":"international","encoded_ud":"F3F61C442FCFE9A0B27BFC7693D3EE33282C1E83C66136BB2C07CD40", "dcs":"gsm7bit"}}
{"request":"schedule_sms", "node":"smsc", "params":{"originator":"407443344011", "orignumtype":"international", "destination":"88250001", "destnumtype":"international","tpdu":"000ba17044334410f100006111304175838020f3f61c442fcfe9a0b27bfc7693d3ee33282c1e83c66136bb2c07cd40"}}

Please see the Send SMS Form sample for an example of how to use this request in a middleware application.

Request: hurry_sms

Request an immediate delivery attempt of a waiting SMS.
These attempts do count against the maximum number of retries!

Request

{ "request":"hurry_sms",
  "params":{
    "id":NNNN              // numeric ID of the message to hurry up
                           // or,
    "billid":""            // billing ID of the message to hurry up
  }
}

Response:

{ "code":0,
  "hurried_sms":NNNN       // ID of the message
}

Request: cancel_sms

Request cancellation of a waiting SMS.

Request

{ "request":"cancel_sms",
  "params":{
    "id":NNNN,             // numeric ID of the message to cancel
                           // or,
    "billid":""            // billing ID of the message to cancel
    "reason":"Whatever"    // optional reason to be written in CDR, default "Cancelled-by-Operator"
  }
}

Response:

{ "code":0,
  "canceled_sms":NNNN       // ID of the message
}