Class: Bandwidth::MessageRequest

Inherits:
BaseModel show all
Defined in:
lib/bandwidth/messaging_lib/messaging/models/message_request.rb

Overview

MessageRequest Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#to_hash, #to_json

Constructor Details

#initialize(application_id = nil, to = nil, from = nil, text = nil, media = nil, tag = nil, priority = nil) ⇒ MessageRequest

Returns a new instance of MessageRequest.



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 72

def initialize(application_id = nil,
               to = nil,
               from = nil,
               text = nil,
               media = nil,
               tag = nil,
               priority = nil)
  @application_id = application_id unless application_id == SKIP
  @to = to unless to == SKIP
  @from = from unless from == SKIP
  @text = text unless text == SKIP
  @media = media unless media == SKIP
  @tag = tag unless tag == SKIP
  @priority = priority unless priority == SKIP
end

Instance Attribute Details

#application_idString

The ID of the Application your from number is associated with in the Bandwidth Phone Number Dashboard.

Returns:

  • (String)


15
16
17
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 15

def application_id
  @application_id
end

#fromString

One of your telephone numbers the message should come from in E164 format

Returns:

  • (String)


23
24
25
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 23

def from
  @from
end

#mediaList of String

A list of URLs to include as media attachments as part of the message.

Returns:

  • (List of String)


31
32
33
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 31

def media
  @media
end

#priorityPriorityEnum

The message’s priority, currently for toll-free or short code SMS only. Messages with a priority value of ‘“high”` are given preference over your other traffic.

Returns:



42
43
44
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 42

def priority
  @priority
end

#tagString

A custom string that will be included in callback events of the message. Max 1024 characters

Returns:

  • (String)


36
37
38
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 36

def tag
  @tag
end

#textString

The contents of the text message. Must be 2048 characters or less.

Returns:

  • (String)


27
28
29
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 27

def text
  @text
end

#toList of String

The phone number(s) the message should be sent to in E164 format

Returns:

  • (List of String)


19
20
21
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 19

def to
  @to
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 89

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  application_id = hash.key?('applicationId') ? hash['applicationId'] : SKIP
  to = hash.key?('to') ? hash['to'] : SKIP
  from = hash.key?('from') ? hash['from'] : SKIP
  text = hash.key?('text') ? hash['text'] : SKIP
  media = hash.key?('media') ? hash['media'] : SKIP
  tag = hash.key?('tag') ? hash['tag'] : SKIP
  priority = hash.key?('priority') ? hash['priority'] : SKIP

  # Create object from extracted values.
  MessageRequest.new(application_id,
                     to,
                     from,
                     text,
                     media,
                     tag,
                     priority)
end

.namesObject

A mapping from model property names to API property names.



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 45

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['application_id'] = 'applicationId'
  @_hash['to'] = 'to'
  @_hash['from'] = 'from'
  @_hash['text'] = 'text'
  @_hash['media'] = 'media'
  @_hash['tag'] = 'tag'
  @_hash['priority'] = 'priority'
  @_hash
end

Instance Method Details

#nullablesObject

An array for nullable fields



68
69
70
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 68

def nullables
  []
end

#optionalsObject

An array for optional fields



58
59
60
61
62
63
64
65
# File 'lib/bandwidth/messaging_lib/messaging/models/message_request.rb', line 58

def optionals
  %w[
    text
    media
    tag
    priority
  ]
end