whatsapp-ruby-sdk 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|