late-sdk 0.0.875 → 0.0.877

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 (219) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +118 -3
  3. data/docs/AddBusinessAgentAllowlistEntryRequest.md +18 -0
  4. data/docs/BusinessAgentAllowlistEntry.md +20 -0
  5. data/docs/BusinessAgentApi.md +3949 -0
  6. data/docs/BusinessAgentApiKeyConfig.md +22 -0
  7. data/docs/BusinessAgentApiKeyParamsInner.md +22 -0
  8. data/docs/BusinessAgentBudget.md +24 -0
  9. data/docs/BusinessAgentBusinessInformation.md +28 -0
  10. data/docs/BusinessAgentBusinessInformationContactInfo.md +22 -0
  11. data/docs/BusinessAgentConnector.md +40 -0
  12. data/docs/BusinessAgentConnectorAllOfConnectionStatus.md +20 -0
  13. data/docs/BusinessAgentConnectorInput.md +32 -0
  14. data/docs/BusinessAgentConnectorInputAuthConfig.md +20 -0
  15. data/docs/BusinessAgentConnectorInputUserAuthInjectionConfig.md +22 -0
  16. data/docs/BusinessAgentConnectorTool.md +30 -0
  17. data/docs/BusinessAgentConnectorToolInput.md +28 -0
  18. data/docs/BusinessAgentEventStatus.md +28 -0
  19. data/docs/BusinessAgentFaq.md +26 -0
  20. data/docs/BusinessAgentFaqInput.md +22 -0
  21. data/docs/BusinessAgentKnowledgeFile.md +20 -0
  22. data/docs/BusinessAgentOAuthClientCredentials.md +26 -0
  23. data/docs/BusinessAgentSettings.md +30 -0
  24. data/docs/BusinessAgentSettingsFollowup.md +22 -0
  25. data/docs/BusinessAgentSettingsHandoff.md +22 -0
  26. data/docs/BusinessAgentSettingsRollout.md +18 -0
  27. data/docs/BusinessAgentSkill.md +30 -0
  28. data/docs/BusinessAgentSkillInput.md +22 -0
  29. data/docs/BusinessAgentStatus.md +32 -0
  30. data/docs/BusinessAgentStatusManualStepsInner.md +22 -0
  31. data/docs/BusinessAgentStatusUnverifiedStepsInner.md +22 -0
  32. data/docs/BusinessAgentTestMessageResponse.md +32 -0
  33. data/docs/BusinessAgentUiSkill.md +32 -0
  34. data/docs/BusinessAgentUiSkillInput.md +26 -0
  35. data/docs/BusinessAgentWebsite.md +40 -0
  36. data/docs/BusinessAgentWebsiteInput.md +28 -0
  37. data/docs/ConnectApi.md +1 -68
  38. data/docs/ConnectWhatsAppEmbeddedSignupRequest.md +4 -4
  39. data/docs/GetBusinessAgentBudget200Response.md +18 -0
  40. data/docs/GetBusinessAgentConnectorLogs200Response.md +20 -0
  41. data/docs/InlineObject.md +2 -2
  42. data/docs/InlineObject1.md +1 -1
  43. data/docs/InlineObject2.md +1 -5
  44. data/docs/InlineObject3.md +5 -11
  45. data/docs/InlineObject4.md +28 -0
  46. data/docs/{InlineObject3Details.md → InlineObject4Details.md} +2 -2
  47. data/docs/ListBusinessAgentAllowlist200Response.md +18 -0
  48. data/docs/ListBusinessAgentConnectorTools200Response.md +18 -0
  49. data/docs/ListBusinessAgentConnectors200Response.md +18 -0
  50. data/docs/ListBusinessAgentFaqs200Response.md +18 -0
  51. data/docs/ListBusinessAgentFiles200Response.md +18 -0
  52. data/docs/ListBusinessAgentSettings200Response.md +18 -0
  53. data/docs/ListBusinessAgentSkills200Response.md +18 -0
  54. data/docs/ListBusinessAgentUiSkills200Response.md +20 -0
  55. data/docs/ListBusinessAgentWebsites200Response.md +18 -0
  56. data/docs/MessagesApi.md +1 -1
  57. data/docs/OnboardBusinessAgent201Response.md +18 -0
  58. data/docs/RunBusinessAgentConnectorTool200Response.md +20 -0
  59. data/docs/RunBusinessAgentConnectorToolRequest.md +18 -0
  60. data/docs/SendBusinessAgentEvent202Response.md +20 -0
  61. data/docs/SendBusinessAgentEventRequest.md +24 -0
  62. data/docs/SendBusinessAgentTestMessageRequest.md +20 -0
  63. data/docs/SetBusinessAgentConnectorCredentialsRequest.md +51 -0
  64. data/docs/SetBusinessAgentConnectorCredentialsRequestOneOf.md +20 -0
  65. data/docs/SetBusinessAgentConnectorCredentialsRequestOneOf1.md +20 -0
  66. data/docs/SetBusinessAgentConnectorCredentialsRequestOneOf2.md +24 -0
  67. data/docs/StartBusinessAgentEvalRun202Response.md +20 -0
  68. data/docs/StartBusinessAgentEvalRunRequest.md +18 -0
  69. data/docs/UpdateBusinessAgentSettingsRequest.md +26 -0
  70. data/docs/UpdateBusinessAgentSettingsRequestFollowup.md +22 -0
  71. data/docs/UpdateBusinessAgentSettingsRequestHandoff.md +22 -0
  72. data/docs/UpdateBusinessAgentSettingsRequestRollout.md +18 -0
  73. data/docs/UploadBusinessAgentFileRequest.md +20 -0
  74. data/lib/zernio-sdk/api/business_agent_api.rb +3934 -0
  75. data/lib/zernio-sdk/api/connect_api.rb +2 -59
  76. data/lib/zernio-sdk/api/messages_api.rb +2 -2
  77. data/lib/zernio-sdk/models/add_business_agent_allowlist_entry_request.rb +164 -0
  78. data/lib/zernio-sdk/models/business_agent_allowlist_entry.rb +174 -0
  79. data/lib/zernio-sdk/models/business_agent_api_key_config.rb +172 -0
  80. data/lib/zernio-sdk/models/business_agent_api_key_params_inner.rb +199 -0
  81. data/lib/zernio-sdk/models/business_agent_budget.rb +263 -0
  82. data/lib/zernio-sdk/models/business_agent_business_information.rb +193 -0
  83. data/lib/zernio-sdk/models/business_agent_business_information_contact_info.rb +165 -0
  84. data/lib/zernio-sdk/models/business_agent_connector.rb +352 -0
  85. data/lib/zernio-sdk/models/business_agent_connector_all_of_connection_status.rb +157 -0
  86. data/lib/zernio-sdk/models/business_agent_connector_input.rb +288 -0
  87. data/lib/zernio-sdk/models/business_agent_connector_input_auth_config.rb +156 -0
  88. data/lib/zernio-sdk/models/business_agent_connector_input_user_auth_injection_config.rb +199 -0
  89. data/lib/zernio-sdk/models/business_agent_connector_tool.rb +284 -0
  90. data/lib/zernio-sdk/models/business_agent_connector_tool_input.rb +251 -0
  91. data/lib/zernio-sdk/models/business_agent_event_status.rb +284 -0
  92. data/lib/zernio-sdk/models/business_agent_faq.rb +264 -0
  93. data/lib/zernio-sdk/models/business_agent_faq_input.rb +221 -0
  94. data/lib/zernio-sdk/models/business_agent_knowledge_file.rb +190 -0
  95. data/lib/zernio-sdk/models/business_agent_o_auth_client_credentials.rb +236 -0
  96. data/lib/zernio-sdk/models/business_agent_settings.rb +292 -0
  97. data/lib/zernio-sdk/models/business_agent_settings_followup.rb +199 -0
  98. data/lib/zernio-sdk/models/business_agent_settings_handoff.rb +200 -0
  99. data/lib/zernio-sdk/models/business_agent_settings_rollout.rb +165 -0
  100. data/lib/zernio-sdk/models/business_agent_skill.rb +339 -0
  101. data/lib/zernio-sdk/models/business_agent_skill_input.rb +243 -0
  102. data/lib/zernio-sdk/models/business_agent_status.rb +315 -0
  103. data/lib/zernio-sdk/models/business_agent_status_manual_steps_inner.rb +240 -0
  104. data/lib/zernio-sdk/models/business_agent_status_unverified_steps_inner.rb +240 -0
  105. data/lib/zernio-sdk/models/business_agent_test_message_response.rb +267 -0
  106. data/lib/zernio-sdk/models/business_agent_ui_skill.rb +315 -0
  107. data/lib/zernio-sdk/models/business_agent_ui_skill_input.rb +262 -0
  108. data/lib/zernio-sdk/models/business_agent_website.rb +302 -0
  109. data/lib/zernio-sdk/models/business_agent_website_input.rb +221 -0
  110. data/lib/zernio-sdk/models/connect_whats_app_embedded_signup_request.rb +3 -4
  111. data/lib/zernio-sdk/models/get_business_agent_budget200_response.rb +166 -0
  112. data/lib/zernio-sdk/models/get_business_agent_connector_logs200_response.rb +160 -0
  113. data/lib/zernio-sdk/models/inline_object.rb +24 -7
  114. data/lib/zernio-sdk/models/inline_object2.rb +4 -69
  115. data/lib/zernio-sdk/models/inline_object3.rb +18 -80
  116. data/lib/zernio-sdk/models/inline_object4.rb +274 -0
  117. data/lib/zernio-sdk/models/{inline_object3_details.rb → inline_object4_details.rb} +3 -3
  118. data/lib/zernio-sdk/models/list_business_agent_allowlist200_response.rb +166 -0
  119. data/lib/zernio-sdk/models/list_business_agent_connector_tools200_response.rb +166 -0
  120. data/lib/zernio-sdk/models/list_business_agent_connectors200_response.rb +166 -0
  121. data/lib/zernio-sdk/models/list_business_agent_faqs200_response.rb +166 -0
  122. data/lib/zernio-sdk/models/list_business_agent_files200_response.rb +166 -0
  123. data/lib/zernio-sdk/models/list_business_agent_settings200_response.rb +166 -0
  124. data/lib/zernio-sdk/models/list_business_agent_skills200_response.rb +166 -0
  125. data/lib/zernio-sdk/models/list_business_agent_ui_skills200_response.rb +177 -0
  126. data/lib/zernio-sdk/models/list_business_agent_websites200_response.rb +166 -0
  127. data/lib/zernio-sdk/models/onboard_business_agent201_response.rb +164 -0
  128. data/lib/zernio-sdk/models/run_business_agent_connector_tool200_response.rb +156 -0
  129. data/lib/zernio-sdk/models/run_business_agent_connector_tool_request.rb +165 -0
  130. data/lib/zernio-sdk/models/send_business_agent_event202_response.rb +173 -0
  131. data/lib/zernio-sdk/models/send_business_agent_event_request.rb +271 -0
  132. data/lib/zernio-sdk/models/send_business_agent_test_message_request.rb +182 -0
  133. data/lib/zernio-sdk/models/set_business_agent_connector_credentials_request.rb +105 -0
  134. data/lib/zernio-sdk/models/set_business_agent_connector_credentials_request_one_of.rb +214 -0
  135. data/lib/zernio-sdk/models/set_business_agent_connector_credentials_request_one_of1.rb +214 -0
  136. data/lib/zernio-sdk/models/set_business_agent_connector_credentials_request_one_of2.rb +252 -0
  137. data/lib/zernio-sdk/models/{get_whats_app_sdk_config200_response.rb → start_business_agent_eval_run202_response.rb} +34 -63
  138. data/lib/zernio-sdk/models/start_business_agent_eval_run_request.rb +184 -0
  139. data/lib/zernio-sdk/models/update_business_agent_settings_request.rb +220 -0
  140. data/lib/zernio-sdk/models/update_business_agent_settings_request_followup.rb +235 -0
  141. data/lib/zernio-sdk/models/update_business_agent_settings_request_handoff.rb +235 -0
  142. data/lib/zernio-sdk/models/update_business_agent_settings_request_rollout.rb +164 -0
  143. data/lib/zernio-sdk/models/upload_business_agent_file_request.rb +175 -0
  144. data/lib/zernio-sdk/version.rb +1 -1
  145. data/lib/zernio-sdk.rb +64 -2
  146. data/openapi.yaml +1718 -55
  147. data/spec/api/business_agent_api_spec.rb +736 -0
  148. data/spec/api/connect_api_spec.rb +1 -12
  149. data/spec/api/messages_api_spec.rb +1 -1
  150. data/spec/models/add_business_agent_allowlist_entry_request_spec.rb +36 -0
  151. data/spec/models/business_agent_allowlist_entry_spec.rb +42 -0
  152. data/spec/models/{get_whats_app_sdk_config200_response_spec.rb → business_agent_api_key_config_spec.rb} +9 -9
  153. data/spec/models/business_agent_api_key_params_inner_spec.rb +48 -0
  154. data/spec/models/business_agent_budget_spec.rb +62 -0
  155. data/spec/models/business_agent_business_information_contact_info_spec.rb +48 -0
  156. data/spec/models/business_agent_business_information_spec.rb +66 -0
  157. data/spec/models/business_agent_connector_all_of_connection_status_spec.rb +42 -0
  158. data/spec/models/business_agent_connector_input_auth_config_spec.rb +42 -0
  159. data/spec/models/business_agent_connector_input_spec.rb +82 -0
  160. data/spec/models/business_agent_connector_input_user_auth_injection_config_spec.rb +48 -0
  161. data/spec/models/business_agent_connector_spec.rb +106 -0
  162. data/spec/models/business_agent_connector_tool_input_spec.rb +66 -0
  163. data/spec/models/business_agent_connector_tool_spec.rb +72 -0
  164. data/spec/models/business_agent_event_status_spec.rb +70 -0
  165. data/spec/models/business_agent_faq_input_spec.rb +48 -0
  166. data/spec/models/business_agent_faq_spec.rb +60 -0
  167. data/spec/models/business_agent_knowledge_file_spec.rb +42 -0
  168. data/spec/models/business_agent_o_auth_client_credentials_spec.rb +60 -0
  169. data/spec/models/business_agent_settings_followup_spec.rb +52 -0
  170. data/spec/models/business_agent_settings_handoff_spec.rb +52 -0
  171. data/spec/models/business_agent_settings_rollout_spec.rb +36 -0
  172. data/spec/models/business_agent_settings_spec.rb +76 -0
  173. data/spec/models/business_agent_skill_input_spec.rb +48 -0
  174. data/spec/models/business_agent_skill_spec.rb +76 -0
  175. data/spec/models/business_agent_status_manual_steps_inner_spec.rb +52 -0
  176. data/spec/models/business_agent_status_spec.rb +78 -0
  177. data/spec/models/business_agent_status_unverified_steps_inner_spec.rb +52 -0
  178. data/spec/models/business_agent_test_message_response_spec.rb +78 -0
  179. data/spec/models/business_agent_ui_skill_input_spec.rb +68 -0
  180. data/spec/models/business_agent_ui_skill_spec.rb +86 -0
  181. data/spec/models/business_agent_website_input_spec.rb +66 -0
  182. data/spec/models/business_agent_website_spec.rb +102 -0
  183. data/spec/models/get_business_agent_budget200_response_spec.rb +36 -0
  184. data/spec/models/get_business_agent_connector_logs200_response_spec.rb +42 -0
  185. data/spec/models/inline_object2_spec.rb +0 -20
  186. data/spec/models/inline_object3_spec.rb +4 -22
  187. data/spec/models/{inline_object3_details_spec.rb → inline_object4_details_spec.rb} +6 -6
  188. data/spec/models/inline_object4_spec.rb +74 -0
  189. data/spec/models/inline_object_spec.rb +1 -1
  190. data/spec/models/list_business_agent_allowlist200_response_spec.rb +36 -0
  191. data/spec/models/list_business_agent_connector_tools200_response_spec.rb +36 -0
  192. data/spec/models/list_business_agent_connectors200_response_spec.rb +36 -0
  193. data/spec/models/list_business_agent_faqs200_response_spec.rb +36 -0
  194. data/spec/models/list_business_agent_files200_response_spec.rb +36 -0
  195. data/spec/models/list_business_agent_settings200_response_spec.rb +36 -0
  196. data/spec/models/list_business_agent_skills200_response_spec.rb +36 -0
  197. data/spec/models/list_business_agent_ui_skills200_response_spec.rb +42 -0
  198. data/spec/models/list_business_agent_websites200_response_spec.rb +36 -0
  199. data/spec/models/onboard_business_agent201_response_spec.rb +36 -0
  200. data/spec/models/run_business_agent_connector_tool200_response_spec.rb +42 -0
  201. data/spec/models/run_business_agent_connector_tool_request_spec.rb +36 -0
  202. data/spec/models/send_business_agent_event202_response_spec.rb +42 -0
  203. data/spec/models/send_business_agent_event_request_spec.rb +54 -0
  204. data/spec/models/send_business_agent_test_message_request_spec.rb +42 -0
  205. data/spec/models/set_business_agent_connector_credentials_request_one_of1_spec.rb +46 -0
  206. data/spec/models/set_business_agent_connector_credentials_request_one_of2_spec.rb +58 -0
  207. data/spec/models/set_business_agent_connector_credentials_request_one_of_spec.rb +46 -0
  208. data/spec/models/set_business_agent_connector_credentials_request_spec.rb +32 -0
  209. data/spec/models/start_business_agent_eval_run202_response_spec.rb +42 -0
  210. data/spec/models/start_business_agent_eval_run_request_spec.rb +36 -0
  211. data/spec/models/update_business_agent_settings_request_followup_spec.rb +52 -0
  212. data/spec/models/update_business_agent_settings_request_handoff_spec.rb +52 -0
  213. data/spec/models/update_business_agent_settings_request_rollout_spec.rb +36 -0
  214. data/spec/models/update_business_agent_settings_request_spec.rb +64 -0
  215. data/spec/models/upload_business_agent_file_request_spec.rb +42 -0
  216. data/zernio-sdk-0.0.877.gem +0 -0
  217. metadata +258 -10
  218. data/docs/GetWhatsAppSdkConfig200Response.md +0 -22
  219. data/zernio-sdk-0.0.875.gem +0 -0
