digitaluapi

<back to all web services

SendSmsRequest

Requires Authentication
Requires any of the roles:Client, Admin, Partner
The following routes are available for this service:
POST/communication/message/smsSends an SMS to phone numbers provided.
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmsMessage:
    channel: Optional[str] = None
    to: Optional[str] = None
    content: Optional[str] = None
    client_message_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SendSmsRequest:
    # @ApiMember(Description="Messages to be Sent", IsRequired=true)
    messages: List[SmsMessage] = field(default_factory=list)
    """
    Messages to be Sent
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GrandcomMessage:
    channel: Optional[str] = None
    to: Optional[str] = None
    content: Optional[str] = None
    client_message_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GrandcomResponseMsg:
    api_message_id: Optional[str] = None
    accepted: bool = False
    to: Optional[str] = None
    error: Optional[str] = None
    has_error: bool = False
    msg: Optional[GrandcomMessage] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GrandcomMsgResponse:
    messages: Optional[List[GrandcomResponseMsg]] = None
    error: Optional[str] = None
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ClickatellMessage:
    channel: Optional[str] = None
    to: Optional[str] = None
    content: Optional[str] = None
    client_message_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ClickatellResponsesMsg:
    api_message_id: Optional[str] = None
    accepted: bool = False
    to: Optional[str] = None
    error: Optional[str] = None
    msg: Optional[ClickatellMessage] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ClickatellMessageResponse:
    messages: Optional[List[ClickatellResponsesMsg]] = None
    error: Optional[str] = None
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SMPPMessage:
    channel: Optional[str] = None
    to: Optional[str] = None
    content: Optional[str] = None
    client_message_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SMPPResponseMsg:
    api_message_id: Optional[str] = None
    accepted: bool = False
    to: Optional[str] = None
    error: Optional[str] = None
    msg: Optional[SMPPMessage] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SMPPMsgResponse:
    messages: Optional[List[SMPPResponseMsg]] = None
    error: Optional[str] = None
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SmsMsgResponse:
    grandcom_msg_response: Optional[GrandcomMsgResponse] = None
    clickatell_msg_response: Optional[ClickatellMessageResponse] = None
    smpp_msg_response: Optional[SMPPMsgResponse] = None
    error: Optional[str] = None
    response_status: Optional[ResponseStatus] = None

Python SendSmsRequest 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 /communication/message/sms HTTP/1.1 
Host: duengageapi.uat.scadsoftware.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<SendSmsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/digitaluapi.ServiceModel">
  <Messages>
    <SmsMessage>
      <channel>String</channel>
      <clientMessageId>String</clientMessageId>
      <content>String</content>
      <to>String</to>
    </SmsMessage>
  </Messages>
</SendSmsRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SmsMsgResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/digitaluapi.ServiceModel">
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <SMPPMsgResponse>
    <ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types">
      <d3p1:ErrorCode>String</d3p1:ErrorCode>
      <d3p1:Message>String</d3p1:Message>
      <d3p1:StackTrace>String</d3p1:StackTrace>
      <d3p1:Errors>
        <d3p1:ResponseError>
          <d3p1:ErrorCode>String</d3p1:ErrorCode>
          <d3p1:FieldName>String</d3p1:FieldName>
          <d3p1:Message>String</d3p1:Message>
          <d3p1:Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:KeyValueOfstringstring>
              <d6p1:Key>String</d6p1:Key>
              <d6p1:Value>String</d6p1:Value>
            </d6p1:KeyValueOfstringstring>
          </d3p1:Meta>
        </d3p1:ResponseError>
      </d3p1:Errors>
      <d3p1:Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d3p1:Meta>
    </ResponseStatus>
    <error>String</error>
    <messages>
      <SMPPResponseMsg>
        <accepted>false</accepted>
        <apiMessageId>String</apiMessageId>
        <error>String</error>
        <msg>
          <channel>String</channel>
          <clientMessageId>String</clientMessageId>
          <content>String</content>
          <to>String</to>
        </msg>
        <to>String</to>
      </SMPPResponseMsg>
    </messages>
  </SMPPMsgResponse>
  <clickatellMsgResponse>
    <ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types">
      <d3p1:ErrorCode>String</d3p1:ErrorCode>
      <d3p1:Message>String</d3p1:Message>
      <d3p1:StackTrace>String</d3p1:StackTrace>
      <d3p1:Errors>
        <d3p1:ResponseError>
          <d3p1:ErrorCode>String</d3p1:ErrorCode>
          <d3p1:FieldName>String</d3p1:FieldName>
          <d3p1:Message>String</d3p1:Message>
          <d3p1:Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:KeyValueOfstringstring>
              <d6p1:Key>String</d6p1:Key>
              <d6p1:Value>String</d6p1:Value>
            </d6p1:KeyValueOfstringstring>
          </d3p1:Meta>
        </d3p1:ResponseError>
      </d3p1:Errors>
      <d3p1:Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d3p1:Meta>
    </ResponseStatus>
    <error>String</error>
    <messages>
      <ClickatellResponsesMsg>
        <accepted>false</accepted>
        <apiMessageId>String</apiMessageId>
        <error>String</error>
        <msg>
          <channel>String</channel>
          <clientMessageId>String</clientMessageId>
          <content>String</content>
          <to>String</to>
        </msg>
        <to>String</to>
      </ClickatellResponsesMsg>
    </messages>
  </clickatellMsgResponse>
  <error>String</error>
  <grandcomMsgResponse>
    <ResponseStatus xmlns:d3p1="http://schemas.servicestack.net/types">
      <d3p1:ErrorCode>String</d3p1:ErrorCode>
      <d3p1:Message>String</d3p1:Message>
      <d3p1:StackTrace>String</d3p1:StackTrace>
      <d3p1:Errors>
        <d3p1:ResponseError>
          <d3p1:ErrorCode>String</d3p1:ErrorCode>
          <d3p1:FieldName>String</d3p1:FieldName>
          <d3p1:Message>String</d3p1:Message>
          <d3p1:Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:KeyValueOfstringstring>
              <d6p1:Key>String</d6p1:Key>
              <d6p1:Value>String</d6p1:Value>
            </d6p1:KeyValueOfstringstring>
          </d3p1:Meta>
        </d3p1:ResponseError>
      </d3p1:Errors>
      <d3p1:Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d3p1:Meta>
    </ResponseStatus>
    <error>String</error>
    <messages>
      <GrandcomResponseMsg>
        <accepted>false</accepted>
        <apiMessageId>String</apiMessageId>
        <error>String</error>
        <hasError>false</hasError>
        <msg>
          <channel>String</channel>
          <clientMessageId>String</clientMessageId>
          <content>String</content>
          <to>String</to>
        </msg>
        <to>String</to>
      </GrandcomResponseMsg>
    </messages>
  </grandcomMsgResponse>
</SmsMsgResponse>