pingram 0.1.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.
Files changed (187) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +54 -0
  4. data/Rakefile +10 -0
  5. data/lib/pingram/api/account_api.rb +506 -0
  6. data/lib/pingram/api/addresses_api.rb +209 -0
  7. data/lib/pingram/api/components_api.rb +396 -0
  8. data/lib/pingram/api/default_api.rb +88 -0
  9. data/lib/pingram/api/domains_api.rb +204 -0
  10. data/lib/pingram/api/editor_api.rb +88 -0
  11. data/lib/pingram/api/environments_api.rb +215 -0
  12. data/lib/pingram/api/health_api.rb +77 -0
  13. data/lib/pingram/api/insights_api.rb +88 -0
  14. data/lib/pingram/api/keys_api.rb +204 -0
  15. data/lib/pingram/api/logs_api.rb +375 -0
  16. data/lib/pingram/api/members_api.rb +433 -0
  17. data/lib/pingram/api/sender_api.rb +221 -0
  18. data/lib/pingram/api/templates_api.rb +479 -0
  19. data/lib/pingram/api/types_api.rb +335 -0
  20. data/lib/pingram/api/user_api.rb +587 -0
  21. data/lib/pingram/api/users_api.rb +228 -0
  22. data/lib/pingram/api_client.rb +397 -0
  23. data/lib/pingram/api_error.rb +58 -0
  24. data/lib/pingram/api_model_base.rb +88 -0
  25. data/lib/pingram/client_wrapper.rb +212 -0
  26. data/lib/pingram/configuration.rb +330 -0
  27. data/lib/pingram/models/account_addresses_response.rb +166 -0
  28. data/lib/pingram/models/account_addresses_response_addresses_inner.rb +301 -0
  29. data/lib/pingram/models/account_get_response.rb +354 -0
  30. data/lib/pingram/models/account_get_response_pending_downgrade_usage_limit.rb +201 -0
  31. data/lib/pingram/models/address_response.rb +164 -0
  32. data/lib/pingram/models/auto_join_get_response.rb +192 -0
  33. data/lib/pingram/models/auto_join_post_response.rb +192 -0
  34. data/lib/pingram/models/auto_join_request_body.rb +166 -0
  35. data/lib/pingram/models/bee_token_v2.rb +190 -0
  36. data/lib/pingram/models/billing_post_request_body.rb +216 -0
  37. data/lib/pingram/models/billing_post_response_body.rb +367 -0
  38. data/lib/pingram/models/billing_post_response_body_pending_downgrade_usage_limit.rb +202 -0
  39. data/lib/pingram/models/channels_enum.rb +45 -0
  40. data/lib/pingram/models/create_account_request_body.rb +164 -0
  41. data/lib/pingram/models/create_account_response.rb +190 -0
  42. data/lib/pingram/models/create_address_request.rb +182 -0
  43. data/lib/pingram/models/create_key_request.rb +227 -0
  44. data/lib/pingram/models/create_key_response.rb +308 -0
  45. data/lib/pingram/models/delete_key_response.rb +165 -0
  46. data/lib/pingram/models/delete_user_response.rb +164 -0
  47. data/lib/pingram/models/email_auth_token_post_request.rb +147 -0
  48. data/lib/pingram/models/email_component_patch_request.rb +174 -0
  49. data/lib/pingram/models/email_component_post_request.rb +217 -0
  50. data/lib/pingram/models/email_component_response.rb +424 -0
  51. data/lib/pingram/models/email_component_response_referenced_by_inner.rb +238 -0
  52. data/lib/pingram/models/environment.rb +270 -0
  53. data/lib/pingram/models/environment_create_request.rb +164 -0
  54. data/lib/pingram/models/environment_patch_request.rb +176 -0
  55. data/lib/pingram/models/get_account_metadata_response.rb +164 -0
  56. data/lib/pingram/models/get_account_metadata_response_user_account_metadata.rb +216 -0
  57. data/lib/pingram/models/get_email_components_response_inner.rb +424 -0
  58. data/lib/pingram/models/get_environments_response_inner.rb +270 -0
  59. data/lib/pingram/models/get_inapp_notifications_response.rb +166 -0
  60. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner.rb +389 -0
  61. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options.rb +206 -0
  62. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_instant.rb +191 -0
  63. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_off.rb +164 -0
  64. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_replies_inner.rb +190 -0
  65. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_template.rb +103 -0
  66. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_template_any_of.rb +301 -0
  67. data/lib/pingram/models/get_keys_response.rb +168 -0
  68. data/lib/pingram/models/get_keys_response_keys_inner.rb +371 -0
  69. data/lib/pingram/models/get_logs_response.rb +175 -0
  70. data/lib/pingram/models/get_logs_response_messages_inner.rb +419 -0
  71. data/lib/pingram/models/get_logs_response_messages_inner_attachments_inner.rb +225 -0
  72. data/lib/pingram/models/get_members_response_inner.rb +236 -0
  73. data/lib/pingram/models/get_metrics_response_inner.rb +238 -0
  74. data/lib/pingram/models/get_metrics_response_inner_messages_inner.rb +159 -0
  75. data/lib/pingram/models/get_notifications_response_inner.rb +317 -0
  76. data/lib/pingram/models/get_notifications_response_inner_deduplication.rb +164 -0
  77. data/lib/pingram/models/get_notifications_response_inner_options.rb +201 -0
  78. data/lib/pingram/models/get_notifications_response_inner_options_email.rb +242 -0
  79. data/lib/pingram/models/get_notifications_response_inner_options_email_daily.rb +173 -0
  80. data/lib/pingram/models/get_notifications_response_inner_options_email_monthly.rb +216 -0
  81. data/lib/pingram/models/get_notifications_response_inner_options_email_weekly.rb +182 -0
  82. data/lib/pingram/models/get_notifications_response_inner_templates_inner.rb +214 -0
  83. data/lib/pingram/models/get_notifications_response_inner_throttling.rb +294 -0
  84. data/lib/pingram/models/get_senders_response_inner.rb +342 -0
  85. data/lib/pingram/models/get_templates_response.rb +103 -0
  86. data/lib/pingram/models/get_users_response.rb +201 -0
  87. data/lib/pingram/models/get_users_response_users_inner.rb +268 -0
  88. data/lib/pingram/models/get_users_response_users_inner_email_suppression_status.rb +214 -0
  89. data/lib/pingram/models/get_users_response_users_inner_push_tokens_inner.rb +252 -0
  90. data/lib/pingram/models/get_users_response_users_inner_push_tokens_inner_device.rb +209 -0
  91. data/lib/pingram/models/get_users_response_users_inner_slack_token.rb +317 -0
  92. data/lib/pingram/models/get_users_response_users_inner_slack_token_authed_user.rb +192 -0
  93. data/lib/pingram/models/get_users_response_users_inner_slack_token_enterprise.rb +156 -0
  94. data/lib/pingram/models/get_users_response_users_inner_slack_token_incoming_webhook.rb +174 -0
  95. data/lib/pingram/models/get_users_response_users_inner_slack_token_response_metadata.rb +200 -0
  96. data/lib/pingram/models/get_users_response_users_inner_web_push_tokens_inner.rb +164 -0
  97. data/lib/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub.rb +191 -0
  98. data/lib/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub_keys.rb +190 -0
  99. data/lib/pingram/models/in_app_notification_patch_request.rb +231 -0
  100. data/lib/pingram/models/in_app_notification_unread_clear_request.rb +156 -0
  101. data/lib/pingram/models/inapp_unread_count_response.rb +164 -0
  102. data/lib/pingram/models/inbound_request_body.rb +103 -0
  103. data/lib/pingram/models/inbound_response_body.rb +216 -0
  104. data/lib/pingram/models/inbound_response_body_results_inner.rb +216 -0
  105. data/lib/pingram/models/ingishts_post_request.rb +288 -0
  106. data/lib/pingram/models/ingishts_post_request_label_options.rb +147 -0
  107. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner.rb +208 -0
  108. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat.rb +211 -0
  109. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric.rb +171 -0
  110. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner.rb +159 -0
  111. data/lib/pingram/models/intercom_webhook.rb +293 -0
  112. data/lib/pingram/models/intercom_webhook_data.rb +164 -0
  113. data/lib/pingram/models/intercom_webhook_data_item.rb +103 -0
  114. data/lib/pingram/models/intercom_webhook_data_item_any_of.rb +453 -0
  115. data/lib/pingram/models/intercom_webhook_data_item_any_of_contacts.rb +216 -0
  116. data/lib/pingram/models/intercom_webhook_data_item_any_of_contacts_contacts_inner.rb +199 -0
  117. data/lib/pingram/models/intercom_webhook_data_item_any_of_source.rb +260 -0
  118. data/lib/pingram/models/intercom_webhook_data_item_any_of_source_author.rb +208 -0
  119. data/lib/pingram/models/invite_post_response.rb +156 -0
  120. data/lib/pingram/models/log_query_post_body.rb +251 -0
  121. data/lib/pingram/models/logs_bulk_request.rb +167 -0
  122. data/lib/pingram/models/logs_get_response.rb +167 -0
  123. data/lib/pingram/models/logs_get_response_logs_inner.rb +1808 -0
  124. data/lib/pingram/models/logs_query_response.rb +165 -0
  125. data/lib/pingram/models/logs_query_result_response.rb +194 -0
  126. data/lib/pingram/models/logs_retention_response.rb +165 -0
  127. data/lib/pingram/models/logs_tail_response.rb +167 -0
  128. data/lib/pingram/models/member_invite_request.rb +173 -0
  129. data/lib/pingram/models/member_update_request.rb +164 -0
  130. data/lib/pingram/models/message_response.rb +164 -0
  131. data/lib/pingram/models/notification.rb +317 -0
  132. data/lib/pingram/models/notification_create_request.rb +227 -0
  133. data/lib/pingram/models/notification_patch_request.rb +203 -0
  134. data/lib/pingram/models/post_email_test_request.rb +303 -0
  135. data/lib/pingram/models/post_email_test_response.rb +175 -0
  136. data/lib/pingram/models/post_senders_request_body.rb +164 -0
  137. data/lib/pingram/models/post_user_request.rb +215 -0
  138. data/lib/pingram/models/sender_post_body.rb +324 -0
  139. data/lib/pingram/models/sender_post_body_email.rb +217 -0
  140. data/lib/pingram/models/sender_post_body_inapp.rb +182 -0
  141. data/lib/pingram/models/sender_post_body_mobile_push.rb +190 -0
  142. data/lib/pingram/models/sender_post_body_options.rb +165 -0
  143. data/lib/pingram/models/sender_post_body_options_apn.rb +201 -0
  144. data/lib/pingram/models/sender_post_body_options_email.rb +209 -0
  145. data/lib/pingram/models/sender_post_body_options_email_attachments_inner.rb +103 -0
  146. data/lib/pingram/models/sender_post_body_options_email_attachments_inner_any_of.rb +190 -0
  147. data/lib/pingram/models/sender_post_body_options_email_attachments_inner_any_of1.rb +199 -0
  148. data/lib/pingram/models/sender_post_body_options_fcm.rb +147 -0
  149. data/lib/pingram/models/sender_post_body_options_fcm_android.rb +208 -0
  150. data/lib/pingram/models/sender_post_body_slack.rb +299 -0
  151. data/lib/pingram/models/sender_post_body_slack_metadata.rb +173 -0
  152. data/lib/pingram/models/sender_post_body_slack_metadata_entities_inner.rb +257 -0
  153. data/lib/pingram/models/sender_post_body_slack_metadata_entities_inner_external_ref.rb +174 -0
  154. data/lib/pingram/models/sender_post_body_sms.rb +156 -0
  155. data/lib/pingram/models/sender_post_body_sms_auto_reply.rb +164 -0
  156. data/lib/pingram/models/sender_post_body_to.rb +251 -0
  157. data/lib/pingram/models/sender_post_body_user.rb +268 -0
  158. data/lib/pingram/models/sender_post_body_web_push.rb +208 -0
  159. data/lib/pingram/models/sender_post_response.rb +192 -0
  160. data/lib/pingram/models/set_default_template_request.rb +204 -0
  161. data/lib/pingram/models/slack_interactivity_response.rb +165 -0
  162. data/lib/pingram/models/slack_oauth_request.rb +190 -0
  163. data/lib/pingram/models/success_response.rb +164 -0
  164. data/lib/pingram/models/supabase_configure_request.rb +242 -0
  165. data/lib/pingram/models/supabase_configure_response.rb +173 -0
  166. data/lib/pingram/models/supabase_o_auth_request.rb +216 -0
  167. data/lib/pingram/models/supabase_o_auth_response.rb +173 -0
  168. data/lib/pingram/models/supabase_projects_response.rb +166 -0
  169. data/lib/pingram/models/supabase_projects_response_projects_inner.rb +268 -0
  170. data/lib/pingram/models/supabase_status_response.rb +208 -0
  171. data/lib/pingram/models/template.rb +301 -0
  172. data/lib/pingram/models/template_patch_request.rb +104 -0
  173. data/lib/pingram/models/template_patch_request_any_of.rb +199 -0
  174. data/lib/pingram/models/template_patch_request_any_of1.rb +187 -0
  175. data/lib/pingram/models/template_patch_request_any_of1_batch.rb +217 -0
  176. data/lib/pingram/models/template_patch_request_any_of1_instant.rb +184 -0
  177. data/lib/pingram/models/template_post_request.rb +346 -0
  178. data/lib/pingram/models/template_post_request_batch.rb +217 -0
  179. data/lib/pingram/models/template_post_request_instant.rb +183 -0
  180. data/lib/pingram/models/update_address_request.rb +182 -0
  181. data/lib/pingram/models/user.rb +268 -0
  182. data/lib/pingram/models/user_suppression_delete_response.rb +164 -0
  183. data/lib/pingram/models/webhook_response.rb +182 -0
  184. data/lib/pingram/version.rb +15 -0
  185. data/lib/pingram.rb +215 -0
  186. data/pingram.gemspec +38 -0
  187. metadata +270 -0