@@ -0,0 +1,267 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ class BusinessAgentTestMessageResponse < ApiModelBase
18
+ attr_accessor :message_id
19
+
20
+ attr_accessor :agent_response
21
+
22
+ # Pass it back as conversationId to continue the thread.
23
+ attr_accessor :conversation_id
24
+
25
+ # Unix seconds.
26
+ attr_accessor :timestamp
27
+
28
+ attr_accessor :handoff_reason
29
+
30
+ attr_accessor :no_response_reason
31
+
32
+ attr_accessor :quick_replies
33
+
34
+ attr_accessor :product_variant_ids
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ :'message_id' => :'message_id',
40
+ :'agent_response' => :'agent_response',
41
+ :'conversation_id' => :'conversation_id',
42
+ :'timestamp' => :'timestamp',
43
+ :'handoff_reason' => :'handoff_reason',
44
+ :'no_response_reason' => :'no_response_reason',
45
+ :'quick_replies' => :'quick_replies',
46
+ :'product_variant_ids' => :'product_variant_ids'
47
+ }
48
+ end
49
+
50
+ # Returns attribute mapping this model knows about
51
+ def self.acceptable_attribute_map
52
+ attribute_map
53
+ end
54
+
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ acceptable_attribute_map.values
58
+ end
59
+
60
+ # Attribute type mapping.
61
+ def self.openapi_types
62
+ {
63
+ :'message_id' => :'String',
64
+ :'agent_response' => :'String',
65
+ :'conversation_id' => :'String',
66
+ :'timestamp' => :'Integer',
67
+ :'handoff_reason' => :'String',
68
+ :'no_response_reason' => :'String',
69
+ :'quick_replies' => :'Array<String>',
70
+ :'product_variant_ids' => :'Array<String>'
71
+ }
72
+ end
73
+
74
+ # List of attributes with nullable: true
75
+ def self.openapi_nullable
76
+ Set.new([
77
+ ])
78
+ end
79
+
80
+ # Initializes the object
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ def initialize(attributes = {})
83
+ if (!attributes.is_a?(Hash))
84
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::BusinessAgentTestMessageResponse` initialize method"
85
+ end
86
+
87
+ # check to see if the attribute exists and convert string to symbol for hash key
88
+ acceptable_attribute_map = self.class.acceptable_attribute_map
89
+ attributes = attributes.each_with_object({}) { |(k, v), h|
90
+ if (!acceptable_attribute_map.key?(k.to_sym))
91
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::BusinessAgentTestMessageResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
92
+ end
93
+ h[k.to_sym] = v
94
+ }
95
+
96
+ if attributes.key?(:'message_id')
97
+ self.message_id = attributes[:'message_id']
98
+ else
99
+ self.message_id = nil
100
+ end
101
+
102
+ if attributes.key?(:'agent_response')
103
+ self.agent_response = attributes[:'agent_response']
104
+ else
105
+ self.agent_response = nil
106
+ end
107
+
108
+ if attributes.key?(:'conversation_id')
109
+ self.conversation_id = attributes[:'conversation_id']
110
+ else
111
+ self.conversation_id = nil
112
+ end
113
+
114
+ if attributes.key?(:'timestamp')
115
+ self.timestamp = attributes[:'timestamp']
116
+ end
117
+
118
+ if attributes.key?(:'handoff_reason')
119
+ self.handoff_reason = attributes[:'handoff_reason']
120
+ end
121
+
122
+ if attributes.key?(:'no_response_reason')
123
+ self.no_response_reason = attributes[:'no_response_reason']
124
+ end
125
+
126
+ if attributes.key?(:'quick_replies')
127
+ if (value = attributes[:'quick_replies']).is_a?(Array)
128
+ self.quick_replies = value
129
+ end
130
+ end
131
+
132
+ if attributes.key?(:'product_variant_ids')
133
+ if (value = attributes[:'product_variant_ids']).is_a?(Array)
134
+ self.product_variant_ids = value
135
+ end
136
+ end
137
+ end
138
+
139
+ # Show invalid properties with the reasons. Usually used together with valid?
140
+ # @return Array for valid properties with the reasons
141
+ def list_invalid_properties
142
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
143
+ invalid_properties = Array.new
144
+ if @message_id.nil?
145
+ invalid_properties.push('invalid value for "message_id", message_id cannot be nil.')
146
+ end
147
+
148
+ if @agent_response.nil?
149
+ invalid_properties.push('invalid value for "agent_response", agent_response cannot be nil.')
150
+ end
151
+
152
+ if @conversation_id.nil?
153
+ invalid_properties.push('invalid value for "conversation_id", conversation_id cannot be nil.')
154
+ end
155
+
156
+ invalid_properties
157
+ end
158
+
159
+ # Check to see if the all the properties in the model are valid
160
+ # @return true if the model is valid
161
+ def valid?
162
+ warn '[DEPRECATED] the `valid?` method is obsolete'
163
+ return false if @message_id.nil?
164
+ return false if @agent_response.nil?
165
+ return false if @conversation_id.nil?
166
+ true
167
+ end
168
+
169
+ # Custom attribute writer method with validation
170
+ # @param [Object] message_id Value to be assigned
171
+ def message_id=(message_id)
172
+ if message_id.nil?
173
+ fail ArgumentError, 'message_id cannot be nil'
174
+ end
175
+
176
+ @message_id = message_id
177
+ end
178
+
179
+ # Custom attribute writer method with validation
180
+ # @param [Object] agent_response Value to be assigned
181
+ def agent_response=(agent_response)
182
+ if agent_response.nil?
183
+ fail ArgumentError, 'agent_response cannot be nil'
184
+ end
185
+
186
+ @agent_response = agent_response
187
+ end
188
+
189
+ # Custom attribute writer method with validation
190
+ # @param [Object] conversation_id Value to be assigned
191
+ def conversation_id=(conversation_id)
192
+ if conversation_id.nil?
193
+ fail ArgumentError, 'conversation_id cannot be nil'
194
+ end
195
+
196
+ @conversation_id = conversation_id
197
+ end
198
+
199
+ # Checks equality by comparing each attribute.
200
+ # @param [Object] Object to be compared
201
+ def ==(o)
202
+ return true if self.equal?(o)
203
+ self.class == o.class &&
204
+ message_id == o.message_id &&
205
+ agent_response == o.agent_response &&
206
+ conversation_id == o.conversation_id &&
207
+ timestamp == o.timestamp &&
208
+ handoff_reason == o.handoff_reason &&
209
+ no_response_reason == o.no_response_reason &&
210
+ quick_replies == o.quick_replies &&
211
+ product_variant_ids == o.product_variant_ids
212
+ end
213
+
214
+ # @see the `==` method
215
+ # @param [Object] Object to be compared
216
+ def eql?(o)
217
+ self == o
218
+ end
219
+
220
+ # Calculates hash code according to all attributes.
221
+ # @return [Integer] Hash code
222
+ def hash
223
+ [message_id, agent_response, conversation_id, timestamp, handoff_reason, no_response_reason, quick_replies, product_variant_ids].hash
224
+ end
225
+
226
+ # Builds the object from hash
227
+ # @param [Hash] attributes Model attributes in the form of hash
228
+ # @return [Object] Returns the model itself
229
+ def self.build_from_hash(attributes)
230
+ return nil unless attributes.is_a?(Hash)
231
+ attributes = attributes.transform_keys(&:to_sym)
232
+ transformed_hash = {}
233
+ openapi_types.each_pair do |key, type|
234
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
235
+ transformed_hash["#{key}"] = nil
236
+ elsif type =~ /\AArray<(.*)>/i
237
+ # check to ensure the input is an array given that the attribute
238
+ # is documented as an array but the input is not
239
+ if attributes[attribute_map[key]].is_a?(Array)
240
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
241
+ end
242
+ elsif !attributes[attribute_map[key]].nil?
243
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
244
+ end
245
+ end
246
+ new(transformed_hash)
247
+ end
248
+
249
+ # Returns the object in the form of hash
250
+ # @return [Hash] Returns the object in the form of hash
251
+ def to_hash
252
+ hash = {}
253
+ self.class.attribute_map.each_pair do |attr, param|
254
+ value = self.send(attr)
255
+ if value.nil?
256
+ is_nullable = self.class.openapi_nullable.include?(attr)
257
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
258
+ end
259
+
260
+ hash[param] = _to_hash(value)
261
+ end
262
+ hash
263
+ end
264
+
265
+ end
266
+
267
+ end
@@ -0,0 +1,315 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ class BusinessAgentUiSkill < ApiModelBase
18
+ attr_accessor :title
19
+
20
+ attr_accessor :component_type
21
+
22
+ attr_accessor :status
23
+
24
+ # When to send the component and everything needed to fill its fields.
25
+ attr_accessor :instruction
26
+
27
+ # Required for component_type flow, rejected otherwise.
28
+ attr_accessor :flow_id
29
+
30
+ attr_accessor :id
31
+
32
+ # Unix seconds.
33
+ attr_accessor :created_at
34
+
35
+ # Unix seconds.
36
+ attr_accessor :updated_at
37
+
38
+ class EnumAttributeValidator
39
+ attr_reader :datatype
40
+ attr_reader :allowable_values
41
+
42
+ def initialize(datatype, allowable_values)
43
+ @allowable_values = allowable_values.map do |value|
44
+ case datatype.to_s
45
+ when /Integer/i
46
+ value.to_i
47
+ when /Float/i
48
+ value.to_f
49
+ else
50
+ value
51
+ end
52
+ end
53
+ end
54
+
55
+ def valid?(value)
56
+ !value || allowable_values.include?(value)
57
+ end
58
+ end
59
+
60
+ # Attribute mapping from ruby-style variable name to JSON key.
61
+ def self.attribute_map
62
+ {
63
+ :'title' => :'title',
64
+ :'component_type' => :'component_type',
65
+ :'status' => :'status',
66
+ :'instruction' => :'instruction',
67
+ :'flow_id' => :'flow_id',
68
+ :'id' => :'id',
69
+ :'created_at' => :'created_at',
70
+ :'updated_at' => :'updated_at'
71
+ }
72
+ end
73
+
74
+ # Returns attribute mapping this model knows about
75
+ def self.acceptable_attribute_map
76
+ attribute_map
77
+ end
78
+
79
+ # Returns all the JSON keys this model knows about
80
+ def self.acceptable_attributes
81
+ acceptable_attribute_map.values
82
+ end
83
+
84
+ # Attribute type mapping.
85
+ def self.openapi_types
86
+ {
87
+ :'title' => :'String',
88
+ :'component_type' => :'String',
89
+ :'status' => :'String',
90
+ :'instruction' => :'String',
91
+ :'flow_id' => :'Integer',
92
+ :'id' => :'String',
93
+ :'created_at' => :'Integer',
94
+ :'updated_at' => :'Integer'
95
+ }
96
+ end
97
+
98
+ # List of attributes with nullable: true
99
+ def self.openapi_nullable
100
+ Set.new([
101
+ ])
102
+ end
103
+
104
+ # List of class defined in allOf (OpenAPI v3)
105
+ def self.openapi_all_of
106
+ [
107
+ :'BusinessAgentUiSkillInput'
108
+ ]
109
+ end
110
+
111
+ # Initializes the object
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ def initialize(attributes = {})
114
+ if (!attributes.is_a?(Hash))
115
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::BusinessAgentUiSkill` initialize method"
116
+ end
117
+
118
+ # check to see if the attribute exists and convert string to symbol for hash key
119
+ acceptable_attribute_map = self.class.acceptable_attribute_map
120
+ attributes = attributes.each_with_object({}) { |(k, v), h|
121
+ if (!acceptable_attribute_map.key?(k.to_sym))
122
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::BusinessAgentUiSkill`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
123
+ end
124
+ h[k.to_sym] = v
125
+ }
126
+
127
+ if attributes.key?(:'title')
128
+ self.title = attributes[:'title']
129
+ end
130
+
131
+ if attributes.key?(:'component_type')
132
+ self.component_type = attributes[:'component_type']
133
+ else
134
+ self.component_type = nil
135
+ end
136
+
137
+ if attributes.key?(:'status')
138
+ self.status = attributes[:'status']
139
+ else
140
+ self.status = nil
141
+ end
142
+
143
+ if attributes.key?(:'instruction')
144
+ self.instruction = attributes[:'instruction']
145
+ else
146
+ self.instruction = nil
147
+ end
148
+
149
+ if attributes.key?(:'flow_id')
150
+ self.flow_id = attributes[:'flow_id']
151
+ end
152
+
153
+ if attributes.key?(:'id')
154
+ self.id = attributes[:'id']
155
+ else
156
+ self.id = nil
157
+ end
158
+
159
+ if attributes.key?(:'created_at')
160
+ self.created_at = attributes[:'created_at']
161
+ end
162
+
163
+ if attributes.key?(:'updated_at')
164
+ self.updated_at = attributes[:'updated_at']
165
+ end
166
+ end
167
+
168
+ # Show invalid properties with the reasons. Usually used together with valid?
169
+ # @return Array for valid properties with the reasons
170
+ def list_invalid_properties
171
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
172
+ invalid_properties = Array.new
173
+ if @component_type.nil?
174
+ invalid_properties.push('invalid value for "component_type", component_type cannot be nil.')
175
+ end
176
+
177
+ if @status.nil?
178
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
179
+ end
180
+
181
+ if @instruction.nil?
182
+ invalid_properties.push('invalid value for "instruction", instruction cannot be nil.')
183
+ end
184
+
185
+ if @id.nil?
186
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
187
+ end
188
+
189
+ invalid_properties
190
+ end
191
+
192
+ # Check to see if the all the properties in the model are valid
193
+ # @return true if the model is valid
194
+ def valid?
195
+ warn '[DEPRECATED] the `valid?` method is obsolete'
196
+ return false if @component_type.nil?
197
+ component_type_validator = EnumAttributeValidator.new('String', ["carousel_quick_reply", "carousel_url", "cta_url", "flow", "image", "interactive_list", "interactive_reply_buttons", "location", "location_request"])
198
+ return false unless component_type_validator.valid?(@component_type)
199
+ return false if @status.nil?
200
+ status_validator = EnumAttributeValidator.new('String', ["enabled", "disabled"])
201
+ return false unless status_validator.valid?(@status)
202
+ return false if @instruction.nil?
203
+ return false if @id.nil?
204
+ true
205
+ end
206
+
207
+ # Custom attribute writer method checking allowed values (enum).
208
+ # @param [Object] component_type Object to be assigned
209
+ def component_type=(component_type)
210
+ validator = EnumAttributeValidator.new('String', ["carousel_quick_reply", "carousel_url", "cta_url", "flow", "image", "interactive_list", "interactive_reply_buttons", "location", "location_request"])
211
+ unless validator.valid?(component_type)
212
+ fail ArgumentError, "invalid value for \"component_type\", must be one of #{validator.allowable_values}."
213
+ end
214
+ @component_type = component_type
215
+ end
216
+
217
+ # Custom attribute writer method checking allowed values (enum).
218
+ # @param [Object] status Object to be assigned
219
+ def status=(status)
220
+ validator = EnumAttributeValidator.new('String', ["enabled", "disabled"])
221
+ unless validator.valid?(status)
222
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
223
+ end
224
+ @status = status
225
+ end
226
+
227
+ # Custom attribute writer method with validation
228
+ # @param [Object] instruction Value to be assigned
229
+ def instruction=(instruction)
230
+ if instruction.nil?
231
+ fail ArgumentError, 'instruction cannot be nil'
232
+ end
233
+
234
+ @instruction = instruction
235
+ end
236
+
237
+ # Custom attribute writer method with validation
238
+ # @param [Object] id Value to be assigned
239
+ def id=(id)
240
+ if id.nil?
241
+ fail ArgumentError, 'id cannot be nil'
242
+ end
243
+
244
+ @id = id
245
+ end
246
+
247
+ # Checks equality by comparing each attribute.
248
+ # @param [Object] Object to be compared
249
+ def ==(o)
250
+ return true if self.equal?(o)
251
+ self.class == o.class &&
252
+ title == o.title &&
253
+ component_type == o.component_type &&
254
+ status == o.status &&
255
+ instruction == o.instruction &&
256
+ flow_id == o.flow_id &&
257
+ id == o.id &&
258
+ created_at == o.created_at &&
259
+ updated_at == o.updated_at
260
+ end
261
+
262
+ # @see the `==` method
263
+ # @param [Object] Object to be compared
264
+ def eql?(o)
265
+ self == o
266
+ end
267
+
268
+ # Calculates hash code according to all attributes.
269
+ # @return [Integer] Hash code
270
+ def hash
271
+ [title, component_type, status, instruction, flow_id, id, created_at, updated_at].hash
272
+ end
273
+
274
+ # Builds the object from hash
275
+ # @param [Hash] attributes Model attributes in the form of hash
276
+ # @return [Object] Returns the model itself
277
+ def self.build_from_hash(attributes)
278
+ return nil unless attributes.is_a?(Hash)
279
+ attributes = attributes.transform_keys(&:to_sym)
280
+ transformed_hash = {}
281
+ openapi_types.each_pair do |key, type|
282
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
283
+ transformed_hash["#{key}"] = nil
284
+ elsif type =~ /\AArray<(.*)>/i
285
+ # check to ensure the input is an array given that the attribute
286
+ # is documented as an array but the input is not
287
+ if attributes[attribute_map[key]].is_a?(Array)
288
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
289
+ end
290
+ elsif !attributes[attribute_map[key]].nil?
291
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
292
+ end
293
+ end
294
+ new(transformed_hash)
295
+ end
296
+
297
+ # Returns the object in the form of hash
298
+ # @return [Hash] Returns the object in the form of hash
299
+ def to_hash
300
+ hash = {}
301
+ self.class.attribute_map.each_pair do |attr, param|
302
+ value = self.send(attr)
303
+ if value.nil?
304
+ is_nullable = self.class.openapi_nullable.include?(attr)
305
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
306
+ end
307
+
308
+ hash[param] = _to_hash(value)
309
+ end
310
+ hash
311
+ end
312
+
313
+ end
314
+
315
+ end