class Messagemedia::SOAP::Message
This class is a light-weight wrapper around the message structure used by the MessageMedia SOAP
Client
interface.
Attributes
content[RW]
delivery_report[RW]
format[RW]
origin[RW]
recipients[RW]
sequence_number[RW]
validity_period[RW]
Public Class Methods
new()
click to toggle source
Initialize an empty Message
object
By default, delivery reports will be enabled, the validity period will be set to 10 minutes, and the message will be sent as an SMS.
# File lib/messagemedia/soap/message.rb, line 22 def initialize @recipients = [] @delivery_report = true @validity_period = 1 @sequence_number = 0 @format = FORMAT_SMS end
Public Instance Methods
add_recipient(message_id, recipient)
click to toggle source
Add a recipient.
An optional message ID (message_id) may be provided. This allows for the correlation of replies and delivery reports with messages that have been sent.
A recipient number (recipient) must be provided.
# File lib/messagemedia/soap/message.rb, line 39 def add_recipient(message_id, recipient) @recipients.push(Recipient.new(message_id, recipient)) end
to_api_hash()
click to toggle source
Return a hash that can be passed to the Savon SOAP
library to represent a message.
# File lib/messagemedia/soap/message.rb, line 47 def to_api_hash hash = { :'api:content' => @content, :'api:recipients' => { :'api:recipient' => @recipients.map { |r| r.destination_number }, :attributes! => { :'api:recipient' => { :uid => @recipients.map { |r| r.message_id } } } } } unless @format.nil? hash[:'@format'] = @format end unless @sequence_number.nil? hash[:'@sequenceNumber'] = @sequence_number end unless @delivery_report.nil? hash[:'api:deliveryReport'] = @delivery_report end unless @validity_period.nil? hash[:'api:validityPeriod'] = @validity_period end unless @origin.nil? hash[:'api:origin'] = @origin end hash end