@@ -0,0 +1,209 @@
1
+ =begin
2
+ #NotificationAPI
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Pingram
16
+ class AddressesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a new email address for inbound/outbound purposes. Each account can have one builtin address and many custom addresses. Custom addresses must belong to configured domains.
23
+ # @param create_address_request [CreateAddressRequest]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [AddressResponse]
26
+ def addresses_create_address(create_address_request, opts = {})
27
+ data, _status_code, _headers = addresses_create_address_with_http_info(create_address_request, opts)
28
+ data
29
+ end
30
+
31
+ # Create a new email address for inbound/outbound purposes. Each account can have one builtin address and many custom addresses. Custom addresses must belong to configured domains.
32
+ # @param create_address_request [CreateAddressRequest]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(AddressResponse, Integer, Hash)>] AddressResponse data, response status code and response headers
35
+ def addresses_create_address_with_http_info(create_address_request, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: AddressesApi.addresses_create_address ...'
38
+ end
39
+ # verify the required parameter 'create_address_request' is set
40
+ if @api_client.config.client_side_validation && create_address_request.nil?
41
+ fail ArgumentError, "Missing the required parameter 'create_address_request' when calling AddressesApi.addresses_create_address"
42
+ end
43
+ # resource path
44
+ local_var_path = '/addresses'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_address_request)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'AddressResponse'
67
+
68
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
69
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"AddressesApi.addresses_create_address",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: AddressesApi#addresses_create_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Lists all email addresses the account has configured to send and receive emails. Custom addresses must belong to configured domains.
89
+ # @param [Hash] opts the optional parameters
90
+ # @return [AccountAddressesResponse]
91
+ def addresses_list_addresses(opts = {})
92
+ data, _status_code, _headers = addresses_list_addresses_with_http_info(opts)
93
+ data
94
+ end
95
+
96
+ # Lists all email addresses the account has configured to send and receive emails. Custom addresses must belong to configured domains.
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [Array<(AccountAddressesResponse, Integer, Hash)>] AccountAddressesResponse data, response status code and response headers
99
+ def addresses_list_addresses_with_http_info(opts = {})
100
+ if @api_client.config.debugging
101
+ @api_client.config.logger.debug 'Calling API: AddressesApi.addresses_list_addresses ...'
102
+ end
103
+ # resource path
104
+ local_var_path = '/addresses'
105
+
106
+ # query parameters
107
+ query_params = opts[:query_params] || {}
108
+
109
+ # header parameters
110
+ header_params = opts[:header_params] || {}
111
+ # HTTP header 'Accept' (if needed)
112
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
113
+
114
+ # form parameters
115
+ form_params = opts[:form_params] || {}
116
+
117
+ # http body (model)
118
+ post_body = opts[:debug_body]
119
+
120
+ # return_type
121
+ return_type = opts[:debug_return_type] || 'AccountAddressesResponse'
122
+
123
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
124
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
125
+
126
+ new_options = opts.merge(
127
+ :operation => :"AddressesApi.addresses_list_addresses",
128
+ :header_params => header_params,
129
+ :query_params => query_params,
130
+ :form_params => form_params,
131
+ :body => post_body,
132
+ :auth_names => auth_names,
133
+ :return_type => return_type
134
+ )
135
+
136
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
137
+ if @api_client.config.debugging
138
+ @api_client.config.logger.debug "API called: AddressesApi#addresses_list_addresses\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
139
+ end
140
+ return data, status_code, headers
141
+ end
142
+
143
+ # Update an existing address
144
+ # @param update_address_request [UpdateAddressRequest]
145
+ # @param [Hash] opts the optional parameters
146
+ # @return [AddressResponse]
147
+ def addresses_update_address(update_address_request, opts = {})
148
+ data, _status_code, _headers = addresses_update_address_with_http_info(update_address_request, opts)
149
+ data
150
+ end
151
+
152
+ # Update an existing address
153
+ # @param update_address_request [UpdateAddressRequest]
154
+ # @param [Hash] opts the optional parameters
155
+ # @return [Array<(AddressResponse, Integer, Hash)>] AddressResponse data, response status code and response headers
156
+ def addresses_update_address_with_http_info(update_address_request, opts = {})
157
+ if @api_client.config.debugging
158
+ @api_client.config.logger.debug 'Calling API: AddressesApi.addresses_update_address ...'
159
+ end
160
+ # verify the required parameter 'update_address_request' is set
161
+ if @api_client.config.client_side_validation && update_address_request.nil?
162
+ fail ArgumentError, "Missing the required parameter 'update_address_request' when calling AddressesApi.addresses_update_address"
163
+ end
164
+ # resource path
165
+ local_var_path = '/addresses'
166
+
167
+ # query parameters
168
+ query_params = opts[:query_params] || {}
169
+
170
+ # header parameters
171
+ header_params = opts[:header_params] || {}
172
+ # HTTP header 'Accept' (if needed)
173
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
174
+ # HTTP header 'Content-Type'
175
+ content_type = @api_client.select_header_content_type(['application/json'])
176
+ if !content_type.nil?
177
+ header_params['Content-Type'] = content_type
178
+ end
179
+
180
+ # form parameters
181
+ form_params = opts[:form_params] || {}
182
+
183
+ # http body (model)
184
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_address_request)
185
+
186
+ # return_type
187
+ return_type = opts[:debug_return_type] || 'AddressResponse'
188
+
189
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
190
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
191
+
192
+ new_options = opts.merge(
193
+ :operation => :"AddressesApi.addresses_update_address",
194
+ :header_params => header_params,
195
+ :query_params => query_params,
196
+ :form_params => form_params,
197
+ :body => post_body,
198
+ :auth_names => auth_names,
199
+ :return_type => return_type
200
+ )
201
+
202
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
203
+ if @api_client.config.debugging
204
+ @api_client.config.logger.debug "API called: AddressesApi#addresses_update_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
205
+ end
206
+ return data, status_code, headers
207
+ end
208
+ end
209
+ end
@@ -0,0 +1,396 @@
1
+ =begin
2
+ #NotificationAPI
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Pingram
16
+ class ComponentsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a new component
23
+ # @param email_component_post_request [EmailComponentPostRequest]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [EmailComponentResponse]
26
+ def components_create_component(email_component_post_request, opts = {})
27
+ data, _status_code, _headers = components_create_component_with_http_info(email_component_post_request, opts)
28
+ data
29
+ end
30
+
31
+ # Create a new component
32
+ # @param email_component_post_request [EmailComponentPostRequest]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(EmailComponentResponse, Integer, Hash)>] EmailComponentResponse data, response status code and response headers
35
+ def components_create_component_with_http_info(email_component_post_request, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: ComponentsApi.components_create_component ...'
38
+ end
39
+ # verify the required parameter 'email_component_post_request' is set
40
+ if @api_client.config.client_side_validation && email_component_post_request.nil?
41
+ fail ArgumentError, "Missing the required parameter 'email_component_post_request' when calling ComponentsApi.components_create_component"
42
+ end
43
+ # resource path
44
+ local_var_path = '/components'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(email_component_post_request)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'EmailComponentResponse'
67
+
68
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
69
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"ComponentsApi.components_create_component",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: ComponentsApi#components_create_component\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Delete a component
89
+ # @param component_id [String]
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [nil]
92
+ def components_delete_component(component_id, opts = {})
93
+ components_delete_component_with_http_info(component_id, opts)
94
+ nil
95
+ end
96
+
97
+ # Delete a component
98
+ # @param component_id [String]
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
101
+ def components_delete_component_with_http_info(component_id, opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: ComponentsApi.components_delete_component ...'
104
+ end
105
+ # verify the required parameter 'component_id' is set
106
+ if @api_client.config.client_side_validation && component_id.nil?
107
+ fail ArgumentError, "Missing the required parameter 'component_id' when calling ComponentsApi.components_delete_component"
108
+ end
109
+ # resource path
110
+ local_var_path = '/components/{componentId}'.sub('{' + 'componentId' + '}', CGI.escape(component_id.to_s))
111
+
112
+ # query parameters
113
+ query_params = opts[:query_params] || {}
114
+
115
+ # header parameters
116
+ header_params = opts[:header_params] || {}
117
+
118
+ # form parameters
119
+ form_params = opts[:form_params] || {}
120
+
121
+ # http body (model)
122
+ post_body = opts[:debug_body]
123
+
124
+ # return_type
125
+ return_type = opts[:debug_return_type]
126
+
127
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
128
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
129
+
130
+ new_options = opts.merge(
131
+ :operation => :"ComponentsApi.components_delete_component",
132
+ :header_params => header_params,
133
+ :query_params => query_params,
134
+ :form_params => form_params,
135
+ :body => post_body,
136
+ :auth_names => auth_names,
137
+ :return_type => return_type
138
+ )
139
+
140
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug "API called: ComponentsApi#components_delete_component\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
143
+ end
144
+ return data, status_code, headers
145
+ end
146
+
147
+ # Get a specific component by ID
148
+ # @param component_id [String] Component ID
149
+ # @param [Hash] opts the optional parameters
150
+ # @return [EmailComponentResponse]
151
+ def components_get_component(component_id, opts = {})
152
+ data, _status_code, _headers = components_get_component_with_http_info(component_id, opts)
153
+ data
154
+ end
155
+
156
+ # Get a specific component by ID
157
+ # @param component_id [String] Component ID
158
+ # @param [Hash] opts the optional parameters
159
+ # @return [Array<(EmailComponentResponse, Integer, Hash)>] EmailComponentResponse data, response status code and response headers
160
+ def components_get_component_with_http_info(component_id, opts = {})
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug 'Calling API: ComponentsApi.components_get_component ...'
163
+ end
164
+ # verify the required parameter 'component_id' is set
165
+ if @api_client.config.client_side_validation && component_id.nil?
166
+ fail ArgumentError, "Missing the required parameter 'component_id' when calling ComponentsApi.components_get_component"
167
+ end
168
+ # resource path
169
+ local_var_path = '/components/{componentId}'.sub('{' + 'componentId' + '}', CGI.escape(component_id.to_s))
170
+
171
+ # query parameters
172
+ query_params = opts[:query_params] || {}
173
+
174
+ # header parameters
175
+ header_params = opts[:header_params] || {}
176
+ # HTTP header 'Accept' (if needed)
177
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
178
+
179
+ # form parameters
180
+ form_params = opts[:form_params] || {}
181
+
182
+ # http body (model)
183
+ post_body = opts[:debug_body]
184
+
185
+ # return_type
186
+ return_type = opts[:debug_return_type] || 'EmailComponentResponse'
187
+
188
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
189
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
190
+
191
+ new_options = opts.merge(
192
+ :operation => :"ComponentsApi.components_get_component",
193
+ :header_params => header_params,
194
+ :query_params => query_params,
195
+ :form_params => form_params,
196
+ :body => post_body,
197
+ :auth_names => auth_names,
198
+ :return_type => return_type
199
+ )
200
+
201
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
202
+ if @api_client.config.debugging
203
+ @api_client.config.logger.debug "API called: ComponentsApi#components_get_component\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
204
+ end
205
+ return data, status_code, headers
206
+ end
207
+
208
+ # List email components
209
+ # @param channel [String] Channel type (EMAIL, SMS, etc.)
210
+ # @param [Hash] opts the optional parameters
211
+ # @return [Array<GetEmailComponentsResponseInner>]
212
+ def components_list_components(channel, opts = {})
213
+ data, _status_code, _headers = components_list_components_with_http_info(channel, opts)
214
+ data
215
+ end
216
+
217
+ # List email components
218
+ # @param channel [String] Channel type (EMAIL, SMS, etc.)
219
+ # @param [Hash] opts the optional parameters
220
+ # @return [Array<(Array<GetEmailComponentsResponseInner>, Integer, Hash)>] Array<GetEmailComponentsResponseInner> data, response status code and response headers
221
+ def components_list_components_with_http_info(channel, opts = {})
222
+ if @api_client.config.debugging
223
+ @api_client.config.logger.debug 'Calling API: ComponentsApi.components_list_components ...'
224
+ end
225
+ # verify the required parameter 'channel' is set
226
+ if @api_client.config.client_side_validation && channel.nil?
227
+ fail ArgumentError, "Missing the required parameter 'channel' when calling ComponentsApi.components_list_components"
228
+ end
229
+ # resource path
230
+ local_var_path = '/components'.sub('{' + 'channel' + '}', CGI.escape(channel.to_s))
231
+
232
+ # query parameters
233
+ query_params = opts[:query_params] || {}
234
+
235
+ # header parameters
236
+ header_params = opts[:header_params] || {}
237
+ # HTTP header 'Accept' (if needed)
238
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
239
+
240
+ # form parameters
241
+ form_params = opts[:form_params] || {}
242
+
243
+ # http body (model)
244
+ post_body = opts[:debug_body]
245
+
246
+ # return_type
247
+ return_type = opts[:debug_return_type] || 'Array<GetEmailComponentsResponseInner>'
248
+
249
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
250
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
251
+
252
+ new_options = opts.merge(
253
+ :operation => :"ComponentsApi.components_list_components",
254
+ :header_params => header_params,
255
+ :query_params => query_params,
256
+ :form_params => form_params,
257
+ :body => post_body,
258
+ :auth_names => auth_names,
259
+ :return_type => return_type
260
+ )
261
+
262
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
263
+ if @api_client.config.debugging
264
+ @api_client.config.logger.debug "API called: ComponentsApi#components_list_components\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
265
+ end
266
+ return data, status_code, headers
267
+ end
268
+
269
+ # List all account components with the internal JSON parsed
270
+ # @param [Hash] opts the optional parameters
271
+ # @return [Array<Object>]
272
+ def components_list_components_parsed(opts = {})
273
+ data, _status_code, _headers = components_list_components_parsed_with_http_info(opts)
274
+ data
275
+ end
276
+
277
+ # List all account components with the internal JSON parsed
278
+ # @param [Hash] opts the optional parameters
279
+ # @return [Array<(Array<Object>, Integer, Hash)>] Array<Object> data, response status code and response headers
280
+ def components_list_components_parsed_with_http_info(opts = {})
281
+ if @api_client.config.debugging
282
+ @api_client.config.logger.debug 'Calling API: ComponentsApi.components_list_components_parsed ...'
283
+ end
284
+ # resource path
285
+ local_var_path = '/components/public'
286
+
287
+ # query parameters
288
+ query_params = opts[:query_params] || {}
289
+
290
+ # header parameters
291
+ header_params = opts[:header_params] || {}
292
+ # HTTP header 'Accept' (if needed)
293
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
294
+
295
+ # form parameters
296
+ form_params = opts[:form_params] || {}
297
+
298
+ # http body (model)
299
+ post_body = opts[:debug_body]
300
+
301
+ # return_type
302
+ return_type = opts[:debug_return_type] || 'Array<Object>'
303
+
304
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
305
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
306
+
307
+ new_options = opts.merge(
308
+ :operation => :"ComponentsApi.components_list_components_parsed",
309
+ :header_params => header_params,
310
+ :query_params => query_params,
311
+ :form_params => form_params,
312
+ :body => post_body,
313
+ :auth_names => auth_names,
314
+ :return_type => return_type
315
+ )
316
+
317
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
318
+ if @api_client.config.debugging
319
+ @api_client.config.logger.debug "API called: ComponentsApi#components_list_components_parsed\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
320
+ end
321
+ return data, status_code, headers
322
+ end
323
+
324
+ # Update a component's properties
325
+ # @param component_id [String] Component ID
326
+ # @param email_component_patch_request [EmailComponentPatchRequest]
327
+ # @param [Hash] opts the optional parameters
328
+ # @return [EmailComponentResponse]
329
+ def components_patch_component(component_id, email_component_patch_request, opts = {})
330
+ data, _status_code, _headers = components_patch_component_with_http_info(component_id, email_component_patch_request, opts)
331
+ data
332
+ end
333
+
334
+ # Update a component&#39;s properties
335
+ # @param component_id [String] Component ID
336
+ # @param email_component_patch_request [EmailComponentPatchRequest]
337
+ # @param [Hash] opts the optional parameters
338
+ # @return [Array<(EmailComponentResponse, Integer, Hash)>] EmailComponentResponse data, response status code and response headers
339
+ def components_patch_component_with_http_info(component_id, email_component_patch_request, opts = {})
340
+ if @api_client.config.debugging
341
+ @api_client.config.logger.debug 'Calling API: ComponentsApi.components_patch_component ...'
342
+ end
343
+ # verify the required parameter 'component_id' is set
344
+ if @api_client.config.client_side_validation && component_id.nil?
345
+ fail ArgumentError, "Missing the required parameter 'component_id' when calling ComponentsApi.components_patch_component"
346
+ end
347
+ # verify the required parameter 'email_component_patch_request' is set
348
+ if @api_client.config.client_side_validation && email_component_patch_request.nil?
349
+ fail ArgumentError, "Missing the required parameter 'email_component_patch_request' when calling ComponentsApi.components_patch_component"
350
+ end
351
+ # resource path
352
+ local_var_path = '/components/{componentId}'.sub('{' + 'componentId' + '}', CGI.escape(component_id.to_s))
353
+
354
+ # query parameters
355
+ query_params = opts[:query_params] || {}
356
+
357
+ # header parameters
358
+ header_params = opts[:header_params] || {}
359
+ # HTTP header 'Accept' (if needed)
360
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
361
+ # HTTP header 'Content-Type'
362
+ content_type = @api_client.select_header_content_type(['application/json'])
363
+ if !content_type.nil?
364
+ header_params['Content-Type'] = content_type
365
+ end
366
+
367
+ # form parameters
368
+ form_params = opts[:form_params] || {}
369
+
370
+ # http body (model)
371
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(email_component_patch_request)
372
+
373
+ # return_type
374
+ return_type = opts[:debug_return_type] || 'EmailComponentResponse'
375
+
376
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
377
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
378
+
379
+ new_options = opts.merge(
380
+ :operation => :"ComponentsApi.components_patch_component",
381
+ :header_params => header_params,
382
+ :query_params => query_params,
383
+ :form_params => form_params,
384
+ :body => post_body,
385
+ :auth_names => auth_names,
386
+ :return_type => return_type
387
+ )
388
+
389
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
390
+ if @api_client.config.debugging
391
+ @api_client.config.logger.debug "API called: ComponentsApi#components_patch_component\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
392
+ end
393
+ return data, status_code, headers
394
+ end
395
+ end
396
+ end
@@ -0,0 +1,88 @@
1
+ =begin
2
+ #NotificationAPI
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Pingram
16
+ class DefaultApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Send a notification
23
+ # @param sender_post_body [SenderPostBody]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [SenderPostResponse]
26
+ def call_send(sender_post_body, opts = {})
27
+ data, _status_code, _headers = call_send_with_http_info(sender_post_body, opts)
28
+ data
29
+ end
30
+
31
+ # Send a notification
32
+ # @param sender_post_body [SenderPostBody]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(SenderPostResponse, Integer, Hash)>] SenderPostResponse data, response status code and response headers
35
+ def call_send_with_http_info(sender_post_body, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: DefaultApi.call_send ...'
38
+ end
39
+ # verify the required parameter 'sender_post_body' is set
40
+ if @api_client.config.client_side_validation && sender_post_body.nil?
41
+ fail ArgumentError, "Missing the required parameter 'sender_post_body' when calling DefaultApi.call_send"
42
+ end
43
+ # resource path
44
+ local_var_path = '/send'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(sender_post_body)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'SenderPostResponse'
67
+
68
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
69
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"DefaultApi.call_send",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: DefaultApi#call_send\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+ end
88
+ end