whatsapp-ruby-sdk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +85 -0
  4. data/lib/whats_app_cloud_api/api_helper.rb +277 -0
  5. data/lib/whats_app_cloud_api/client.rb +68 -0
  6. data/lib/whats_app_cloud_api/configuration.rb +132 -0
  7. data/lib/whats_app_cloud_api/controllers/base_controller.rb +52 -0
  8. data/lib/whats_app_cloud_api/controllers/business_profiles_controller.rb +94 -0
  9. data/lib/whats_app_cloud_api/controllers/media_controller.rb +142 -0
  10. data/lib/whats_app_cloud_api/controllers/messages_controller.rb +51 -0
  11. data/lib/whats_app_cloud_api/controllers/phone_numbers_controller.rb +141 -0
  12. data/lib/whats_app_cloud_api/controllers/registration_controller.rb +91 -0
  13. data/lib/whats_app_cloud_api/controllers/two_step_verification_controller.rb +57 -0
  14. data/lib/whats_app_cloud_api/exceptions/api_exception.rb +20 -0
  15. data/lib/whats_app_cloud_api/http/auth/o_auth2.rb +17 -0
  16. data/lib/whats_app_cloud_api/http/faraday_client.rb +97 -0
  17. data/lib/whats_app_cloud_api/http/http_call_back.rb +24 -0
  18. data/lib/whats_app_cloud_api/http/http_client.rb +123 -0
  19. data/lib/whats_app_cloud_api/http/http_method_enum.rb +13 -0
  20. data/lib/whats_app_cloud_api/http/http_request.rb +54 -0
  21. data/lib/whats_app_cloud_api/http/http_response.rb +29 -0
  22. data/lib/whats_app_cloud_api/models/action.rb +91 -0
  23. data/lib/whats_app_cloud_api/models/address.rb +110 -0
  24. data/lib/whats_app_cloud_api/models/audio.rb +61 -0
  25. data/lib/whats_app_cloud_api/models/base_model.rb +58 -0
  26. data/lib/whats_app_cloud_api/models/body.rb +49 -0
  27. data/lib/whats_app_cloud_api/models/business_profile.rb +123 -0
  28. data/lib/whats_app_cloud_api/models/button.rb +71 -0
  29. data/lib/whats_app_cloud_api/models/button_parameter.rb +72 -0
  30. data/lib/whats_app_cloud_api/models/button_parameter_type_enum.rb +17 -0
  31. data/lib/whats_app_cloud_api/models/component.rb +83 -0
  32. data/lib/whats_app_cloud_api/models/component_type_enum.rb +20 -0
  33. data/lib/whats_app_cloud_api/models/contact.rb +145 -0
  34. data/lib/whats_app_cloud_api/models/content_type_enum.rb +14 -0
  35. data/lib/whats_app_cloud_api/models/currency.rb +67 -0
  36. data/lib/whats_app_cloud_api/models/date_time_object.rb +128 -0
  37. data/lib/whats_app_cloud_api/models/document.rb +81 -0
  38. data/lib/whats_app_cloud_api/models/email_object.rb +60 -0
  39. data/lib/whats_app_cloud_api/models/footer.rb +49 -0
  40. data/lib/whats_app_cloud_api/models/get_business_profile_id_response.rb +57 -0
  41. data/lib/whats_app_cloud_api/models/get_phone_number_by_id_response.rb +78 -0
  42. data/lib/whats_app_cloud_api/models/header.rb +93 -0
  43. data/lib/whats_app_cloud_api/models/header_type_enum.rb +23 -0
  44. data/lib/whats_app_cloud_api/models/image.rb +71 -0
  45. data/lib/whats_app_cloud_api/models/interactive.rb +87 -0
  46. data/lib/whats_app_cloud_api/models/interactive_type_enum.rb +17 -0
  47. data/lib/whats_app_cloud_api/models/language.rb +60 -0
  48. data/lib/whats_app_cloud_api/models/location.rb +78 -0
  49. data/lib/whats_app_cloud_api/models/message.rb +194 -0
  50. data/lib/whats_app_cloud_api/models/message_type_enum.rb +41 -0
  51. data/lib/whats_app_cloud_api/models/name.rb +100 -0
  52. data/lib/whats_app_cloud_api/models/org.rb +70 -0
  53. data/lib/whats_app_cloud_api/models/parameter.rb +113 -0
  54. data/lib/whats_app_cloud_api/models/parameter_type_enum.rb +29 -0
  55. data/lib/whats_app_cloud_api/models/personal_information_type_enum.rb +17 -0
  56. data/lib/whats_app_cloud_api/models/phone_object.rb +70 -0
  57. data/lib/whats_app_cloud_api/models/phone_type_enum.rb +26 -0
  58. data/lib/whats_app_cloud_api/models/quality_rating_enum.rb +25 -0
  59. data/lib/whats_app_cloud_api/models/register_phone_request.rb +58 -0
  60. data/lib/whats_app_cloud_api/models/request_verification_code_method_enum.rb +17 -0
  61. data/lib/whats_app_cloud_api/models/request_verification_code_request.rb +57 -0
  62. data/lib/whats_app_cloud_api/models/response_contact.rb +57 -0
  63. data/lib/whats_app_cloud_api/models/response_message.rb +48 -0
  64. data/lib/whats_app_cloud_api/models/retrieve_media_url_response.rb +94 -0
  65. data/lib/whats_app_cloud_api/models/row.rb +68 -0
  66. data/lib/whats_app_cloud_api/models/section.rb +72 -0
  67. data/lib/whats_app_cloud_api/models/send_message_response.rb +85 -0
  68. data/lib/whats_app_cloud_api/models/set_two_step_verification_code_request.rb +48 -0
  69. data/lib/whats_app_cloud_api/models/sticker.rb +61 -0
  70. data/lib/whats_app_cloud_api/models/sub_type_enum.rb +20 -0
  71. data/lib/whats_app_cloud_api/models/success_response.rb +48 -0
  72. data/lib/whats_app_cloud_api/models/template.rb +78 -0
  73. data/lib/whats_app_cloud_api/models/text.rb +72 -0
  74. data/lib/whats_app_cloud_api/models/update_business_profile_request.rb +116 -0
  75. data/lib/whats_app_cloud_api/models/upload_media.rb +48 -0
  76. data/lib/whats_app_cloud_api/models/upload_media_request.rb +80 -0
  77. data/lib/whats_app_cloud_api/models/url_object.rb +60 -0
  78. data/lib/whats_app_cloud_api/models/verify_code_request.rb +48 -0
  79. data/lib/whats_app_cloud_api/models/vertical_enum.rb +68 -0
  80. data/lib/whats_app_cloud_api/models/video.rb +61 -0
  81. data/lib/whats_app_cloud_api/utilities/date_time_helper.rb +156 -0
  82. data/lib/whats_app_cloud_api/utilities/file_wrapper.rb +16 -0
  83. data/lib/whats_app_cloud_api.rb +104 -0
  84. metadata +266 -0
