messagemedia_messages_sdk 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +240 -55
- data/lib/message_media_messages.rb +32 -18
- data/lib/message_media_messages/api_helper.rb +76 -9
- data/lib/message_media_messages/configuration.rb +8 -6
- data/lib/message_media_messages/controllers/base_controller.rb +13 -29
- data/lib/message_media_messages/controllers/delivery_reports_controller.rb +55 -100
- data/lib/message_media_messages/controllers/messages_controller.rb +162 -199
- data/lib/message_media_messages/controllers/replies_controller.rb +79 -123
- data/lib/message_media_messages/exceptions/api_exception.rb +5 -3
- data/lib/message_media_messages/exceptions/send_messages400_response_exception.rb +29 -0
- data/lib/message_media_messages/http/auth/auth_manager.rb +90 -0
- data/lib/message_media_messages/http/faraday_client.rb +10 -3
- data/lib/message_media_messages/http/http_call_back.rb +5 -3
- data/lib/message_media_messages/http/http_client.rb +29 -18
- data/lib/message_media_messages/http/http_context.rb +5 -3
- data/lib/message_media_messages/http/http_method_enum.rb +4 -2
- data/lib/message_media_messages/http/http_request.rb +13 -11
- data/lib/message_media_messages/http/http_response.rb +6 -4
- data/lib/message_media_messages/message_media_messages_client.rb +9 -6
- data/lib/message_media_messages/models/base_model.rb +4 -1
- data/lib/message_media_messages/models/cancel_scheduled_message_request.rb +7 -7
- data/lib/message_media_messages/models/check_delivery_reports_response.rb +15 -8
- data/lib/message_media_messages/models/check_replies_response.rb +15 -8
- data/lib/message_media_messages/models/confirm_delivery_reports_as_received_request.rb +5 -5
- data/lib/message_media_messages/models/{confirm_delivery_reports_as_received_request_11.rb → confirm_delivery_reports_as_received_request1.rb} +8 -8
- data/lib/message_media_messages/models/confirm_replies_as_received_request.rb +5 -5
- data/lib/message_media_messages/models/{confirm_replies_as_received_request_8.rb → confirm_replies_as_received_request1.rb} +8 -8
- data/lib/message_media_messages/models/delivery_report.rb +135 -0
- data/lib/message_media_messages/models/format1_enum.rb +20 -0
- data/lib/message_media_messages/models/format_enum.rb +20 -0
- data/lib/message_media_messages/models/get_message_status_response.rb +145 -0
- data/lib/message_media_messages/models/message.rb +166 -0
- data/lib/message_media_messages/models/reply.rb +112 -0
- data/lib/message_media_messages/models/send_messages_request.rb +14 -7
- data/lib/message_media_messages/models/send_messages_response.rb +14 -7
- data/lib/message_media_messages/models/source_number_type_enum.rb +21 -0
- data/lib/message_media_messages/models/status2_enum.rb +32 -0
- data/lib/message_media_messages/models/status_enum.rb +44 -0
- data/lib/message_media_messages/models/vendor_account_id.rb +44 -0
- metadata +18 -21
- data/lib/message_media_messages/http/auth/basic_auth.rb +0 -20
- data/lib/message_media_messages/http/auth/hmac_auth.rb +0 -54
- data/test/controllers/controller_test_base.rb +0 -33
- data/test/controllers/test_delivery_reports_controller.rb +0 -164
- data/test/controllers/test_messages_controller.rb +0 -166
- data/test/controllers/test_replies_controller.rb +0 -164
- data/test/http_response_catcher.rb +0 -16
- data/test/test_helper.rb +0 -79
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -7,8 +9,8 @@ module MessageMediaMessages
|
|
7
9
|
attr_accessor :request, :response
|
8
10
|
|
9
11
|
# The constructor.
|
10
|
-
# @param [HttpRequest]
|
11
|
-
# @param [HttpResponse]
|
12
|
+
# @param [HttpRequest] An HttpRequest object representing the HTTP request.
|
13
|
+
# @param [HttpResponse] An HttpResponse object representing the HTTP
|
12
14
|
# response.
|
13
15
|
def initialize(request, response)
|
14
16
|
@request = request
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -6,6 +8,6 @@ module MessageMediaMessages
|
|
6
8
|
class HttpMethodEnum
|
7
9
|
HTTPMETHODENUM = [GET = 'GET'.freeze, POST = 'POST'.freeze,
|
8
10
|
PUT = 'PUT'.freeze, PATCH = 'PATCH'.freeze,
|
9
|
-
DELETE = 'DELETE'.freeze].freeze
|
11
|
+
DELETE = 'DELETE'.freeze, HEAD = 'HEAD'.freeze].freeze
|
10
12
|
end
|
11
13
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -8,10 +10,10 @@ module MessageMediaMessages
|
|
8
10
|
:parameters, :username, :password
|
9
11
|
|
10
12
|
# The constructor.
|
11
|
-
# @param [HttpMethodEnum]
|
12
|
-
# @param [String]
|
13
|
-
# @param [Hash, Optional]
|
14
|
-
# @param [Hash, Optional]
|
13
|
+
# @param [HttpMethodEnum] The HTTP method.
|
14
|
+
# @param [String] The URL to send the request to.
|
15
|
+
# @param [Hash, Optional] The headers for the HTTP Request.
|
16
|
+
# @param [Hash, Optional] The parameters for the HTTP Request.
|
15
17
|
def initialize(http_method,
|
16
18
|
query_url,
|
17
19
|
headers: {},
|
@@ -23,22 +25,22 @@ module MessageMediaMessages
|
|
23
25
|
end
|
24
26
|
|
25
27
|
# Add a header to the HttpRequest.
|
26
|
-
# @param [String]
|
27
|
-
# @param [String]
|
28
|
+
# @param [String] The name of the header.
|
29
|
+
# @param [String] The value of the header.
|
28
30
|
def add_header(name, value)
|
29
31
|
@headers[name] = value
|
30
32
|
end
|
31
33
|
|
32
34
|
# Add a parameter to the HttpRequest.
|
33
|
-
# @param [String]
|
34
|
-
# @param [String]
|
35
|
+
# @param [String] The name of the parameter.
|
36
|
+
# @param [String] The value of the parameter.
|
35
37
|
def add_parameter(name, value)
|
36
38
|
@parameters[name] = value
|
37
39
|
end
|
38
40
|
|
39
41
|
# Add a query parameter to the HttpRequest.
|
40
|
-
# @param [String]
|
41
|
-
# @param [String]
|
42
|
+
# @param [String] The name of the query parameter.
|
43
|
+
# @param [String] The value of the query parameter.
|
42
44
|
def add_query_parameter(name, value)
|
43
45
|
@query_url = APIHelper.append_url_with_query_parameters(@query_url,
|
44
46
|
name => value)
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -7,9 +9,9 @@ module MessageMediaMessages
|
|
7
9
|
attr_accessor :status_code, :headers, :raw_body
|
8
10
|
|
9
11
|
# The constructor
|
10
|
-
# @param [Integer]
|
11
|
-
# @param [Hash]
|
12
|
-
# @param [String]
|
12
|
+
# @param [Integer] The status code returned by the server.
|
13
|
+
# @param [Hash] The headers sent by the server in the response.
|
14
|
+
# @param [String] The raw body of the response.
|
13
15
|
def initialize(status_code,
|
14
16
|
headers,
|
15
17
|
raw_body)
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -29,13 +31,14 @@ module MessageMediaMessages
|
|
29
31
|
end
|
30
32
|
|
31
33
|
# Initializer with authentication and configuration parameters.
|
32
|
-
def initialize(auth_user_name: nil, auth_password: nil,
|
33
|
-
|
34
|
-
|
35
|
-
Configuration.basic_auth_password = auth_password
|
36
|
-
else
|
34
|
+
def initialize(auth_user_name: nil, auth_password: nil,
|
35
|
+
use_hmac_authentication: false)
|
36
|
+
if use_hmac_authentication
|
37
37
|
Configuration.hmac_auth_user_name = auth_user_name
|
38
38
|
Configuration.hmac_auth_password = auth_password
|
39
|
+
else
|
40
|
+
Configuration.basic_auth_user_name = auth_user_name
|
41
|
+
Configuration.basic_auth_password = auth_password
|
39
42
|
end
|
40
43
|
end
|
41
44
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -9,6 +11,7 @@ module MessageMediaMessages
|
|
9
11
|
hash = {}
|
10
12
|
instance_variables.each do |name|
|
11
13
|
value = instance_variable_get(name)
|
14
|
+
next if value.nil?
|
12
15
|
name = name[1..-1]
|
13
16
|
key = self.class.names.key?(name) ? self.class.names[name] : name
|
14
17
|
if value.instance_of? Array
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -10,14 +12,12 @@ module MessageMediaMessages
|
|
10
12
|
|
11
13
|
# A mapping from model property names to API property names.
|
12
14
|
def self.names
|
13
|
-
if @_hash.nil?
|
14
|
-
|
15
|
-
@_hash['status'] = 'status'
|
16
|
-
end
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['status'] = 'status'
|
17
17
|
@_hash
|
18
18
|
end
|
19
19
|
|
20
|
-
def initialize(status =
|
20
|
+
def initialize(status = 'cancelled')
|
21
21
|
@status = status
|
22
22
|
end
|
23
23
|
|
@@ -26,7 +26,7 @@ module MessageMediaMessages
|
|
26
26
|
return nil unless hash
|
27
27
|
|
28
28
|
# Extract variables from the hash.
|
29
|
-
status = hash['status']
|
29
|
+
status = hash['status'] ||= 'cancelled'
|
30
30
|
|
31
31
|
# Create object from extracted values.
|
32
32
|
CancelScheduledMessageRequest.new(status)
|
@@ -1,19 +1,19 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
5
7
|
# CheckDeliveryReportsResponse Model.
|
6
8
|
class CheckDeliveryReportsResponse < BaseModel
|
7
|
-
#
|
8
|
-
# @return [List of
|
9
|
+
# The oldest 100 unconfirmed delivery reports
|
10
|
+
# @return [List of DeliveryReport]
|
9
11
|
attr_accessor :delivery_reports
|
10
12
|
|
11
13
|
# A mapping from model property names to API property names.
|
12
14
|
def self.names
|
13
|
-
if @_hash.nil?
|
14
|
-
|
15
|
-
@_hash['delivery_reports'] = 'delivery_reports'
|
16
|
-
end
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['delivery_reports'] = 'delivery_reports'
|
17
17
|
@_hash
|
18
18
|
end
|
19
19
|
|
@@ -26,7 +26,14 @@ module MessageMediaMessages
|
|
26
26
|
return nil unless hash
|
27
27
|
|
28
28
|
# Extract variables from the hash.
|
29
|
-
|
29
|
+
# Parameter is an array, so we need to iterate through it
|
30
|
+
delivery_reports = nil
|
31
|
+
unless hash['delivery_reports'].nil?
|
32
|
+
delivery_reports = []
|
33
|
+
hash['delivery_reports'].each do |structure|
|
34
|
+
delivery_reports << (DeliveryReport.from_hash(structure) if structure)
|
35
|
+
end
|
36
|
+
end
|
30
37
|
|
31
38
|
# Create object from extracted values.
|
32
39
|
CheckDeliveryReportsResponse.new(delivery_reports)
|
@@ -1,19 +1,19 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
5
7
|
# CheckRepliesResponse Model.
|
6
8
|
class CheckRepliesResponse < BaseModel
|
7
|
-
#
|
8
|
-
# @return [List of
|
9
|
+
# The oldest 100 unconfirmed replies
|
10
|
+
# @return [List of Reply]
|
9
11
|
attr_accessor :replies
|
10
12
|
|
11
13
|
# A mapping from model property names to API property names.
|
12
14
|
def self.names
|
13
|
-
if @_hash.nil?
|
14
|
-
|
15
|
-
@_hash['replies'] = 'replies'
|
16
|
-
end
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['replies'] = 'replies'
|
17
17
|
@_hash
|
18
18
|
end
|
19
19
|
|
@@ -26,7 +26,14 @@ module MessageMediaMessages
|
|
26
26
|
return nil unless hash
|
27
27
|
|
28
28
|
# Extract variables from the hash.
|
29
|
-
|
29
|
+
# Parameter is an array, so we need to iterate through it
|
30
|
+
replies = nil
|
31
|
+
unless hash['replies'].nil?
|
32
|
+
replies = []
|
33
|
+
hash['replies'].each do |structure|
|
34
|
+
replies << (Reply.from_hash(structure) if structure)
|
35
|
+
end
|
36
|
+
end
|
30
37
|
|
31
38
|
# Create object from extracted values.
|
32
39
|
CheckRepliesResponse.new(replies)
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -10,10 +12,8 @@ module MessageMediaMessages
|
|
10
12
|
|
11
13
|
# A mapping from model property names to API property names.
|
12
14
|
def self.names
|
13
|
-
if @_hash.nil?
|
14
|
-
|
15
|
-
@_hash['delivery_report_ids'] = 'delivery_report_ids'
|
16
|
-
end
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['delivery_report_ids'] = 'delivery_report_ids'
|
17
17
|
@_hash
|
18
18
|
end
|
19
19
|
|
@@ -1,19 +1,19 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
5
|
-
#
|
6
|
-
class
|
7
|
+
# ConfirmDeliveryReportsAsReceivedRequest1 Model.
|
8
|
+
class ConfirmDeliveryReportsAsReceivedRequest1 < BaseModel
|
7
9
|
# TODO: Write general description for this method
|
8
10
|
# @return [List of UUID | String]
|
9
11
|
attr_accessor :delivery_report_ids
|
10
12
|
|
11
13
|
# A mapping from model property names to API property names.
|
12
14
|
def self.names
|
13
|
-
if @_hash.nil?
|
14
|
-
|
15
|
-
@_hash['delivery_report_ids'] = 'delivery_report_ids'
|
16
|
-
end
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['delivery_report_ids'] = 'delivery_report_ids'
|
17
17
|
@_hash
|
18
18
|
end
|
19
19
|
|
@@ -29,7 +29,7 @@ module MessageMediaMessages
|
|
29
29
|
delivery_report_ids = hash['delivery_report_ids']
|
30
30
|
|
31
31
|
# Create object from extracted values.
|
32
|
-
|
32
|
+
ConfirmDeliveryReportsAsReceivedRequest1.new(delivery_report_ids)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
@@ -10,10 +12,8 @@ module MessageMediaMessages
|
|
10
12
|
|
11
13
|
# A mapping from model property names to API property names.
|
12
14
|
def self.names
|
13
|
-
if @_hash.nil?
|
14
|
-
|
15
|
-
@_hash['reply_ids'] = 'reply_ids'
|
16
|
-
end
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['reply_ids'] = 'reply_ids'
|
17
17
|
@_hash
|
18
18
|
end
|
19
19
|
|
@@ -1,19 +1,19 @@
|
|
1
|
-
#
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
2
4
|
# ( https://apimatic.io ).
|
3
5
|
|
4
6
|
module MessageMediaMessages
|
5
|
-
#
|
6
|
-
class
|
7
|
+
# ConfirmRepliesAsReceivedRequest1 Model.
|
8
|
+
class ConfirmRepliesAsReceivedRequest1 < BaseModel
|
7
9
|
# TODO: Write general description for this method
|
8
10
|
# @return [List of UUID | String]
|
9
11
|
attr_accessor :reply_ids
|
10
12
|
|
11
13
|
# A mapping from model property names to API property names.
|
12
14
|
def self.names
|
13
|
-
if @_hash.nil?
|
14
|
-
|
15
|
-
@_hash['reply_ids'] = 'reply_ids'
|
16
|
-
end
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['reply_ids'] = 'reply_ids'
|
17
17
|
@_hash
|
18
18
|
end
|
19
19
|
|
@@ -29,7 +29,7 @@ module MessageMediaMessages
|
|
29
29
|
reply_ids = hash['reply_ids']
|
30
30
|
|
31
31
|
# Create object from extracted values.
|
32
|
-
|
32
|
+
ConfirmRepliesAsReceivedRequest1.new(reply_ids)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
@@ -0,0 +1,135 @@
|
|
1
|
+
# message_media_messages
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
module MessageMediaMessages
|
8
|
+
# DeliveryReport Model.
|
9
|
+
class DeliveryReport < BaseModel
|
10
|
+
# The URL specified as the callback URL in the original submit message
|
11
|
+
# request
|
12
|
+
# @return [String]
|
13
|
+
attr_accessor :callback_url
|
14
|
+
|
15
|
+
# The date and time at which this delivery report was generated in UTC.
|
16
|
+
# @return [DateTime]
|
17
|
+
attr_accessor :date_received
|
18
|
+
|
19
|
+
# Deprecated, no longer in use
|
20
|
+
# @return [Integer]
|
21
|
+
attr_accessor :delay
|
22
|
+
|
23
|
+
# Unique ID for this delivery report
|
24
|
+
# @return [UUID | String]
|
25
|
+
attr_accessor :delivery_report_id
|
26
|
+
|
27
|
+
# Unique ID of the original message
|
28
|
+
# @return [UUID | String]
|
29
|
+
attr_accessor :message_id
|
30
|
+
|
31
|
+
# Any metadata that was included in the original submit message request
|
32
|
+
# @return [Object]
|
33
|
+
attr_accessor :metadata
|
34
|
+
|
35
|
+
# Text of the original message.
|
36
|
+
# @return [String]
|
37
|
+
attr_accessor :original_text
|
38
|
+
|
39
|
+
# Address from which this delivery report was received
|
40
|
+
# @return [String]
|
41
|
+
attr_accessor :source_number
|
42
|
+
|
43
|
+
# The status of the message as per the delivery report
|
44
|
+
# @return [Status2Enum]
|
45
|
+
attr_accessor :status
|
46
|
+
|
47
|
+
# The date and time when the message status changed in UTC. For a delivered
|
48
|
+
# DR this may indicate the time at which the message was received on the
|
49
|
+
# handset.
|
50
|
+
# @return [DateTime]
|
51
|
+
attr_accessor :submitted_date
|
52
|
+
|
53
|
+
# The date and time when the message status changed in UTC. For a delivered
|
54
|
+
# DR this may indicate the time at which the message was received on the
|
55
|
+
# handset.
|
56
|
+
# @return [VendorAccountId]
|
57
|
+
attr_accessor :vendor_account_id
|
58
|
+
|
59
|
+
# A mapping from model property names to API property names.
|
60
|
+
def self.names
|
61
|
+
@_hash = {} if @_hash.nil?
|
62
|
+
@_hash['callback_url'] = 'callback_url'
|
63
|
+
@_hash['date_received'] = 'date_received'
|
64
|
+
@_hash['delay'] = 'delay'
|
65
|
+
@_hash['delivery_report_id'] = 'delivery_report_id'
|
66
|
+
@_hash['message_id'] = 'message_id'
|
67
|
+
@_hash['metadata'] = 'metadata'
|
68
|
+
@_hash['original_text'] = 'original_text'
|
69
|
+
@_hash['source_number'] = 'source_number'
|
70
|
+
@_hash['status'] = 'status'
|
71
|
+
@_hash['submitted_date'] = 'submitted_date'
|
72
|
+
@_hash['vendor_account_id'] = 'vendor_account_id'
|
73
|
+
@_hash
|
74
|
+
end
|
75
|
+
|
76
|
+
def initialize(callback_url = nil,
|
77
|
+
date_received = nil,
|
78
|
+
delay = nil,
|
79
|
+
delivery_report_id = nil,
|
80
|
+
message_id = nil,
|
81
|
+
metadata = nil,
|
82
|
+
original_text = nil,
|
83
|
+
source_number = nil,
|
84
|
+
status = nil,
|
85
|
+
submitted_date = nil,
|
86
|
+
vendor_account_id = nil)
|
87
|
+
@callback_url = callback_url
|
88
|
+
@date_received = date_received
|
89
|
+
@delay = delay
|
90
|
+
@delivery_report_id = delivery_report_id
|
91
|
+
@message_id = message_id
|
92
|
+
@metadata = metadata
|
93
|
+
@original_text = original_text
|
94
|
+
@source_number = source_number
|
95
|
+
@status = status
|
96
|
+
@submitted_date = submitted_date
|
97
|
+
@vendor_account_id = vendor_account_id
|
98
|
+
end
|
99
|
+
|
100
|
+
# Creates an instance of the object from a hash.
|
101
|
+
def self.from_hash(hash)
|
102
|
+
return nil unless hash
|
103
|
+
|
104
|
+
# Extract variables from the hash.
|
105
|
+
callback_url = hash['callback_url']
|
106
|
+
date_received = APIHelper.rfc3339(hash['date_received']) if
|
107
|
+
hash['date_received']
|
108
|
+
delay = hash['delay']
|
109
|
+
delivery_report_id = hash['delivery_report_id']
|
110
|
+
message_id = hash['message_id']
|
111
|
+
metadata = hash['metadata']
|
112
|
+
original_text = hash['original_text']
|
113
|
+
source_number = hash['source_number']
|
114
|
+
status = hash['status']
|
115
|
+
submitted_date = APIHelper.rfc3339(hash['submitted_date']) if
|
116
|
+
hash['submitted_date']
|
117
|
+
if hash['vendor_account_id']
|
118
|
+
vendor_account_id = VendorAccountId.from_hash(hash['vendor_account_id'])
|
119
|
+
end
|
120
|
+
|
121
|
+
# Create object from extracted values.
|
122
|
+
DeliveryReport.new(callback_url,
|
123
|
+
date_received,
|
124
|
+
delay,
|
125
|
+
delivery_report_id,
|
126
|
+
message_id,
|
127
|
+
metadata,
|
128
|
+
original_text,
|
129
|
+
source_number,
|
130
|
+
status,
|
131
|
+
submitted_date,
|
132
|
+
vendor_account_id)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|