InteleServiceStack

<back to all web services

RestSmsRequest

"use strict";
export class RestSmsMessageResp {
    /** @param {{StatusCode?:number,StatusDescription?:string,MessageId?:string,TransactionId?:string,ExtraInfo?:{ [index:string]: string; }}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description Result of sending message. 0 if success. See documentation for full list of codes */
    StatusCode;
    /**
     * @type {string}
     * @description Describes the result of sending Sms text message */
    StatusDescription;
    /**
     * @type {?string}
     * @description Your unique message id from send request message item. Will be empty if you did not provide any id in the request item. */
    MessageId;
    /**
     * @type {string}
     * @description Unique transaction id from server */
    TransactionId;
    /**
     * @type {?{ [index:string]: string; }}
     * @description Key/Value attributes returned from server. E.g. subnumref and the server name that processed the message. Eg. subnumref=19331234567891,server=smsgw1 */
    ExtraInfo;
}
export class RestSmsResponse {
    /** @param {{ProcessResult?:boolean,ProcessResultDescription?:string,Messages?:RestSmsMessageResp[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {boolean}
     * @description Overall status of processing the request. Each message will have it's own status. This value indicates if any other error occured or not */
    ProcessResult;
    /**
     * @type {?string}
     * @description Description of any error occured, if ProcessResult equals false */
    ProcessResultDescription;
    /**
     * @type {RestSmsMessageResp[]}
     * @description Collection of messages sent or failed */
    Messages = [];
}
export class RestSmsMessageReq {
    /** @param {{Gateway?:Object,OriginatorAddress?:Object,DestinationAddress?:Object,Price?:Object,MessageType?:string,ValidationPeriod?:Object,MessageId?:string,UserDataHeader?:string,UserData?:string,Category?:string,CustomData?:{ [index:string]: Object; },DeliveryReportUrl?:string,ServiceCode?:string,ServiceDescription?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {Object}
     * @description Gateway number. Default 99700999 for cross country delivery, non premium messages */
    Gateway;
    /**
     * @type {?Object}
     * @description Originator address. Defaults to gateway number if not set. Maximum 11 chars if using alphanumeric value. See documentation for full details. */
    OriginatorAddress;
    /**
     * @type {Object}
     * @description Destination address.The recipient of the message. Must be a valid MSISDN */
    DestinationAddress;
    /**
     * @type {Object}
     * @description Price to bill recipient. Premium messaging. Leave value to 0 if not using premium. Premium is only available on short number gateway number for each country available in documentation */
    Price;
    /**
     * @type {?string}
     * @description Message type according to documentation. Defaults to 00 if not set. If text length is above 160 chars, it defaults to value 11 */
    MessageType;
    /**
     * @type {?Object}
     * @description Delivery expire timestamp (yyyymmddhhmmss) or relative value. See documentation and default value if not defined */
    ValidationPeriod;
    /**
     * @type {?string}
     * @description Your unique message id to track delivery status and response from sending process */
    MessageId;
    /**
     * @type {?string}
     * @description GSM User Data Header (HEX) */
    UserDataHeader;
    /**
     * @type {string}
     * @description GSM User Data. Plain text or hex encoded. Depending on the used MessageType */
    UserData;
    /**
     * @type {?string}
     * @description Parameter to categorize messages on payment bill from Intele */
    Category;
    /**
     * @type {?{ [index:string]: Object; }}
     * @description Custom key/value attributes for the Sms Text Message. See documentation for further details */
    CustomData;
    /**
     * @type {?string}
     * @description Url where Intele should send delivery report. See documentation for url formatting */
    DeliveryReportUrl;
    /**
     * @type {?string}
     * @description For Premium messaging only. See documentation for further details */
    ServiceCode;
    /**
     * @type {?string}
     * @description For Premium messaging only. See documentation for further details */
    ServiceDescription;
}
export class RestSmsRequest {
    /** @param {{Username?:Object,Password?:string,Messages?:RestSmsMessageReq[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {Object}
     * @description API Username. Usually your customer id */
    Username;
    /**
     * @type {string}
     * @description API Password */
    Password;
    /**
     * @type {RestSmsMessageReq[]}
     * @description Collection of messages to send */
    Messages = [];
}

JavaScript RestSmsRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /xml/reply/RestSmsRequest HTTP/1.1 
Host: smsgw.intele.no 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<RestSmsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PushSmsLib.Dto">
  <Messages>
    <RestSmsMessageReq>
      <Category>String</Category>
      <CustomData xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringanyType>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value />
        </d4p1:KeyValueOfstringanyType>
      </CustomData>
      <DeliveryReportUrl>String</DeliveryReportUrl>
      <DestinationAddress />
      <Gateway />
      <MessageId>String</MessageId>
      <MessageType>String</MessageType>
      <OriginatorAddress />
      <Price />
      <ServiceCode>String</ServiceCode>
      <ServiceDescription>String</ServiceDescription>
      <UserData>String</UserData>
      <UserDataHeader>String</UserDataHeader>
      <ValidationPeriod />
    </RestSmsMessageReq>
  </Messages>
  <Password>String</Password>
  <Username />
</RestSmsRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<RestSmsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PushSmsLib.Dto">
  <Messages>
    <RestSmsMessageResp>
      <ExtraInfo xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </ExtraInfo>
      <MessageId>String</MessageId>
      <StatusCode>0</StatusCode>
      <StatusDescription>String</StatusDescription>
      <TransactionId>String</TransactionId>
    </RestSmsMessageResp>
  </Messages>
  <ProcessResult>false</ProcessResult>
  <ProcessResultDescription>String</ProcessResultDescription>
</RestSmsResponse>