@@ -0,0 +1,80 @@
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
+ # UploadMediaRequest Model.
8
+ class UploadMediaRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Messaging service used for the request. In this case, use whatsapp.
13
+ # @return [String]
14
+ attr_accessor :messaging_product
15
+
16
+ # Path to the file stored in your local directory. For example:
17
+ # "@/local/path/file.jpg".
18
+ # @return [String]
19
+ attr_accessor :file
20
+
21
+ # Type of media file being uploaded. See Supported Media Types for more
22
+ # information.
23
+ # Supported options for images are: `image/jpeg`, `image/png`
24
+ # Supported options for documents are: `text/plain`, `application/pdf`,
25
+ # `application/vnd.ms-powerpoint`, `application/msword`,
26
+ # `application/vnd.ms-excel`,
27
+ # `application/vnd.openxmlformats-officedocument.wordprocessingml.document`,
28
+ # `application/vnd.openxmlformats-officedocument.presentationml.presentation
29
+ # `, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
30
+ # Supported options for audio are: `audio/aac`, `audio/mp4`, `audio/mpeg`,
31
+ # `audio/amr`, `audio/ogg`, `audio/opus`
32
+ # Supported options for video are: `video/mp4`, `video/3gp`
33
+ # Supported options for stickers are: `image/webp`
34
+ # @return [String]
35
+ attr_accessor :type
36
+
37
+ # A mapping from model property names to API property names.
38
+ def self.names
39
+ @_hash = {} if @_hash.nil?
40
+ @_hash['messaging_product'] = 'messaging_product'
41
+ @_hash['file'] = 'file'
42
+ @_hash['type'] = 'type'
43
+ @_hash
44
+ end
45
+
46
+ # An array for optional fields
47
+ def optionals
48
+ []
49
+ end
50
+
51
+ # An array for nullable fields
52
+ def nullables
53
+ []
54
+ end
55
+
56
+ def initialize(messaging_product = nil,
57
+ file = nil,
58
+ type = nil)
59
+ @messaging_product = messaging_product unless messaging_product == SKIP
60
+ @file = file unless file == SKIP
61
+ @type = type unless type == 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
+ messaging_product =
70
+ hash.key?('messaging_product') ? hash['messaging_product'] : SKIP
71
+ file = hash.key?('file') ? hash['file'] : SKIP
72
+ type = hash.key?('type') ? hash['type'] : SKIP
73
+
74
+ # Create object from extracted values.
75
+ UploadMediaRequest.new(messaging_product,
76
+ file,
77
+ type)
78
+ end
79
+ end
80
+ 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
+ # UrlObject Model.
8
+ class UrlObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :url
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['url'] = 'url'
24
+ @_hash['type'] = 'type'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def optionals
30
+ %w[
31
+ url
32
+ type
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def nullables
38
+ []
39
+ end
40
+
41
+ def initialize(url = nil,
42
+ type = nil)
43
+ @url = url unless url == 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
+ url = hash.key?('url') ? hash['url'] : SKIP
53
+ type = hash.key?('type') ? hash['type'] : SKIP
54
+
55
+ # Create object from extracted values.
56
+ UrlObject.new(url,
57
+ type)
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,48 @@
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
+ # VerifyCodeRequest Model.
8
+ class VerifyCodeRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The code you received after calling FROM_PHONE_NUMBER_ID/request_code.
13
+ # @return [String]
14
+ attr_accessor :code
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['code'] = 'code'
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(code = nil)
34
+ @code = code unless code == 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
+ code = hash.key?('code') ? hash['code'] : SKIP
43
+
44
+ # Create object from extracted values.
45
+ VerifyCodeRequest.new(code)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,68 @@
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
+ # Vertical.
8
+ class VerticalEnum
9
+ VERTICAL_ENUM = [
10
+ # TODO: Write general description for UNDEFINED
11
+ UNDEFINED = 'UNDEFINED'.freeze,
12
+
13
+ # TODO: Write general description for OTHER
14
+ OTHER = 'OTHER'.freeze,
15
+
16
+ # TODO: Write general description for AUTO
17
+ AUTO = 'AUTO'.freeze,
18
+
19
+ # TODO: Write general description for BEAUTY
20
+ BEAUTY = 'BEAUTY'.freeze,
21
+
22
+ # TODO: Write general description for APPAREL
23
+ APPAREL = 'APPAREL'.freeze,
24
+
25
+ # TODO: Write general description for EDU
26
+ EDU = 'EDU'.freeze,
27
+
28
+ # TODO: Write general description for ENTERTAIN
29
+ ENTERTAIN = 'ENTERTAIN'.freeze,
30
+
31
+ # TODO: Write general description for EVENT_PLAN
32
+ EVENT_PLAN = 'EVENT_PLAN'.freeze,
33
+
34
+ # TODO: Write general description for FINANCE
35
+ FINANCE = 'FINANCE'.freeze,
36
+
37
+ # TODO: Write general description for GROCERY
38
+ GROCERY = 'GROCERY'.freeze,
39
+
40
+ # TODO: Write general description for GOVT
41
+ GOVT = 'GOVT'.freeze,
42
+
43
+ # TODO: Write general description for HOTEL
44
+ HOTEL = 'HOTEL'.freeze,
45
+
46
+ # TODO: Write general description for HEALTH
47
+ HEALTH = 'HEALTH'.freeze,
48
+
49
+ # TODO: Write general description for NONPROFIT
50
+ NONPROFIT = 'NONPROFIT'.freeze,
51
+
52
+ # TODO: Write general description for PROF_SERVICES
53
+ PROF_SERVICES = 'PROF_SERVICES'.freeze,
54
+
55
+ # TODO: Write general description for RETAIL
56
+ RETAIL = 'RETAIL'.freeze,
57
+
58
+ # TODO: Write general description for TRAVEL
59
+ TRAVEL = 'TRAVEL'.freeze,
60
+
61
+ # TODO: Write general description for RESTAURANT
62
+ RESTAURANT = 'RESTAURANT'.freeze,
63
+
64
+ # TODO: Write general description for NOT_A_BIZ
65
+ NOT_A_BIZ = 'NOT_A_BIZ'.freeze
66
+ ].freeze
67
+ end
68
+ end
@@ -0,0 +1,61 @@
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
+ # Video Model.
8
+ class Video < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The protocol and URL of the media to be sent. Use only with HTTP/HTTPS
13
+ # URLs. Required when you are not using an uploaded media ID.
14
+ # @return [String]
15
+ attr_accessor :link
16
+
17
+ # Required when you are not using a link. The media object ID.
18
+ # @return [String]
19
+ attr_accessor :id
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['link'] = 'link'
25
+ @_hash['id'] = 'id'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def optionals
31
+ %w[
32
+ link
33
+ id
34
+ ]
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def nullables
39
+ []
40
+ end
41
+
42
+ def initialize(link = nil,
43
+ id = nil)
44
+ @link = link unless link == SKIP
45
+ @id = id unless id == SKIP
46
+ end
47
+
48
+ # Creates an instance of the object from a hash.
49
+ def self.from_hash(hash)
50
+ return nil unless hash
51
+
52
+ # Extract variables from the hash.
53
+ link = hash.key?('link') ? hash['link'] : SKIP
54
+ id = hash.key?('id') ? hash['id'] : SKIP
55
+
56
+ # Create object from extracted values.
57
+ Video.new(link,
58
+ id)
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,156 @@
1
+ # whats_app_cloud_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ require 'date'
7
+ module WhatsAppCloudApi
8
+ # A utility that supports dateTime conversion to different formats
9
+ class DateTimeHelper
10
+ # Safely converts a DateTime object into a rfc1123 format string
11
+ # @param [DateTime] The DateTime object
12
+ # @return [String] The rfc1123 formatted datetime string
13
+ def self.to_rfc1123(date_time)
14
+ date_time&.httpdate
15
+ end
16
+
17
+ # Safely converts a map of DateTime objects into a map of rfc1123 format string
18
+ # @param [hash] a map of DateTime objects
19
+ # @return [hash] a map of rfc1123 formatted datetime string
20
+ def self.to_rfc1123_map(date_time, hash, key)
21
+ return if date_time.nil?
22
+
23
+ hash[key] = {}
24
+ date_time.each do |k, v|
25
+ hash[key][k] =
26
+ if v.is_a?(BaseModel)
27
+ v.to_hash
28
+ else
29
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
30
+ end
31
+ end
32
+ hash[key]
33
+ end
34
+
35
+ # Safely converts an array of DateTime objects into an array of rfc1123 format string
36
+ # @param [Array] an array of DateTime objects
37
+ # @return [Array] an array of rfc1123 formatted datetime string
38
+ def self.to_rfc1123_array(date_time, hash, key)
39
+ return if date_time.nil?
40
+
41
+ hash[key] = date_time.map do |v|
42
+ if v.is_a?(BaseModel)
43
+ v.to_hash
44
+ else
45
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc1123(v) : v
46
+ end
47
+ end
48
+ end
49
+
50
+ # Safely converts a DateTime object into a unix format string
51
+ # @param [DateTime] The DateTime object
52
+ # @return [String] The unix formatted datetime string
53
+ def self.to_unix(date_time)
54
+ date_time.to_time.utc.to_i unless date_time.nil?
55
+ end
56
+
57
+ # Safely converts a map of DateTime objects into a map of unix format string
58
+ # @param [hash] a map of DateTime objects
59
+ # @return [hash] a map of unix formatted datetime string
60
+ def self.to_unix_map(date_time, hash, key)
61
+ return if date_time.nil?
62
+
63
+ hash[key] = {}
64
+ date_time.each do |k, v|
65
+ hash[key][k] =
66
+ if v.is_a?(BaseModel)
67
+ v.to_hash
68
+ else
69
+ v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
70
+ end
71
+ end
72
+ hash[key]
73
+ end
74
+
75
+ # Safely converts an array of DateTime objects into a map of unix format string
76
+ # @param [hash] an array of DateTime objects
77
+ # @return [hash] an array of unix formatted datetime string
78
+ def self.to_unix_array(date_time, hash, key)
79
+ return if date_time.nil?
80
+
81
+ hash[key] = date_time.map do |v|
82
+ if v.is_a?(BaseModel)
83
+ v.to_hash
84
+ else
85
+ v.is_a?(DateTime) ? DateTimeHelper.to_unix(v) : v
86
+ end
87
+ end
88
+ end
89
+
90
+ # Safely converts a DateTime object into a rfc3339 format string
91
+ # @param [DateTime] The DateTime object
92
+ # @return [String] The rfc3339 formatted datetime string
93
+ def self.to_rfc3339(date_time)
94
+ date_time&.rfc3339
95
+ end
96
+
97
+ # Safely converts a map of DateTime objects into a map of rfc1123 format string
98
+ # @param [hash] a map of DateTime objects
99
+ # @return [hash] a map of rfc1123 formatted datetime string
100
+ def self.to_rfc3339_map(date_time, hash, key)
101
+ return if date_time.nil?
102
+
103
+ hash[key] = {}
104
+ date_time.each do |k, v|
105
+ hash[key][k] =
106
+ if v.is_a?(BaseModel)
107
+ v.to_hash
108
+ else
109
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
110
+ end
111
+ end
112
+ hash[key]
113
+ end
114
+
115
+ # Safely converts an array of DateTime objects into an array of rfc1123 format string
116
+ # @param [Array] an array of DateTime objects
117
+ # @return [Array] an array of rfc1123 formatted datetime string
118
+ def self.to_rfc3339_array(date_time, hash, key)
119
+ return if date_time.nil?
120
+
121
+ hash[key] = date_time.map do |v|
122
+ if v.is_a?(BaseModel)
123
+ v.to_hash
124
+ else
125
+ v.is_a?(DateTime) ? DateTimeHelper.to_rfc3339(v) : v
126
+ end
127
+ end
128
+ end
129
+
130
+ # Safely converts a rfc1123 format string into a DateTime object
131
+ # @param [String] The rfc1123 formatted datetime string
132
+ # @return [DateTime] A DateTime object
133
+ def self.from_rfc1123(date_time)
134
+ DateTime.httpdate(date_time)
135
+ end
136
+
137
+ # Safely converts a unix format string into a DateTime object
138
+ # @param [String] The unix formatted datetime string
139
+ # @return [DateTime] A DateTime object
140
+ def self.from_unix(date_time)
141
+ Time.at(date_time.to_i).utc.to_datetime
142
+ end
143
+
144
+ # Safely converts a rfc3339 format string into a DateTime object
145
+ # @param [String] The rfc3339 formatted datetime string
146
+ # @return [DateTime] A DateTime object
147
+ def self.from_rfc3339(date_time)
148
+ # missing timezone information
149
+ if date_time.end_with?('Z') || date_time.index('+')
150
+ DateTime.rfc3339(date_time)
151
+ else
152
+ DateTime.rfc3339("#{date_time}Z")
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,16 @@
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
+ # A utility to allow users to set the content-type for files
8
+ class FileWrapper
9
+ attr_reader :content_type, :file
10
+
11
+ def initialize(file, content_type: 'application/octet-stream')
12
+ @file = file
13
+ @content_type = content_type
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,104 @@
1
+ # whats_app_cloud_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ require 'date'
7
+ require 'json'
8
+ require 'faraday'
9
+ require 'certifi'
10
+ require 'logging'
11
+
12
+ require_relative 'whats_app_cloud_api/api_helper'
13
+ require_relative 'whats_app_cloud_api/client'
14
+
15
+ # Utilities
16
+ require_relative 'whats_app_cloud_api/utilities/file_wrapper'
17
+ require_relative 'whats_app_cloud_api/utilities/date_time_helper'
18
+
19
+ # Http
20
+ require_relative 'whats_app_cloud_api/http/http_call_back'
21
+ require_relative 'whats_app_cloud_api/http/http_client'
22
+ require_relative 'whats_app_cloud_api/http/faraday_client'
23
+ require_relative 'whats_app_cloud_api/http/http_method_enum'
24
+ require_relative 'whats_app_cloud_api/http/http_request'
25
+ require_relative 'whats_app_cloud_api/http/http_response'
26
+ require_relative 'whats_app_cloud_api/http/auth/o_auth2'
27
+
28
+ # Models
29
+ require_relative 'whats_app_cloud_api/models/base_model'
30
+ require_relative 'whats_app_cloud_api/models/get_phone_number_by_id_response'
31
+ require_relative 'whats_app_cloud_api/models/success_response'
32
+ require_relative 'whats_app_cloud_api/models/send_message_response'
33
+ require_relative 'whats_app_cloud_api/models/response_message'
34
+ require_relative 'whats_app_cloud_api/models/contact'
35
+ require_relative 'whats_app_cloud_api/models/currency'
36
+ require_relative 'whats_app_cloud_api/models/parameter'
37
+ require_relative 'whats_app_cloud_api/models/get_business_profile_id_response'
38
+ require_relative 'whats_app_cloud_api/models/retrieve_media_url_response'
39
+ require_relative 'whats_app_cloud_api/models/response_contact'
40
+ require_relative 'whats_app_cloud_api/models/message'
41
+ require_relative 'whats_app_cloud_api/models/address'
42
+ require_relative 'whats_app_cloud_api/models/email_object'
43
+ require_relative 'whats_app_cloud_api/models/name'
44
+ require_relative 'whats_app_cloud_api/models/org'
45
+ require_relative 'whats_app_cloud_api/models/button'
46
+ require_relative 'whats_app_cloud_api/models/footer'
47
+ require_relative 'whats_app_cloud_api/models/document'
48
+ require_relative 'whats_app_cloud_api/models/button_parameter'
49
+ require_relative 'whats_app_cloud_api/models/component'
50
+ require_relative 'whats_app_cloud_api/models/date_time_object'
51
+ require_relative 'whats_app_cloud_api/models/business_profile'
52
+ require_relative 'whats_app_cloud_api/models/upload_media'
53
+ require_relative 'whats_app_cloud_api/models/set_two_step_verification_code' \
54
+ '_request'
55
+ require_relative 'whats_app_cloud_api/models/phone_object'
56
+ require_relative 'whats_app_cloud_api/models/register_phone_request'
57
+ require_relative 'whats_app_cloud_api/models/row'
58
+ require_relative 'whats_app_cloud_api/models/audio'
59
+ require_relative 'whats_app_cloud_api/models/url_object'
60
+ require_relative 'whats_app_cloud_api/models/text'
61
+ require_relative 'whats_app_cloud_api/models/interactive'
62
+ require_relative 'whats_app_cloud_api/models/action'
63
+ require_relative 'whats_app_cloud_api/models/request_verification_code_request'
64
+ require_relative 'whats_app_cloud_api/models/body'
65
+ require_relative 'whats_app_cloud_api/models/header'
66
+ require_relative 'whats_app_cloud_api/models/verify_code_request'
67
+ require_relative 'whats_app_cloud_api/models/section'
68
+ require_relative 'whats_app_cloud_api/models/location'
69
+ require_relative 'whats_app_cloud_api/models/video'
70
+ require_relative 'whats_app_cloud_api/models/image'
71
+ require_relative 'whats_app_cloud_api/models/sticker'
72
+ require_relative 'whats_app_cloud_api/models/template'
73
+ require_relative 'whats_app_cloud_api/models/language'
74
+ require_relative 'whats_app_cloud_api/models/update_business_profile_request'
75
+ require_relative 'whats_app_cloud_api/models/upload_media_request'
76
+ require_relative 'whats_app_cloud_api/models/quality_rating_enum'
77
+ require_relative 'whats_app_cloud_api/models/interactive_type_enum'
78
+ require_relative 'whats_app_cloud_api/models/header_type_enum'
79
+ require_relative 'whats_app_cloud_api/models/parameter_type_enum'
80
+ require_relative 'whats_app_cloud_api/models/content_type_enum'
81
+ require_relative 'whats_app_cloud_api/models/personal_information_type_enum'
82
+ require_relative 'whats_app_cloud_api/models/message_type_enum'
83
+ require_relative 'whats_app_cloud_api/models/phone_type_enum'
84
+ require_relative 'whats_app_cloud_api/models/button_parameter_type_enum'
85
+ require_relative 'whats_app_cloud_api/models/sub_type_enum'
86
+ require_relative 'whats_app_cloud_api/models/vertical_enum'
87
+ require_relative 'whats_app_cloud_api/models/request_verification_code_method' \
88
+ '_enum'
89
+ require_relative 'whats_app_cloud_api/models/component_type_enum'
90
+
91
+ # Exceptions
92
+ require_relative 'whats_app_cloud_api/exceptions/api_exception'
93
+
94
+ require_relative 'whats_app_cloud_api/configuration'
95
+
96
+ # Controllers
97
+ require_relative 'whats_app_cloud_api/controllers/base_controller'
98
+ require_relative 'whats_app_cloud_api/controllers/business_profiles_controller'
99
+ require_relative 'whats_app_cloud_api/controllers/messages_controller'
100
+ require_relative 'whats_app_cloud_api/controllers/media_controller'
101
+ require_relative 'whats_app_cloud_api/controllers/phone_numbers_controller'
102
+ require_relative 'whats_app_cloud_api/controllers/registration_controller'
103
+ require_relative 'whats_app_cloud_api/controllers/two_step_verification' \
104
+ '_controller'