whatsapp-ruby-sdk 1.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 +7 -0
- data/LICENSE +28 -0
- data/README.md +85 -0
- data/lib/whats_app_cloud_api/api_helper.rb +277 -0
- data/lib/whats_app_cloud_api/client.rb +68 -0
- data/lib/whats_app_cloud_api/configuration.rb +132 -0
- data/lib/whats_app_cloud_api/controllers/base_controller.rb +52 -0
- data/lib/whats_app_cloud_api/controllers/business_profiles_controller.rb +94 -0
- data/lib/whats_app_cloud_api/controllers/media_controller.rb +142 -0
- data/lib/whats_app_cloud_api/controllers/messages_controller.rb +51 -0
- data/lib/whats_app_cloud_api/controllers/phone_numbers_controller.rb +141 -0
- data/lib/whats_app_cloud_api/controllers/registration_controller.rb +91 -0
- data/lib/whats_app_cloud_api/controllers/two_step_verification_controller.rb +57 -0
- data/lib/whats_app_cloud_api/exceptions/api_exception.rb +20 -0
- data/lib/whats_app_cloud_api/http/auth/o_auth2.rb +17 -0
- data/lib/whats_app_cloud_api/http/faraday_client.rb +97 -0
- data/lib/whats_app_cloud_api/http/http_call_back.rb +24 -0
- data/lib/whats_app_cloud_api/http/http_client.rb +123 -0
- data/lib/whats_app_cloud_api/http/http_method_enum.rb +13 -0
- data/lib/whats_app_cloud_api/http/http_request.rb +54 -0
- data/lib/whats_app_cloud_api/http/http_response.rb +29 -0
- data/lib/whats_app_cloud_api/models/action.rb +91 -0
- data/lib/whats_app_cloud_api/models/address.rb +110 -0
- data/lib/whats_app_cloud_api/models/audio.rb +61 -0
- data/lib/whats_app_cloud_api/models/base_model.rb +58 -0
- data/lib/whats_app_cloud_api/models/body.rb +49 -0
- data/lib/whats_app_cloud_api/models/business_profile.rb +123 -0
- data/lib/whats_app_cloud_api/models/button.rb +71 -0
- data/lib/whats_app_cloud_api/models/button_parameter.rb +72 -0
- data/lib/whats_app_cloud_api/models/button_parameter_type_enum.rb +17 -0
- data/lib/whats_app_cloud_api/models/component.rb +83 -0
- data/lib/whats_app_cloud_api/models/component_type_enum.rb +20 -0
- data/lib/whats_app_cloud_api/models/contact.rb +145 -0
- data/lib/whats_app_cloud_api/models/content_type_enum.rb +14 -0
- data/lib/whats_app_cloud_api/models/currency.rb +67 -0
- data/lib/whats_app_cloud_api/models/date_time_object.rb +128 -0
- data/lib/whats_app_cloud_api/models/document.rb +81 -0
- data/lib/whats_app_cloud_api/models/email_object.rb +60 -0
- data/lib/whats_app_cloud_api/models/footer.rb +49 -0
- data/lib/whats_app_cloud_api/models/get_business_profile_id_response.rb +57 -0
- data/lib/whats_app_cloud_api/models/get_phone_number_by_id_response.rb +78 -0
- data/lib/whats_app_cloud_api/models/header.rb +93 -0
- data/lib/whats_app_cloud_api/models/header_type_enum.rb +23 -0
- data/lib/whats_app_cloud_api/models/image.rb +71 -0
- data/lib/whats_app_cloud_api/models/interactive.rb +87 -0
- data/lib/whats_app_cloud_api/models/interactive_type_enum.rb +17 -0
- data/lib/whats_app_cloud_api/models/language.rb +60 -0
- data/lib/whats_app_cloud_api/models/location.rb +78 -0
- data/lib/whats_app_cloud_api/models/message.rb +194 -0
- data/lib/whats_app_cloud_api/models/message_type_enum.rb +41 -0
- data/lib/whats_app_cloud_api/models/name.rb +100 -0
- data/lib/whats_app_cloud_api/models/org.rb +70 -0
- data/lib/whats_app_cloud_api/models/parameter.rb +113 -0
- data/lib/whats_app_cloud_api/models/parameter_type_enum.rb +29 -0
- data/lib/whats_app_cloud_api/models/personal_information_type_enum.rb +17 -0
- data/lib/whats_app_cloud_api/models/phone_object.rb +70 -0
- data/lib/whats_app_cloud_api/models/phone_type_enum.rb +26 -0
- data/lib/whats_app_cloud_api/models/quality_rating_enum.rb +25 -0
- data/lib/whats_app_cloud_api/models/register_phone_request.rb +58 -0
- data/lib/whats_app_cloud_api/models/request_verification_code_method_enum.rb +17 -0
- data/lib/whats_app_cloud_api/models/request_verification_code_request.rb +57 -0
- data/lib/whats_app_cloud_api/models/response_contact.rb +57 -0
- data/lib/whats_app_cloud_api/models/response_message.rb +48 -0
- data/lib/whats_app_cloud_api/models/retrieve_media_url_response.rb +94 -0
- data/lib/whats_app_cloud_api/models/row.rb +68 -0
- data/lib/whats_app_cloud_api/models/section.rb +72 -0
- data/lib/whats_app_cloud_api/models/send_message_response.rb +85 -0
- data/lib/whats_app_cloud_api/models/set_two_step_verification_code_request.rb +48 -0
- data/lib/whats_app_cloud_api/models/sticker.rb +61 -0
- data/lib/whats_app_cloud_api/models/sub_type_enum.rb +20 -0
- data/lib/whats_app_cloud_api/models/success_response.rb +48 -0
- data/lib/whats_app_cloud_api/models/template.rb +78 -0
- data/lib/whats_app_cloud_api/models/text.rb +72 -0
- data/lib/whats_app_cloud_api/models/update_business_profile_request.rb +116 -0
- data/lib/whats_app_cloud_api/models/upload_media.rb +48 -0
- data/lib/whats_app_cloud_api/models/upload_media_request.rb +80 -0
- data/lib/whats_app_cloud_api/models/url_object.rb +60 -0
- data/lib/whats_app_cloud_api/models/verify_code_request.rb +48 -0
- data/lib/whats_app_cloud_api/models/vertical_enum.rb +68 -0
- data/lib/whats_app_cloud_api/models/video.rb +61 -0
- data/lib/whats_app_cloud_api/utilities/date_time_helper.rb +156 -0
- data/lib/whats_app_cloud_api/utilities/file_wrapper.rb +16 -0
- data/lib/whats_app_cloud_api.rb +104 -0
- metadata +266 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# DateTimeObject Model.
|
|
8
|
+
class DateTimeObject < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
13
|
+
# not attempt to localize using other optional fields.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :fallback_value
|
|
16
|
+
|
|
17
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
18
|
+
# not attempt to localize using other optional fields.
|
|
19
|
+
# @return [Integer]
|
|
20
|
+
attr_accessor :day_of_week
|
|
21
|
+
|
|
22
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
23
|
+
# not attempt to localize using other optional fields.
|
|
24
|
+
# @return [Integer]
|
|
25
|
+
attr_accessor :year
|
|
26
|
+
|
|
27
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
28
|
+
# not attempt to localize using other optional fields.
|
|
29
|
+
# @return [Integer]
|
|
30
|
+
attr_accessor :month
|
|
31
|
+
|
|
32
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
33
|
+
# not attempt to localize using other optional fields.
|
|
34
|
+
# @return [Integer]
|
|
35
|
+
attr_accessor :day_of_month
|
|
36
|
+
|
|
37
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
38
|
+
# not attempt to localize using other optional fields.
|
|
39
|
+
# @return [Integer]
|
|
40
|
+
attr_accessor :hour
|
|
41
|
+
|
|
42
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
43
|
+
# not attempt to localize using other optional fields.
|
|
44
|
+
# @return [Integer]
|
|
45
|
+
attr_accessor :minute
|
|
46
|
+
|
|
47
|
+
# Default text. For Cloud API, we always use the fallback value, and we do
|
|
48
|
+
# not attempt to localize using other optional fields.
|
|
49
|
+
# @return [String]
|
|
50
|
+
attr_accessor :calendar
|
|
51
|
+
|
|
52
|
+
# A mapping from model property names to API property names.
|
|
53
|
+
def self.names
|
|
54
|
+
@_hash = {} if @_hash.nil?
|
|
55
|
+
@_hash['fallback_value'] = 'fallback_value'
|
|
56
|
+
@_hash['day_of_week'] = 'day_of_week'
|
|
57
|
+
@_hash['year'] = 'year'
|
|
58
|
+
@_hash['month'] = 'month'
|
|
59
|
+
@_hash['day_of_month'] = 'day_of_month'
|
|
60
|
+
@_hash['hour'] = 'hour'
|
|
61
|
+
@_hash['minute'] = 'minute'
|
|
62
|
+
@_hash['calendar'] = 'calendar'
|
|
63
|
+
@_hash
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# An array for optional fields
|
|
67
|
+
def optionals
|
|
68
|
+
%w[
|
|
69
|
+
day_of_week
|
|
70
|
+
year
|
|
71
|
+
month
|
|
72
|
+
day_of_month
|
|
73
|
+
hour
|
|
74
|
+
minute
|
|
75
|
+
calendar
|
|
76
|
+
]
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# An array for nullable fields
|
|
80
|
+
def nullables
|
|
81
|
+
[]
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def initialize(fallback_value = nil,
|
|
85
|
+
day_of_week = nil,
|
|
86
|
+
year = nil,
|
|
87
|
+
month = nil,
|
|
88
|
+
day_of_month = nil,
|
|
89
|
+
hour = nil,
|
|
90
|
+
minute = nil,
|
|
91
|
+
calendar = nil)
|
|
92
|
+
@fallback_value = fallback_value unless fallback_value == SKIP
|
|
93
|
+
@day_of_week = day_of_week unless day_of_week == SKIP
|
|
94
|
+
@year = year unless year == SKIP
|
|
95
|
+
@month = month unless month == SKIP
|
|
96
|
+
@day_of_month = day_of_month unless day_of_month == SKIP
|
|
97
|
+
@hour = hour unless hour == SKIP
|
|
98
|
+
@minute = minute unless minute == SKIP
|
|
99
|
+
@calendar = calendar unless calendar == SKIP
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Creates an instance of the object from a hash.
|
|
103
|
+
def self.from_hash(hash)
|
|
104
|
+
return nil unless hash
|
|
105
|
+
|
|
106
|
+
# Extract variables from the hash.
|
|
107
|
+
fallback_value =
|
|
108
|
+
hash.key?('fallback_value') ? hash['fallback_value'] : SKIP
|
|
109
|
+
day_of_week = hash.key?('day_of_week') ? hash['day_of_week'] : SKIP
|
|
110
|
+
year = hash.key?('year') ? hash['year'] : SKIP
|
|
111
|
+
month = hash.key?('month') ? hash['month'] : SKIP
|
|
112
|
+
day_of_month = hash.key?('day_of_month') ? hash['day_of_month'] : SKIP
|
|
113
|
+
hour = hash.key?('hour') ? hash['hour'] : SKIP
|
|
114
|
+
minute = hash.key?('minute') ? hash['minute'] : SKIP
|
|
115
|
+
calendar = hash.key?('calendar') ? hash['calendar'] : SKIP
|
|
116
|
+
|
|
117
|
+
# Create object from extracted values.
|
|
118
|
+
DateTimeObject.new(fallback_value,
|
|
119
|
+
day_of_week,
|
|
120
|
+
year,
|
|
121
|
+
month,
|
|
122
|
+
day_of_month,
|
|
123
|
+
hour,
|
|
124
|
+
minute,
|
|
125
|
+
calendar)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# Document Model.
|
|
8
|
+
class Document < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# It is the media object ID. Required when you are not using a link.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :id
|
|
15
|
+
|
|
16
|
+
# The protocol and URL of the media to be sent. Use only with HTTP/HTTPS
|
|
17
|
+
# URLs. Required when you are not using an uploaded media ID.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :link
|
|
20
|
+
|
|
21
|
+
# Describes the specified document media.
|
|
22
|
+
# @return [String]
|
|
23
|
+
attr_accessor :caption
|
|
24
|
+
|
|
25
|
+
# Describes the filename for the specific document.
|
|
26
|
+
# @return [String]
|
|
27
|
+
attr_accessor :filename
|
|
28
|
+
|
|
29
|
+
# A mapping from model property names to API property names.
|
|
30
|
+
def self.names
|
|
31
|
+
@_hash = {} if @_hash.nil?
|
|
32
|
+
@_hash['id'] = 'id'
|
|
33
|
+
@_hash['link'] = 'link'
|
|
34
|
+
@_hash['caption'] = 'caption'
|
|
35
|
+
@_hash['filename'] = 'filename'
|
|
36
|
+
@_hash
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# An array for optional fields
|
|
40
|
+
def optionals
|
|
41
|
+
%w[
|
|
42
|
+
id
|
|
43
|
+
link
|
|
44
|
+
caption
|
|
45
|
+
filename
|
|
46
|
+
]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# An array for nullable fields
|
|
50
|
+
def nullables
|
|
51
|
+
[]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def initialize(id = nil,
|
|
55
|
+
link = nil,
|
|
56
|
+
caption = nil,
|
|
57
|
+
filename = nil)
|
|
58
|
+
@id = id unless id == SKIP
|
|
59
|
+
@link = link unless link == SKIP
|
|
60
|
+
@caption = caption unless caption == SKIP
|
|
61
|
+
@filename = filename unless filename == SKIP
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Creates an instance of the object from a hash.
|
|
65
|
+
def self.from_hash(hash)
|
|
66
|
+
return nil unless hash
|
|
67
|
+
|
|
68
|
+
# Extract variables from the hash.
|
|
69
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
|
70
|
+
link = hash.key?('link') ? hash['link'] : SKIP
|
|
71
|
+
caption = hash.key?('caption') ? hash['caption'] : SKIP
|
|
72
|
+
filename = hash.key?('filename') ? hash['filename'] : SKIP
|
|
73
|
+
|
|
74
|
+
# Create object from extracted values.
|
|
75
|
+
Document.new(id,
|
|
76
|
+
link,
|
|
77
|
+
caption,
|
|
78
|
+
filename)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# EmailObject Model.
|
|
8
|
+
class EmailObject < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :email
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for this method
|
|
17
|
+
# @return [PersonalInformationTypeEnum]
|
|
18
|
+
attr_accessor :type
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['email'] = 'email'
|
|
24
|
+
@_hash['type'] = 'type'
|
|
25
|
+
@_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for optional fields
|
|
29
|
+
def optionals
|
|
30
|
+
%w[
|
|
31
|
+
email
|
|
32
|
+
type
|
|
33
|
+
]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(email = nil,
|
|
42
|
+
type = nil)
|
|
43
|
+
@email = email unless email == SKIP
|
|
44
|
+
@type = type unless type == SKIP
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Creates an instance of the object from a hash.
|
|
48
|
+
def self.from_hash(hash)
|
|
49
|
+
return nil unless hash
|
|
50
|
+
|
|
51
|
+
# Extract variables from the hash.
|
|
52
|
+
email = hash.key?('email') ? hash['email'] : SKIP
|
|
53
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
54
|
+
|
|
55
|
+
# Create object from extracted values.
|
|
56
|
+
EmailObject.new(email,
|
|
57
|
+
type)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# Footer Model.
|
|
8
|
+
class Footer < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The footer content. Emojis and markdown are supported. Links are
|
|
13
|
+
# supported.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :text
|
|
16
|
+
|
|
17
|
+
# A mapping from model property names to API property names.
|
|
18
|
+
def self.names
|
|
19
|
+
@_hash = {} if @_hash.nil?
|
|
20
|
+
@_hash['text'] = 'text'
|
|
21
|
+
@_hash
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# An array for optional fields
|
|
25
|
+
def optionals
|
|
26
|
+
[]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# An array for nullable fields
|
|
30
|
+
def nullables
|
|
31
|
+
[]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def initialize(text = nil)
|
|
35
|
+
@text = text unless text == SKIP
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Creates an instance of the object from a hash.
|
|
39
|
+
def self.from_hash(hash)
|
|
40
|
+
return nil unless hash
|
|
41
|
+
|
|
42
|
+
# Extract variables from the hash.
|
|
43
|
+
text = hash.key?('text') ? hash['text'] : SKIP
|
|
44
|
+
|
|
45
|
+
# Create object from extracted values.
|
|
46
|
+
Footer.new(text)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# GetBusinessProfileIDResponse Model.
|
|
8
|
+
class GetBusinessProfileIDResponse < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [List of BusinessProfile]
|
|
14
|
+
attr_accessor :data
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['data'] = 'data'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def optionals
|
|
25
|
+
[]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for nullable fields
|
|
29
|
+
def nullables
|
|
30
|
+
[]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def initialize(data = nil)
|
|
34
|
+
@data = data unless data == SKIP
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Creates an instance of the object from a hash.
|
|
38
|
+
def self.from_hash(hash)
|
|
39
|
+
return nil unless hash
|
|
40
|
+
|
|
41
|
+
# Extract variables from the hash.
|
|
42
|
+
# Parameter is an array, so we need to iterate through it
|
|
43
|
+
data = nil
|
|
44
|
+
unless hash['data'].nil?
|
|
45
|
+
data = []
|
|
46
|
+
hash['data'].each do |structure|
|
|
47
|
+
data << (BusinessProfile.from_hash(structure) if structure)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
data = SKIP unless hash.key?('data')
|
|
52
|
+
|
|
53
|
+
# Create object from extracted values.
|
|
54
|
+
GetBusinessProfileIDResponse.new(data)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# GetPhoneNumberByIDResponse Model.
|
|
8
|
+
class GetPhoneNumberByIDResponse < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The verified name associated with the phone number.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :verified_name
|
|
15
|
+
|
|
16
|
+
# The string representation of the phone number.
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :display_phone_number
|
|
19
|
+
|
|
20
|
+
# The ID associated with the phone number.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :id
|
|
23
|
+
|
|
24
|
+
# The quality rating of the phone number based on how messages have been
|
|
25
|
+
# received by recipients in recent days.
|
|
26
|
+
# @return [QualityRatingEnum]
|
|
27
|
+
attr_accessor :quality_rating
|
|
28
|
+
|
|
29
|
+
# A mapping from model property names to API property names.
|
|
30
|
+
def self.names
|
|
31
|
+
@_hash = {} if @_hash.nil?
|
|
32
|
+
@_hash['verified_name'] = 'verified_name'
|
|
33
|
+
@_hash['display_phone_number'] = 'display_phone_number'
|
|
34
|
+
@_hash['id'] = 'id'
|
|
35
|
+
@_hash['quality_rating'] = 'quality_rating'
|
|
36
|
+
@_hash
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# An array for optional fields
|
|
40
|
+
def optionals
|
|
41
|
+
[]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# An array for nullable fields
|
|
45
|
+
def nullables
|
|
46
|
+
[]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def initialize(verified_name = nil,
|
|
50
|
+
display_phone_number = nil,
|
|
51
|
+
id = nil,
|
|
52
|
+
quality_rating = nil)
|
|
53
|
+
@verified_name = verified_name unless verified_name == SKIP
|
|
54
|
+
@display_phone_number = display_phone_number unless display_phone_number == SKIP
|
|
55
|
+
@id = id unless id == SKIP
|
|
56
|
+
@quality_rating = quality_rating unless quality_rating == SKIP
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Creates an instance of the object from a hash.
|
|
60
|
+
def self.from_hash(hash)
|
|
61
|
+
return nil unless hash
|
|
62
|
+
|
|
63
|
+
# Extract variables from the hash.
|
|
64
|
+
verified_name = hash.key?('verified_name') ? hash['verified_name'] : SKIP
|
|
65
|
+
display_phone_number =
|
|
66
|
+
hash.key?('display_phone_number') ? hash['display_phone_number'] : SKIP
|
|
67
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
|
68
|
+
quality_rating =
|
|
69
|
+
hash.key?('quality_rating') ? hash['quality_rating'] : SKIP
|
|
70
|
+
|
|
71
|
+
# Create object from extracted values.
|
|
72
|
+
GetPhoneNumberByIDResponse.new(verified_name,
|
|
73
|
+
display_phone_number,
|
|
74
|
+
id,
|
|
75
|
+
quality_rating)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# Header Model.
|
|
8
|
+
class Header < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The header type you would like to use.
|
|
13
|
+
# @return [HeaderTypeEnum]
|
|
14
|
+
attr_accessor :type
|
|
15
|
+
|
|
16
|
+
# Required if type is set to text. Text for the header. Formatting allows
|
|
17
|
+
# emojis, but not markdown.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :text
|
|
20
|
+
|
|
21
|
+
# Required if type is set to video. Contains the media object for this
|
|
22
|
+
# video.
|
|
23
|
+
# @return [Video]
|
|
24
|
+
attr_accessor :video
|
|
25
|
+
|
|
26
|
+
# Required if type is set to image. Contains the media object for this
|
|
27
|
+
# image.
|
|
28
|
+
# @return [Image]
|
|
29
|
+
attr_accessor :image
|
|
30
|
+
|
|
31
|
+
# Required if type is set to document. Contains the media object for this
|
|
32
|
+
# document.
|
|
33
|
+
# @return [Document]
|
|
34
|
+
attr_accessor :document
|
|
35
|
+
|
|
36
|
+
# A mapping from model property names to API property names.
|
|
37
|
+
def self.names
|
|
38
|
+
@_hash = {} if @_hash.nil?
|
|
39
|
+
@_hash['type'] = 'type'
|
|
40
|
+
@_hash['text'] = 'text'
|
|
41
|
+
@_hash['video'] = 'video'
|
|
42
|
+
@_hash['image'] = 'image'
|
|
43
|
+
@_hash['document'] = 'document'
|
|
44
|
+
@_hash
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# An array for optional fields
|
|
48
|
+
def optionals
|
|
49
|
+
%w[
|
|
50
|
+
text
|
|
51
|
+
video
|
|
52
|
+
image
|
|
53
|
+
document
|
|
54
|
+
]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# An array for nullable fields
|
|
58
|
+
def nullables
|
|
59
|
+
[]
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def initialize(type = nil,
|
|
63
|
+
text = nil,
|
|
64
|
+
video = nil,
|
|
65
|
+
image = nil,
|
|
66
|
+
document = nil)
|
|
67
|
+
@type = type unless type == SKIP
|
|
68
|
+
@text = text unless text == SKIP
|
|
69
|
+
@video = video unless video == SKIP
|
|
70
|
+
@image = image unless image == SKIP
|
|
71
|
+
@document = document unless document == SKIP
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Creates an instance of the object from a hash.
|
|
75
|
+
def self.from_hash(hash)
|
|
76
|
+
return nil unless hash
|
|
77
|
+
|
|
78
|
+
# Extract variables from the hash.
|
|
79
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
80
|
+
text = hash.key?('text') ? hash['text'] : SKIP
|
|
81
|
+
video = Video.from_hash(hash['video']) if hash['video']
|
|
82
|
+
image = Image.from_hash(hash['image']) if hash['image']
|
|
83
|
+
document = Document.from_hash(hash['document']) if hash['document']
|
|
84
|
+
|
|
85
|
+
# Create object from extracted values.
|
|
86
|
+
Header.new(type,
|
|
87
|
+
text,
|
|
88
|
+
video,
|
|
89
|
+
image,
|
|
90
|
+
document)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# HeaderType.
|
|
8
|
+
class HeaderTypeEnum
|
|
9
|
+
HEADER_TYPE_ENUM = [
|
|
10
|
+
# Used for List Messages and Reply Buttons.
|
|
11
|
+
TEXT = 'text'.freeze,
|
|
12
|
+
|
|
13
|
+
# Used for Reply Buttons.
|
|
14
|
+
DOCUMENT = 'document'.freeze,
|
|
15
|
+
|
|
16
|
+
# Used for Reply Buttons.
|
|
17
|
+
IMAGE = 'image'.freeze,
|
|
18
|
+
|
|
19
|
+
# Used for Reply Buttons.
|
|
20
|
+
VIDEO = 'video'.freeze
|
|
21
|
+
].freeze
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# whats_app_cloud_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module WhatsAppCloudApi
|
|
7
|
+
# Image Model.
|
|
8
|
+
class Image < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The media object ID. Required when you are not using a link.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :id
|
|
15
|
+
|
|
16
|
+
# The protocol and URL of the media to be sent. Use only with HTTP/HTTPS
|
|
17
|
+
# URLs. Required when you are not using an uploaded media ID.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :link
|
|
20
|
+
|
|
21
|
+
# Describes the specified image media.
|
|
22
|
+
# @return [String]
|
|
23
|
+
attr_accessor :caption
|
|
24
|
+
|
|
25
|
+
# A mapping from model property names to API property names.
|
|
26
|
+
def self.names
|
|
27
|
+
@_hash = {} if @_hash.nil?
|
|
28
|
+
@_hash['id'] = 'id'
|
|
29
|
+
@_hash['link'] = 'link'
|
|
30
|
+
@_hash['caption'] = 'caption'
|
|
31
|
+
@_hash
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# An array for optional fields
|
|
35
|
+
def optionals
|
|
36
|
+
%w[
|
|
37
|
+
id
|
|
38
|
+
link
|
|
39
|
+
caption
|
|
40
|
+
]
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# An array for nullable fields
|
|
44
|
+
def nullables
|
|
45
|
+
[]
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def initialize(id = nil,
|
|
49
|
+
link = nil,
|
|
50
|
+
caption = nil)
|
|
51
|
+
@id = id unless id == SKIP
|
|
52
|
+
@link = link unless link == SKIP
|
|
53
|
+
@caption = caption unless caption == SKIP
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Creates an instance of the object from a hash.
|
|
57
|
+
def self.from_hash(hash)
|
|
58
|
+
return nil unless hash
|
|
59
|
+
|
|
60
|
+
# Extract variables from the hash.
|
|
61
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
|
62
|
+
link = hash.key?('link') ? hash['link'] : SKIP
|
|
63
|
+
caption = hash.key?('caption') ? hash['caption'] : SKIP
|
|
64
|
+
|
|
65
|
+
# Create object from extracted values.
|
|
66
|
+
Image.new(id,
|
|
67
|
+
link,
|
|
68
|
+
caption)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|