sunshine-conversations-client 9.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG_RB.md +12 -0
  3. data/Gemfile +9 -0
  4. data/LICENSE +176 -0
  5. data/README.md +456 -0
  6. data/Rakefile +10 -0
  7. data/docs/AcceptControlBody.md +17 -0
  8. data/docs/Action.md +41 -0
  9. data/docs/ActionSubset.md +39 -0
  10. data/docs/ActivitiesApi.md +71 -0
  11. data/docs/Activity.md +21 -0
  12. data/docs/ActivityAllOf.md +19 -0
  13. data/docs/ActivityPost.md +19 -0
  14. data/docs/ActivityPostAllOf.md +17 -0
  15. data/docs/ActivityTypes.md +17 -0
  16. data/docs/Android.md +23 -0
  17. data/docs/AndroidAllOf.md +23 -0
  18. data/docs/AndroidUpdate.md +23 -0
  19. data/docs/AndroidUpdateAllOf.md +21 -0
  20. data/docs/ApiKey.md +21 -0
  21. data/docs/App.md +23 -0
  22. data/docs/AppCreateBody.md +21 -0
  23. data/docs/AppKey.md +21 -0
  24. data/docs/AppKeyCreateBody.md +17 -0
  25. data/docs/AppKeyListResponse.md +17 -0
  26. data/docs/AppKeyResponse.md +17 -0
  27. data/docs/AppKeysApi.md +250 -0
  28. data/docs/AppListFilter.md +17 -0
  29. data/docs/AppListResponse.md +21 -0
  30. data/docs/AppResponse.md +17 -0
  31. data/docs/AppSettings.md +31 -0
  32. data/docs/AppSubSchema.md +17 -0
  33. data/docs/AppUpdateBody.md +21 -0
  34. data/docs/Apple.md +23 -0
  35. data/docs/AppleAllOf.md +23 -0
  36. data/docs/AppleUpdate.md +16 -0
  37. data/docs/AppsApi.md +309 -0
  38. data/docs/AttachmentDeleteBody.md +17 -0
  39. data/docs/AttachmentMediaTokenBody.md +17 -0
  40. data/docs/AttachmentMediaTokenResponse.md +17 -0
  41. data/docs/AttachmentResponse.md +17 -0
  42. data/docs/AttachmentSchema.md +19 -0
  43. data/docs/AttachmentUploadBody.md +17 -0
  44. data/docs/AttachmentsApi.md +254 -0
  45. data/docs/Author.md +25 -0
  46. data/docs/AuthorWebhook.md +21 -0
  47. data/docs/Buy.md +25 -0
  48. data/docs/CarouselMessage.md +23 -0
  49. data/docs/CarouselMessageDisplaySettings.md +17 -0
  50. data/docs/Client.md +37 -0
  51. data/docs/ClientAssociation.md +19 -0
  52. data/docs/ClientCreate.md +21 -0
  53. data/docs/ClientListResponse.md +21 -0
  54. data/docs/ClientResponse.md +17 -0
  55. data/docs/ClientType.md +16 -0
  56. data/docs/ClientsApi.md +199 -0
  57. data/docs/Confirmation.md +19 -0
  58. data/docs/Content.md +41 -0
  59. data/docs/Conversation.md +37 -0
  60. data/docs/ConversationAllOf.md +29 -0
  61. data/docs/ConversationCreateBody.md +27 -0
  62. data/docs/ConversationCreateEvent.md +23 -0
  63. data/docs/ConversationCreateEventAllOf.md +17 -0
  64. data/docs/ConversationCreateEventAllOfPayload.md +25 -0
  65. data/docs/ConversationListFilter.md +19 -0
  66. data/docs/ConversationListResponse.md +21 -0
  67. data/docs/ConversationMessageDeliveryChannelEvent.md +23 -0
  68. data/docs/ConversationMessageDeliveryChannelEventAllOf.md +17 -0
  69. data/docs/ConversationMessageDeliveryFailureEvent.md +23 -0
  70. data/docs/ConversationMessageDeliveryFailureEventAllOf.md +17 -0
  71. data/docs/ConversationMessageDeliveryPayload.md +27 -0
  72. data/docs/ConversationMessageDeliveryPayloadDestination.md +19 -0
  73. data/docs/ConversationMessageDeliveryPayloadExternalMessages.md +17 -0
  74. data/docs/ConversationMessageDeliveryPayloadMessage.md +17 -0
  75. data/docs/ConversationMessageDeliveryUserEvent.md +23 -0
  76. data/docs/ConversationMessageEvent.md +23 -0
  77. data/docs/ConversationMessageEventAllOf.md +17 -0
  78. data/docs/ConversationMessageEventAllOfPayload.md +21 -0
  79. data/docs/ConversationPostbackEvent.md +23 -0
  80. data/docs/ConversationPostbackEventAllOf.md +17 -0
  81. data/docs/ConversationPostbackEventAllOfPayload.md +23 -0
  82. data/docs/ConversationReadEvent.md +23 -0
  83. data/docs/ConversationReadEventAllOf.md +17 -0
  84. data/docs/ConversationReadEventAllOfPayload.md +19 -0
  85. data/docs/ConversationResponse.md +17 -0
  86. data/docs/ConversationTruncated.md +23 -0
  87. data/docs/ConversationType.md +16 -0
  88. data/docs/ConversationTypingEvent.md +23 -0
  89. data/docs/ConversationTypingEventAllOf.md +17 -0
  90. data/docs/ConversationTypingEventAllOfPayload.md +19 -0
  91. data/docs/ConversationUpdateBody.md +23 -0
  92. data/docs/ConversationsApi.md +319 -0
  93. data/docs/Custom.md +19 -0
  94. data/docs/CustomAllOf.md +19 -0
  95. data/docs/CustomIntegrationApiKeysApi.md +258 -0
  96. data/docs/CustomUpdate.md +16 -0
  97. data/docs/Destination.md +19 -0
  98. data/docs/Device.md +35 -0
  99. data/docs/EventSubSchema.md +21 -0
  100. data/docs/ExtraChannelOptions.md +17 -0
  101. data/docs/ExtraChannelOptionsMessenger.md +19 -0
  102. data/docs/Field.md +35 -0
  103. data/docs/FileMessage.md +25 -0
  104. data/docs/FormMessage.md +21 -0
  105. data/docs/FormResponseMessage.md +21 -0
  106. data/docs/ImageMessage.md +23 -0
  107. data/docs/InlineObject.md +23 -0
  108. data/docs/Integration.md +23 -0
  109. data/docs/IntegrationApiKey.md +17 -0
  110. data/docs/IntegrationApiKeyListResponse.md +17 -0
  111. data/docs/IntegrationApiKeyResponse.md +17 -0
  112. data/docs/IntegrationId.md +17 -0
  113. data/docs/IntegrationListFilter.md +17 -0
  114. data/docs/IntegrationListResponse.md +21 -0
  115. data/docs/IntegrationResponse.md +17 -0
  116. data/docs/IntegrationType.md +17 -0
  117. data/docs/IntegrationUpdate.md +71 -0
  118. data/docs/IntegrationUpdateBase.md +17 -0
  119. data/docs/IntegrationsApi.md +319 -0
  120. data/docs/Ios.md +27 -0
  121. data/docs/IosAllOf.md +27 -0
  122. data/docs/IosUpdate.md +27 -0
  123. data/docs/IosUpdateAllOf.md +25 -0
  124. data/docs/Item.md +29 -0
  125. data/docs/Line.md +31 -0
  126. data/docs/LineAllOf.md +31 -0
  127. data/docs/LineUpdate.md +16 -0
  128. data/docs/Link.md +27 -0
  129. data/docs/Links.md +19 -0
  130. data/docs/ListMessage.md +21 -0
  131. data/docs/LocationMessage.md +23 -0
  132. data/docs/LocationMessageCoordinates.md +19 -0
  133. data/docs/LocationMessageLocation.md +19 -0
  134. data/docs/LocationRequest.md +21 -0
  135. data/docs/Mailgun.md +27 -0
  136. data/docs/MailgunAllOf.md +27 -0
  137. data/docs/MailgunUpdate.md +21 -0
  138. data/docs/MailgunUpdateAllOf.md +19 -0
  139. data/docs/MatchCriteria.md +27 -0
  140. data/docs/MatchCriteriaBase.md +21 -0
  141. data/docs/MatchCriteriaMailgun.md +25 -0
  142. data/docs/MatchCriteriaMailgunAllOf.md +21 -0
  143. data/docs/MatchCriteriaMessagebird.md +23 -0
  144. data/docs/MatchCriteriaMessagebirdAllOf.md +19 -0
  145. data/docs/MatchCriteriaTwilio.md +23 -0
  146. data/docs/MatchCriteriaTwilioAllOf.md +19 -0
  147. data/docs/MatchCriteriaWhatsapp.md +23 -0
  148. data/docs/MatchCriteriaWhatsappAllOf.md +19 -0
  149. data/docs/Message.md +31 -0
  150. data/docs/MessageBirdUpdate.md +16 -0
  151. data/docs/MessageListResponse.md +21 -0
  152. data/docs/MessageOverride.md +23 -0
  153. data/docs/MessageOverrideApple.md +17 -0
  154. data/docs/MessageOverrideLine.md +17 -0
  155. data/docs/MessageOverrideMessenger.md +17 -0
  156. data/docs/MessageOverridePayload.md +17 -0
  157. data/docs/MessageOverrideWhatsapp.md +17 -0
  158. data/docs/MessagePost.md +27 -0
  159. data/docs/MessagePostResponse.md +17 -0
  160. data/docs/MessageWebhook.md +31 -0
  161. data/docs/Messagebird.md +25 -0
  162. data/docs/MessagebirdAllOf.md +25 -0
  163. data/docs/MessagesApi.md +260 -0
  164. data/docs/Messenger.md +23 -0
  165. data/docs/MessengerAllOf.md +23 -0
  166. data/docs/MessengerUpdate.md +19 -0
  167. data/docs/MessengerUpdateAllOf.md +17 -0
  168. data/docs/Meta.md +21 -0
  169. data/docs/OAuthEndpointsApi.md +168 -0
  170. data/docs/OfferControlBody.md +19 -0
  171. data/docs/Page.md +21 -0
  172. data/docs/Participant.md +27 -0
  173. data/docs/ParticipantJoinBody.md +16 -0
  174. data/docs/ParticipantLeaveBody.md +21 -0
  175. data/docs/ParticipantLeaveBodyParticipantId.md +17 -0
  176. data/docs/ParticipantLeaveBodyUserExternalId.md +17 -0
  177. data/docs/ParticipantLeaveBodyUserId.md +17 -0
  178. data/docs/ParticipantListResponse.md +21 -0
  179. data/docs/ParticipantResponse.md +17 -0
  180. data/docs/ParticipantSubSchema.md +21 -0
  181. data/docs/ParticipantWithUserExternalId.md +19 -0
  182. data/docs/ParticipantWithUserId.md +19 -0
  183. data/docs/ParticipantsApi.md +199 -0
  184. data/docs/PassControlBody.md +19 -0
  185. data/docs/Postback.md +23 -0
  186. data/docs/PostbackWebhook.md +19 -0
  187. data/docs/PrechatCapture.md +23 -0
  188. data/docs/Profile.md +23 -0
  189. data/docs/QuotedMessage.md +21 -0
  190. data/docs/QuotedMessageExternalMessageId.md +19 -0
  191. data/docs/QuotedMessageMessage.md +19 -0
  192. data/docs/Referral.md +19 -0
  193. data/docs/ReferralDetails.md +21 -0
  194. data/docs/Reply.md +25 -0
  195. data/docs/Source.md +27 -0
  196. data/docs/SourceWebhook.md +27 -0
  197. data/docs/Status.md +16 -0
  198. data/docs/Switchboard.md +21 -0
  199. data/docs/SwitchboardAcceptControl.md +23 -0
  200. data/docs/SwitchboardAcceptControlAllOf.md +17 -0
  201. data/docs/SwitchboardAcceptControlAllOfPayload.md +19 -0
  202. data/docs/SwitchboardAcceptControlFailure.md +23 -0
  203. data/docs/SwitchboardAcceptControlFailureAllOf.md +17 -0
  204. data/docs/SwitchboardAcceptControlFailureAllOfPayload.md +21 -0
  205. data/docs/SwitchboardActionsApi.md +197 -0
  206. data/docs/SwitchboardIntegration.md +29 -0
  207. data/docs/SwitchboardIntegrationCreateBody.md +27 -0
  208. data/docs/SwitchboardIntegrationListResponse.md +17 -0
  209. data/docs/SwitchboardIntegrationResponse.md +17 -0
  210. data/docs/SwitchboardIntegrationUpdateBody.md +27 -0
  211. data/docs/SwitchboardIntegrationWebhook.md +23 -0
  212. data/docs/SwitchboardIntegrationsApi.md +260 -0
  213. data/docs/SwitchboardListResponse.md +17 -0
  214. data/docs/SwitchboardOfferControl.md +23 -0
  215. data/docs/SwitchboardOfferControlAllOf.md +17 -0
  216. data/docs/SwitchboardOfferControlAllOfPayload.md +19 -0
  217. data/docs/SwitchboardOfferControlFailure.md +23 -0
  218. data/docs/SwitchboardPassControl.md +23 -0
  219. data/docs/SwitchboardPassControlAllOf.md +17 -0
  220. data/docs/SwitchboardPassControlAllOfPayload.md +19 -0
  221. data/docs/SwitchboardPassControlFailure.md +23 -0
  222. data/docs/SwitchboardResponse.md +17 -0
  223. data/docs/SwitchboardUpdateBody.md +19 -0
  224. data/docs/SwitchboardsApi.md +250 -0
  225. data/docs/Target.md +17 -0
  226. data/docs/Telegram.md +23 -0
  227. data/docs/TelegramAllOf.md +23 -0
  228. data/docs/TelegramUpdate.md +16 -0
  229. data/docs/TextMessage.md +21 -0
  230. data/docs/Twilio.md +23 -0
  231. data/docs/TwilioAllOf.md +23 -0
  232. data/docs/TwilioUpdate.md +16 -0
  233. data/docs/Twitter.md +29 -0
  234. data/docs/TwitterAllOf.md +29 -0
  235. data/docs/TwitterUpdate.md +16 -0
  236. data/docs/User.md +25 -0
  237. data/docs/UserAllOf.md +21 -0
  238. data/docs/UserCreateBody.md +23 -0
  239. data/docs/UserMergeEvent.md +23 -0
  240. data/docs/UserMergeEventAllOf.md +17 -0
  241. data/docs/UserMergeEventAllOfPayload.md +21 -0
  242. data/docs/UserMergeEventAllOfPayloadMergedConversations.md +19 -0
  243. data/docs/UserMergeEventAllOfPayloadMergedUsers.md +19 -0
  244. data/docs/UserResponse.md +17 -0
  245. data/docs/UserTruncated.md +19 -0
  246. data/docs/UserUpdateBody.md +21 -0
  247. data/docs/UsersApi.md +315 -0
  248. data/docs/Viber.md +23 -0
  249. data/docs/ViberAllOf.md +23 -0
  250. data/docs/ViberUpdate.md +16 -0
  251. data/docs/Web.md +47 -0
  252. data/docs/WebAllOf.md +47 -0
  253. data/docs/WebUpdate.md +47 -0
  254. data/docs/WebUpdateAllOf.md +45 -0
  255. data/docs/Webhook.md +29 -0
  256. data/docs/WebhookBody.md +23 -0
  257. data/docs/WebhookCreateBody.md +16 -0
  258. data/docs/WebhookListResponse.md +17 -0
  259. data/docs/WebhookResponse.md +17 -0
  260. data/docs/WebhookSubSchema.md +19 -0
  261. data/docs/WebhooksApi.md +323 -0
  262. data/docs/Webview.md +33 -0
  263. data/docs/WhatsAppUpdate.md +23 -0
  264. data/docs/WhatsAppUpdateAllOf.md +21 -0
  265. data/docs/Whatsapp.md +25 -0
  266. data/docs/WhatsappAllOf.md +25 -0
  267. data/lib/sunshine-conversations-client.rb +306 -0
  268. data/lib/sunshine-conversations-client/api/activities_api.rb +95 -0
  269. data/lib/sunshine-conversations-client/api/app_keys_api.rb +287 -0
  270. data/lib/sunshine-conversations-client/api/apps_api.rb +339 -0
  271. data/lib/sunshine-conversations-client/api/attachments_api.rb +305 -0
  272. data/lib/sunshine-conversations-client/api/clients_api.rb +240 -0
  273. data/lib/sunshine-conversations-client/api/conversations_api.rb +373 -0
  274. data/lib/sunshine-conversations-client/api/custom_integration_api_keys_api.rb +311 -0
  275. data/lib/sunshine-conversations-client/api/integrations_api.rb +369 -0
  276. data/lib/sunshine-conversations-client/api/messages_api.rb +308 -0
  277. data/lib/sunshine-conversations-client/api/o_auth_endpoints_api.rb +213 -0
  278. data/lib/sunshine-conversations-client/api/participants_api.rb +242 -0
  279. data/lib/sunshine-conversations-client/api/switchboard_actions_api.rb +247 -0
  280. data/lib/sunshine-conversations-client/api/switchboard_integrations_api.rb +319 -0
  281. data/lib/sunshine-conversations-client/api/switchboards_api.rb +287 -0
  282. data/lib/sunshine-conversations-client/api/users_api.rb +369 -0
  283. data/lib/sunshine-conversations-client/api/webhooks_api.rb +393 -0
  284. data/lib/sunshine-conversations-client/api_client.rb +348 -0
  285. data/lib/sunshine-conversations-client/api_error.rb +54 -0
  286. data/lib/sunshine-conversations-client/configuration.rb +284 -0
  287. data/lib/sunshine-conversations-client/models/accept_control_body.rb +204 -0
  288. data/lib/sunshine-conversations-client/models/action.rb +421 -0
  289. data/lib/sunshine-conversations-client/models/action_subset.rb +409 -0
  290. data/lib/sunshine-conversations-client/models/activity.rb +265 -0
  291. data/lib/sunshine-conversations-client/models/activity_all_of.rb +213 -0
  292. data/lib/sunshine-conversations-client/models/activity_post.rb +266 -0
  293. data/lib/sunshine-conversations-client/models/activity_post_all_of.rb +204 -0
  294. data/lib/sunshine-conversations-client/models/activity_types.rb +238 -0
  295. data/lib/sunshine-conversations-client/models/android.rb +280 -0
  296. data/lib/sunshine-conversations-client/models/android_all_of.rb +268 -0
  297. data/lib/sunshine-conversations-client/models/android_update.rb +299 -0
  298. data/lib/sunshine-conversations-client/models/android_update_all_of.rb +256 -0
  299. data/lib/sunshine-conversations-client/models/api_key.rb +225 -0
  300. data/lib/sunshine-conversations-client/models/app.rb +234 -0
  301. data/lib/sunshine-conversations-client/models/app_create_body.rb +229 -0
  302. data/lib/sunshine-conversations-client/models/app_key.rb +224 -0
  303. data/lib/sunshine-conversations-client/models/app_key_create_body.rb +209 -0
  304. data/lib/sunshine-conversations-client/models/app_key_list_response.rb +203 -0
  305. data/lib/sunshine-conversations-client/models/app_key_response.rb +204 -0
  306. data/lib/sunshine-conversations-client/models/app_list_filter.rb +204 -0
  307. data/lib/sunshine-conversations-client/models/app_list_response.rb +221 -0
  308. data/lib/sunshine-conversations-client/models/app_response.rb +204 -0
  309. data/lib/sunshine-conversations-client/models/app_settings.rb +290 -0
  310. data/lib/sunshine-conversations-client/models/app_sub_schema.rb +205 -0
  311. data/lib/sunshine-conversations-client/models/app_update_body.rb +224 -0
  312. data/lib/sunshine-conversations-client/models/apple.rb +263 -0
  313. data/lib/sunshine-conversations-client/models/apple_all_of.rb +252 -0
  314. data/lib/sunshine-conversations-client/models/apple_update.rb +205 -0
  315. data/lib/sunshine-conversations-client/models/attachment_delete_body.rb +209 -0
  316. data/lib/sunshine-conversations-client/models/attachment_media_token_body.rb +208 -0
  317. data/lib/sunshine-conversations-client/models/attachment_media_token_response.rb +203 -0
  318. data/lib/sunshine-conversations-client/models/attachment_response.rb +204 -0
  319. data/lib/sunshine-conversations-client/models/attachment_schema.rb +214 -0
  320. data/lib/sunshine-conversations-client/models/attachment_upload_body.rb +208 -0
  321. data/lib/sunshine-conversations-client/models/author.rb +284 -0
  322. data/lib/sunshine-conversations-client/models/author_webhook.rb +264 -0
  323. data/lib/sunshine-conversations-client/models/buy.rb +262 -0
  324. data/lib/sunshine-conversations-client/models/carousel_message.rb +245 -0
  325. data/lib/sunshine-conversations-client/models/carousel_message_display_settings.rb +239 -0
  326. data/lib/sunshine-conversations-client/models/client.rb +345 -0
  327. data/lib/sunshine-conversations-client/models/client_association.rb +213 -0
  328. data/lib/sunshine-conversations-client/models/client_create.rb +236 -0
  329. data/lib/sunshine-conversations-client/models/client_list_response.rb +221 -0
  330. data/lib/sunshine-conversations-client/models/client_response.rb +203 -0
  331. data/lib/sunshine-conversations-client/models/client_type.rb +42 -0
  332. data/lib/sunshine-conversations-client/models/confirmation.rb +254 -0
  333. data/lib/sunshine-conversations-client/models/content.rb +380 -0
  334. data/lib/sunshine-conversations-client/models/conversation.rb +366 -0
  335. data/lib/sunshine-conversations-client/models/conversation_all_of.rb +317 -0
  336. data/lib/sunshine-conversations-client/models/conversation_create_body.rb +308 -0
  337. data/lib/sunshine-conversations-client/models/conversation_create_event.rb +241 -0
  338. data/lib/sunshine-conversations-client/models/conversation_create_event_all_of.rb +203 -0
  339. data/lib/sunshine-conversations-client/models/conversation_create_event_all_of_payload.rb +281 -0
  340. data/lib/sunshine-conversations-client/models/conversation_list_filter.rb +214 -0
  341. data/lib/sunshine-conversations-client/models/conversation_list_response.rb +221 -0
  342. data/lib/sunshine-conversations-client/models/conversation_message_delivery_channel_event.rb +241 -0
  343. data/lib/sunshine-conversations-client/models/conversation_message_delivery_channel_event_all_of.rb +203 -0
  344. data/lib/sunshine-conversations-client/models/conversation_message_delivery_failure_event.rb +241 -0
  345. data/lib/sunshine-conversations-client/models/conversation_message_delivery_failure_event_all_of.rb +203 -0
  346. data/lib/sunshine-conversations-client/models/conversation_message_delivery_payload.rb +253 -0
  347. data/lib/sunshine-conversations-client/models/conversation_message_delivery_payload_destination.rb +215 -0
  348. data/lib/sunshine-conversations-client/models/conversation_message_delivery_payload_external_messages.rb +204 -0
  349. data/lib/sunshine-conversations-client/models/conversation_message_delivery_payload_message.rb +205 -0
  350. data/lib/sunshine-conversations-client/models/conversation_message_delivery_user_event.rb +241 -0
  351. data/lib/sunshine-conversations-client/models/conversation_message_event.rb +241 -0
  352. data/lib/sunshine-conversations-client/models/conversation_message_event_all_of.rb +203 -0
  353. data/lib/sunshine-conversations-client/models/conversation_message_event_all_of_payload.rb +224 -0
  354. data/lib/sunshine-conversations-client/models/conversation_postback_event.rb +241 -0
  355. data/lib/sunshine-conversations-client/models/conversation_postback_event_all_of.rb +203 -0
  356. data/lib/sunshine-conversations-client/models/conversation_postback_event_all_of_payload.rb +235 -0
  357. data/lib/sunshine-conversations-client/models/conversation_read_event.rb +241 -0
  358. data/lib/sunshine-conversations-client/models/conversation_read_event_all_of.rb +203 -0
  359. data/lib/sunshine-conversations-client/models/conversation_read_event_all_of_payload.rb +215 -0
  360. data/lib/sunshine-conversations-client/models/conversation_response.rb +204 -0
  361. data/lib/sunshine-conversations-client/models/conversation_truncated.rb +235 -0
  362. data/lib/sunshine-conversations-client/models/conversation_type.rb +33 -0
  363. data/lib/sunshine-conversations-client/models/conversation_typing_event.rb +241 -0
  364. data/lib/sunshine-conversations-client/models/conversation_typing_event_all_of.rb +203 -0
  365. data/lib/sunshine-conversations-client/models/conversation_typing_event_all_of_payload.rb +215 -0
  366. data/lib/sunshine-conversations-client/models/conversation_update_body.rb +285 -0
  367. data/lib/sunshine-conversations-client/models/custom.rb +232 -0
  368. data/lib/sunshine-conversations-client/models/custom_all_of.rb +220 -0
  369. data/lib/sunshine-conversations-client/models/custom_update.rb +205 -0
  370. data/lib/sunshine-conversations-client/models/destination.rb +239 -0
  371. data/lib/sunshine-conversations-client/models/device.rb +343 -0
  372. data/lib/sunshine-conversations-client/models/event_sub_schema.rb +224 -0
  373. data/lib/sunshine-conversations-client/models/extra_channel_options.rb +204 -0
  374. data/lib/sunshine-conversations-client/models/extra_channel_options_messenger.rb +251 -0
  375. data/lib/sunshine-conversations-client/models/field.rb +522 -0
  376. data/lib/sunshine-conversations-client/models/file_message.rb +256 -0
  377. data/lib/sunshine-conversations-client/models/form_message.rb +236 -0
  378. data/lib/sunshine-conversations-client/models/form_response_message.rb +236 -0
  379. data/lib/sunshine-conversations-client/models/image_message.rb +245 -0
  380. data/lib/sunshine-conversations-client/models/inline_object.rb +254 -0
  381. data/lib/sunshine-conversations-client/models/integration.rb +260 -0
  382. data/lib/sunshine-conversations-client/models/integration_api_key.rb +209 -0
  383. data/lib/sunshine-conversations-client/models/integration_api_key_list_response.rb +203 -0
  384. data/lib/sunshine-conversations-client/models/integration_api_key_response.rb +203 -0
  385. data/lib/sunshine-conversations-client/models/integration_id.rb +204 -0
  386. data/lib/sunshine-conversations-client/models/integration_list_filter.rb +204 -0
  387. data/lib/sunshine-conversations-client/models/integration_list_response.rb +221 -0
  388. data/lib/sunshine-conversations-client/models/integration_response.rb +203 -0
  389. data/lib/sunshine-conversations-client/models/integration_type.rb +204 -0
  390. data/lib/sunshine-conversations-client/models/integration_update.rb +619 -0
  391. data/lib/sunshine-conversations-client/models/integration_update_base.rb +229 -0
  392. data/lib/sunshine-conversations-client/models/ios.rb +284 -0
  393. data/lib/sunshine-conversations-client/models/ios_all_of.rb +272 -0
  394. data/lib/sunshine-conversations-client/models/ios_update.rb +303 -0
  395. data/lib/sunshine-conversations-client/models/ios_update_all_of.rb +260 -0
  396. data/lib/sunshine-conversations-client/models/item.rb +381 -0
  397. data/lib/sunshine-conversations-client/models/line.rb +313 -0
  398. data/lib/sunshine-conversations-client/models/line_all_of.rb +302 -0
  399. data/lib/sunshine-conversations-client/models/line_update.rb +205 -0
  400. data/lib/sunshine-conversations-client/models/link.rb +272 -0
  401. data/lib/sunshine-conversations-client/models/links.rb +215 -0
  402. data/lib/sunshine-conversations-client/models/list_message.rb +235 -0
  403. data/lib/sunshine-conversations-client/models/location_message.rb +245 -0
  404. data/lib/sunshine-conversations-client/models/location_message_coordinates.rb +225 -0
  405. data/lib/sunshine-conversations-client/models/location_message_location.rb +215 -0
  406. data/lib/sunshine-conversations-client/models/location_request.rb +238 -0
  407. data/lib/sunshine-conversations-client/models/mailgun.rb +356 -0
  408. data/lib/sunshine-conversations-client/models/mailgun_all_of.rb +345 -0
  409. data/lib/sunshine-conversations-client/models/mailgun_update.rb +273 -0
  410. data/lib/sunshine-conversations-client/models/mailgun_update_all_of.rb +230 -0
  411. data/lib/sunshine-conversations-client/models/match_criteria.rb +312 -0
  412. data/lib/sunshine-conversations-client/models/match_criteria_base.rb +237 -0
  413. data/lib/sunshine-conversations-client/models/match_criteria_mailgun.rb +273 -0
  414. data/lib/sunshine-conversations-client/models/match_criteria_mailgun_all_of.rb +234 -0
  415. data/lib/sunshine-conversations-client/models/match_criteria_messagebird.rb +261 -0
  416. data/lib/sunshine-conversations-client/models/match_criteria_messagebird_all_of.rb +222 -0
  417. data/lib/sunshine-conversations-client/models/match_criteria_twilio.rb +261 -0
  418. data/lib/sunshine-conversations-client/models/match_criteria_twilio_all_of.rb +222 -0
  419. data/lib/sunshine-conversations-client/models/match_criteria_whatsapp.rb +261 -0
  420. data/lib/sunshine-conversations-client/models/match_criteria_whatsapp_all_of.rb +222 -0
  421. data/lib/sunshine-conversations-client/models/message.rb +274 -0
  422. data/lib/sunshine-conversations-client/models/message_bird_update.rb +205 -0
  423. data/lib/sunshine-conversations-client/models/message_list_response.rb +221 -0
  424. data/lib/sunshine-conversations-client/models/message_override.rb +253 -0
  425. data/lib/sunshine-conversations-client/models/message_override_apple.rb +203 -0
  426. data/lib/sunshine-conversations-client/models/message_override_line.rb +203 -0
  427. data/lib/sunshine-conversations-client/models/message_override_messenger.rb +203 -0
  428. data/lib/sunshine-conversations-client/models/message_override_payload.rb +204 -0
  429. data/lib/sunshine-conversations-client/models/message_override_whatsapp.rb +203 -0
  430. data/lib/sunshine-conversations-client/models/message_post.rb +263 -0
  431. data/lib/sunshine-conversations-client/models/message_post_response.rb +203 -0
  432. data/lib/sunshine-conversations-client/models/message_webhook.rb +274 -0
  433. data/lib/sunshine-conversations-client/models/messagebird.rb +330 -0
  434. data/lib/sunshine-conversations-client/models/messagebird_all_of.rb +319 -0
  435. data/lib/sunshine-conversations-client/models/messenger.rb +263 -0
  436. data/lib/sunshine-conversations-client/models/messenger_all_of.rb +252 -0
  437. data/lib/sunshine-conversations-client/models/messenger_update.rb +247 -0
  438. data/lib/sunshine-conversations-client/models/messenger_update_all_of.rb +204 -0
  439. data/lib/sunshine-conversations-client/models/meta.rb +225 -0
  440. data/lib/sunshine-conversations-client/models/offer_control_body.rb +219 -0
  441. data/lib/sunshine-conversations-client/models/page.rb +250 -0
  442. data/lib/sunshine-conversations-client/models/participant.rb +255 -0
  443. data/lib/sunshine-conversations-client/models/participant_join_body.rb +205 -0
  444. data/lib/sunshine-conversations-client/models/participant_leave_body.rb +249 -0
  445. data/lib/sunshine-conversations-client/models/participant_leave_body_participant_id.rb +204 -0
  446. data/lib/sunshine-conversations-client/models/participant_leave_body_user_external_id.rb +204 -0
  447. data/lib/sunshine-conversations-client/models/participant_leave_body_user_id.rb +204 -0
  448. data/lib/sunshine-conversations-client/models/participant_list_response.rb +221 -0
  449. data/lib/sunshine-conversations-client/models/participant_response.rb +204 -0
  450. data/lib/sunshine-conversations-client/models/participant_sub_schema.rb +244 -0
  451. data/lib/sunshine-conversations-client/models/participant_with_user_external_id.rb +214 -0
  452. data/lib/sunshine-conversations-client/models/participant_with_user_id.rb +214 -0
  453. data/lib/sunshine-conversations-client/models/pass_control_body.rb +219 -0
  454. data/lib/sunshine-conversations-client/models/postback.rb +252 -0
  455. data/lib/sunshine-conversations-client/models/postback_webhook.rb +215 -0
  456. data/lib/sunshine-conversations-client/models/prechat_capture.rb +239 -0
  457. data/lib/sunshine-conversations-client/models/profile.rb +335 -0
  458. data/lib/sunshine-conversations-client/models/quoted_message.rb +249 -0
  459. data/lib/sunshine-conversations-client/models/quoted_message_external_message_id.rb +216 -0
  460. data/lib/sunshine-conversations-client/models/quoted_message_message.rb +215 -0
  461. data/lib/sunshine-conversations-client/models/referral.rb +214 -0
  462. data/lib/sunshine-conversations-client/models/referral_details.rb +226 -0
  463. data/lib/sunshine-conversations-client/models/reply.rb +260 -0
  464. data/lib/sunshine-conversations-client/models/source.rb +265 -0
  465. data/lib/sunshine-conversations-client/models/source_webhook.rb +258 -0
  466. data/lib/sunshine-conversations-client/models/status.rb +34 -0
  467. data/lib/sunshine-conversations-client/models/switchboard.rb +234 -0
  468. data/lib/sunshine-conversations-client/models/switchboard_accept_control.rb +241 -0
  469. data/lib/sunshine-conversations-client/models/switchboard_accept_control_all_of.rb +203 -0
  470. data/lib/sunshine-conversations-client/models/switchboard_accept_control_all_of_payload.rb +216 -0
  471. data/lib/sunshine-conversations-client/models/switchboard_accept_control_failure.rb +241 -0
  472. data/lib/sunshine-conversations-client/models/switchboard_accept_control_failure_all_of.rb +203 -0
  473. data/lib/sunshine-conversations-client/models/switchboard_accept_control_failure_all_of_payload.rb +226 -0
  474. data/lib/sunshine-conversations-client/models/switchboard_integration.rb +333 -0
  475. data/lib/sunshine-conversations-client/models/switchboard_integration_create_body.rb +302 -0
  476. data/lib/sunshine-conversations-client/models/switchboard_integration_list_response.rb +203 -0
  477. data/lib/sunshine-conversations-client/models/switchboard_integration_response.rb +204 -0
  478. data/lib/sunshine-conversations-client/models/switchboard_integration_update_body.rb +294 -0
  479. data/lib/sunshine-conversations-client/models/switchboard_integration_webhook.rb +249 -0
  480. data/lib/sunshine-conversations-client/models/switchboard_list_response.rb +203 -0
  481. data/lib/sunshine-conversations-client/models/switchboard_offer_control.rb +241 -0
  482. data/lib/sunshine-conversations-client/models/switchboard_offer_control_all_of.rb +203 -0
  483. data/lib/sunshine-conversations-client/models/switchboard_offer_control_all_of_payload.rb +216 -0
  484. data/lib/sunshine-conversations-client/models/switchboard_offer_control_failure.rb +241 -0
  485. data/lib/sunshine-conversations-client/models/switchboard_pass_control.rb +241 -0
  486. data/lib/sunshine-conversations-client/models/switchboard_pass_control_all_of.rb +203 -0
  487. data/lib/sunshine-conversations-client/models/switchboard_pass_control_all_of_payload.rb +216 -0
  488. data/lib/sunshine-conversations-client/models/switchboard_pass_control_failure.rb +241 -0
  489. data/lib/sunshine-conversations-client/models/switchboard_response.rb +204 -0
  490. data/lib/sunshine-conversations-client/models/switchboard_update_body.rb +214 -0
  491. data/lib/sunshine-conversations-client/models/target.rb +210 -0
  492. data/lib/sunshine-conversations-client/models/telegram.rb +272 -0
  493. data/lib/sunshine-conversations-client/models/telegram_all_of.rb +261 -0
  494. data/lib/sunshine-conversations-client/models/telegram_update.rb +205 -0
  495. data/lib/sunshine-conversations-client/models/text_message.rb +245 -0
  496. data/lib/sunshine-conversations-client/models/twilio.rb +301 -0
  497. data/lib/sunshine-conversations-client/models/twilio_all_of.rb +290 -0
  498. data/lib/sunshine-conversations-client/models/twilio_update.rb +205 -0
  499. data/lib/sunshine-conversations-client/models/twitter.rb +419 -0
  500. data/lib/sunshine-conversations-client/models/twitter_all_of.rb +408 -0
  501. data/lib/sunshine-conversations-client/models/twitter_update.rb +205 -0
  502. data/lib/sunshine-conversations-client/models/user.rb +250 -0
  503. data/lib/sunshine-conversations-client/models/user_all_of.rb +221 -0
  504. data/lib/sunshine-conversations-client/models/user_create_body.rb +267 -0
  505. data/lib/sunshine-conversations-client/models/user_merge_event.rb +241 -0
  506. data/lib/sunshine-conversations-client/models/user_merge_event_all_of.rb +203 -0
  507. data/lib/sunshine-conversations-client/models/user_merge_event_all_of_payload.rb +225 -0
  508. data/lib/sunshine-conversations-client/models/user_merge_event_all_of_payload_merged_conversations.rb +215 -0
  509. data/lib/sunshine-conversations-client/models/user_merge_event_all_of_payload_merged_users.rb +215 -0
  510. data/lib/sunshine-conversations-client/models/user_response.rb +204 -0
  511. data/lib/sunshine-conversations-client/models/user_truncated.rb +215 -0
  512. data/lib/sunshine-conversations-client/models/user_update_body.rb +223 -0
  513. data/lib/sunshine-conversations-client/models/viber.rb +272 -0
  514. data/lib/sunshine-conversations-client/models/viber_all_of.rb +261 -0
  515. data/lib/sunshine-conversations-client/models/viber_update.rb +205 -0
  516. data/lib/sunshine-conversations-client/models/web.rb +383 -0
  517. data/lib/sunshine-conversations-client/models/web_all_of.rb +372 -0
  518. data/lib/sunshine-conversations-client/models/web_update.rb +402 -0
  519. data/lib/sunshine-conversations-client/models/web_update_all_of.rb +360 -0
  520. data/lib/sunshine-conversations-client/models/webhook.rb +277 -0
  521. data/lib/sunshine-conversations-client/models/webhook_body.rb +237 -0
  522. data/lib/sunshine-conversations-client/models/webhook_create_body.rb +205 -0
  523. data/lib/sunshine-conversations-client/models/webhook_list_response.rb +203 -0
  524. data/lib/sunshine-conversations-client/models/webhook_response.rb +204 -0
  525. data/lib/sunshine-conversations-client/models/webhook_sub_schema.rb +215 -0
  526. data/lib/sunshine-conversations-client/models/webview.rb +339 -0
  527. data/lib/sunshine-conversations-client/models/whats_app_update.rb +272 -0
  528. data/lib/sunshine-conversations-client/models/whats_app_update_all_of.rb +229 -0
  529. data/lib/sunshine-conversations-client/models/whatsapp.rb +268 -0
  530. data/lib/sunshine-conversations-client/models/whatsapp_all_of.rb +257 -0
  531. data/lib/sunshine-conversations-client/version.rb +12 -0
  532. data/spec/api_client_spec.rb +223 -0
  533. data/spec/configuration_spec.rb +39 -0
  534. data/spec/spec_helper.rb +108 -0
  535. data/sunshine-conversations-client.gemspec +36 -0
  536. metadata +641 -0
@@ -0,0 +1,203 @@
1
+ =begin
2
+ #Sunshine Conversations API
3
+
4
+ The version of the OpenAPI document: 9.1.0
5
+
6
+ Generated by: https://openapi-generator.tech
7
+ OpenAPI Generator version: 4.3.1
8
+ =end
9
+
10
+ require 'date'
11
+
12
+ module SunshineConversationsClient
13
+ class SwitchboardAcceptControlFailureAllOf
14
+ attr_accessor :payload
15
+
16
+ # Attribute mapping from ruby-style variable name to JSON key.
17
+ def self.attribute_map
18
+ {
19
+ :'payload' => :'payload'
20
+ }
21
+ end
22
+
23
+ # Attribute type mapping.
24
+ def self.openapi_types
25
+ {
26
+ :'payload' => :'SwitchboardAcceptControlFailureAllOfPayload'
27
+ }
28
+ end
29
+
30
+ # List of attributes with nullable: true
31
+ def self.openapi_nullable
32
+ Set.new([
33
+ ])
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ if (!attributes.is_a?(Hash))
40
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SunshineConversationsClient::SwitchboardAcceptControlFailureAllOf` initialize method"
41
+ end
42
+
43
+ # check to see if the attribute exists and convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}) { |(k, v), h|
45
+ if (!self.class.attribute_map.key?(k.to_sym))
46
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SunshineConversationsClient::SwitchboardAcceptControlFailureAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
47
+ end
48
+ h[k.to_sym] = v
49
+ }
50
+
51
+ if attributes.key?(:'payload')
52
+ self.payload = attributes[:'payload']
53
+ end
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properties with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ invalid_properties
61
+ end
62
+
63
+ # Check to see if the all the properties in the model are valid
64
+ # @return true if the model is valid
65
+ def valid?
66
+ true
67
+ end
68
+
69
+ # Checks equality by comparing each attribute.
70
+ # @param [Object] Object to be compared
71
+ def ==(o)
72
+ return true if self.equal?(o)
73
+ self.class == o.class &&
74
+ payload == o.payload
75
+ end
76
+
77
+ # @see the `==` method
78
+ # @param [Object] Object to be compared
79
+ def eql?(o)
80
+ self == o
81
+ end
82
+
83
+ # Calculates hash code according to all attributes.
84
+ # @return [Integer] Hash code
85
+ def hash
86
+ [payload].hash
87
+ end
88
+
89
+ # Builds the object from hash
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ # @return [Object] Returns the model itself
92
+ def self.build_from_hash(attributes)
93
+ new.build_from_hash(attributes)
94
+ end
95
+
96
+ # Builds the object from hash
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ # @return [Object] Returns the model itself
99
+ def build_from_hash(attributes)
100
+ return nil unless attributes.is_a?(Hash)
101
+ self.class.openapi_types.each_pair do |key, type|
102
+ if type =~ /\AArray<(.*)>/i
103
+ # check to ensure the input is an array given that the attribute
104
+ # is documented as an array but the input is not
105
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
106
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
107
+ end
108
+ elsif !attributes[self.class.attribute_map[key]].nil?
109
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
110
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
111
+ end
112
+
113
+ self
114
+ end
115
+
116
+ # Deserializes the data based on type
117
+ # @param string type Data type
118
+ # @param string value Value to be deserialized
119
+ # @return [Object] Deserialized data
120
+ def _deserialize(type, value)
121
+ case type.to_sym
122
+ when :DateTime
123
+ DateTime.parse(value)
124
+ when :Date
125
+ Date.parse(value)
126
+ when :String
127
+ value.to_s
128
+ when :Integer
129
+ value.to_i
130
+ when :Float
131
+ value.to_f
132
+ when :Boolean
133
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
134
+ true
135
+ else
136
+ false
137
+ end
138
+ when :Object
139
+ # generic object (usually a Hash), return directly
140
+ value
141
+ when /\AArray<(?<inner_type>.+)>\z/
142
+ inner_type = Regexp.last_match[:inner_type]
143
+ value.map { |v| _deserialize(inner_type, v) }
144
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
145
+ k_type = Regexp.last_match[:k_type]
146
+ v_type = Regexp.last_match[:v_type]
147
+ {}.tap do |hash|
148
+ value.each do |k, v|
149
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
150
+ end
151
+ end
152
+ else # model
153
+ SunshineConversationsClient.const_get(type).build_from_hash(value)
154
+ end
155
+ end
156
+
157
+ # Returns the string representation of the object
158
+ # @return [String] String presentation of the object
159
+ def to_s
160
+ to_hash.to_s
161
+ end
162
+
163
+ # to_body is an alias to to_hash (backward compatibility)
164
+ # @return [Hash] Returns the object in the form of hash
165
+ def to_body
166
+ to_hash
167
+ end
168
+
169
+ # Returns the object in the form of hash
170
+ # @return [Hash] Returns the object in the form of hash
171
+ def to_hash
172
+ hash = {}
173
+ self.class.attribute_map.each_pair do |attr, param|
174
+ value = self.send(attr)
175
+ if value.nil?
176
+ is_nullable = self.class.openapi_nullable.include?(attr)
177
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
178
+ end
179
+
180
+ hash[param] = _to_hash(value)
181
+ end
182
+ hash
183
+ end
184
+
185
+ # Outputs non-array value in the form of hash
186
+ # For object, use to_hash. Otherwise, just return the value
187
+ # @param [Object] value Any valid value
188
+ # @return [Hash] Returns the value in the form of hash
189
+ def _to_hash(value)
190
+ if value.is_a?(Array)
191
+ value.compact.map { |v| _to_hash(v) }
192
+ elsif value.is_a?(Hash)
193
+ {}.tap do |hash|
194
+ value.each { |k, v| hash[k] = _to_hash(v) }
195
+ end
196
+ elsif value.respond_to? :to_hash
197
+ value.to_hash
198
+ else
199
+ value
200
+ end
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #Sunshine Conversations API
3
+
4
+ The version of the OpenAPI document: 9.1.0
5
+
6
+ Generated by: https://openapi-generator.tech
7
+ OpenAPI Generator version: 4.3.1
8
+ =end
9
+
10
+ require 'date'
11
+
12
+ module SunshineConversationsClient
13
+ # The payload of the event. The contents of this object depend on the type of event.
14
+ class SwitchboardAcceptControlFailureAllOfPayload
15
+ # Object containing details of what went wrong.
16
+ attr_accessor :error
17
+
18
+ # The conversation from which the switchboard event was fired.
19
+ attr_accessor :conversation
20
+
21
+ # Flat object containing custom properties. Strings, numbers and booleans are the only supported format that can be passed to metadata. The metadata is limited to 4KB in size.
22
+ attr_accessor :metadata
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'error' => :'error',
28
+ :'conversation' => :'conversation',
29
+ :'metadata' => :'metadata'
30
+ }
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'error' => :'Object',
37
+ :'conversation' => :'ConversationTruncated',
38
+ :'metadata' => :'Object'
39
+ }
40
+ end
41
+
42
+ # List of attributes with nullable: true
43
+ def self.openapi_nullable
44
+ Set.new([
45
+ :'metadata'
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SunshineConversationsClient::SwitchboardAcceptControlFailureAllOfPayload` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SunshineConversationsClient::SwitchboardAcceptControlFailureAllOfPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'error')
65
+ self.error = attributes[:'error']
66
+ end
67
+
68
+ if attributes.key?(:'conversation')
69
+ self.conversation = attributes[:'conversation']
70
+ end
71
+
72
+ if attributes.key?(:'metadata')
73
+ self.metadata = attributes[:'metadata']
74
+ end
75
+ end
76
+
77
+ # Show invalid properties with the reasons. Usually used together with valid?
78
+ # @return Array for valid properties with the reasons
79
+ def list_invalid_properties
80
+ invalid_properties = Array.new
81
+ invalid_properties
82
+ end
83
+
84
+ # Check to see if the all the properties in the model are valid
85
+ # @return true if the model is valid
86
+ def valid?
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ error == o.error &&
96
+ conversation == o.conversation &&
97
+ metadata == o.metadata
98
+ end
99
+
100
+ # @see the `==` method
101
+ # @param [Object] Object to be compared
102
+ def eql?(o)
103
+ self == o
104
+ end
105
+
106
+ # Calculates hash code according to all attributes.
107
+ # @return [Integer] Hash code
108
+ def hash
109
+ [error, conversation, metadata].hash
110
+ end
111
+
112
+ # Builds the object from hash
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @return [Object] Returns the model itself
115
+ def self.build_from_hash(attributes)
116
+ new.build_from_hash(attributes)
117
+ end
118
+
119
+ # Builds the object from hash
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ # @return [Object] Returns the model itself
122
+ def build_from_hash(attributes)
123
+ return nil unless attributes.is_a?(Hash)
124
+ self.class.openapi_types.each_pair do |key, type|
125
+ if type =~ /\AArray<(.*)>/i
126
+ # check to ensure the input is an array given that the attribute
127
+ # is documented as an array but the input is not
128
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
129
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
130
+ end
131
+ elsif !attributes[self.class.attribute_map[key]].nil?
132
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
133
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
134
+ end
135
+
136
+ self
137
+ end
138
+
139
+ # Deserializes the data based on type
140
+ # @param string type Data type
141
+ # @param string value Value to be deserialized
142
+ # @return [Object] Deserialized data
143
+ def _deserialize(type, value)
144
+ case type.to_sym
145
+ when :DateTime
146
+ DateTime.parse(value)
147
+ when :Date
148
+ Date.parse(value)
149
+ when :String
150
+ value.to_s
151
+ when :Integer
152
+ value.to_i
153
+ when :Float
154
+ value.to_f
155
+ when :Boolean
156
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
157
+ true
158
+ else
159
+ false
160
+ end
161
+ when :Object
162
+ # generic object (usually a Hash), return directly
163
+ value
164
+ when /\AArray<(?<inner_type>.+)>\z/
165
+ inner_type = Regexp.last_match[:inner_type]
166
+ value.map { |v| _deserialize(inner_type, v) }
167
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
168
+ k_type = Regexp.last_match[:k_type]
169
+ v_type = Regexp.last_match[:v_type]
170
+ {}.tap do |hash|
171
+ value.each do |k, v|
172
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
173
+ end
174
+ end
175
+ else # model
176
+ SunshineConversationsClient.const_get(type).build_from_hash(value)
177
+ end
178
+ end
179
+
180
+ # Returns the string representation of the object
181
+ # @return [String] String presentation of the object
182
+ def to_s
183
+ to_hash.to_s
184
+ end
185
+
186
+ # to_body is an alias to to_hash (backward compatibility)
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_body
189
+ to_hash
190
+ end
191
+
192
+ # Returns the object in the form of hash
193
+ # @return [Hash] Returns the object in the form of hash
194
+ def to_hash
195
+ hash = {}
196
+ self.class.attribute_map.each_pair do |attr, param|
197
+ value = self.send(attr)
198
+ if value.nil?
199
+ is_nullable = self.class.openapi_nullable.include?(attr)
200
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
201
+ end
202
+
203
+ hash[param] = _to_hash(value)
204
+ end
205
+ hash
206
+ end
207
+
208
+ # Outputs non-array value in the form of hash
209
+ # For object, use to_hash. Otherwise, just return the value
210
+ # @param [Object] value Any valid value
211
+ # @return [Hash] Returns the value in the form of hash
212
+ def _to_hash(value)
213
+ if value.is_a?(Array)
214
+ value.compact.map { |v| _to_hash(v) }
215
+ elsif value.is_a?(Hash)
216
+ {}.tap do |hash|
217
+ value.each { |k, v| hash[k] = _to_hash(v) }
218
+ end
219
+ elsif value.respond_to? :to_hash
220
+ value.to_hash
221
+ else
222
+ value
223
+ end
224
+ end
225
+ end
226
+ end
@@ -0,0 +1,333 @@
1
+ =begin
2
+ #Sunshine Conversations API
3
+
4
+ The version of the OpenAPI document: 9.1.0
5
+
6
+ Generated by: https://openapi-generator.tech
7
+ OpenAPI Generator version: 4.3.1
8
+ =end
9
+
10
+ require 'date'
11
+
12
+ module SunshineConversationsClient
13
+ class SwitchboardIntegration
14
+ # The unique ID of the switchboard integration.
15
+ attr_accessor :id
16
+
17
+ # Identifier for use in control transfer protocols. Restricted to alphanumeric characters, `-` and `_`.
18
+ attr_accessor :name
19
+
20
+ # Id of the integration that should deliver events routed by the switchboard.
21
+ attr_accessor :integration_id
22
+
23
+ # Type of integration that should deliver events routed by the switchboard. If referencing an OAuth integration, the clientId issued by Sunshine Conversations during the OAuth partnership process will be the value of integrationType.
24
+ attr_accessor :integration_type
25
+
26
+ # Setting to determine if webhooks should be sent when the switchboard integration is not in control of a conversation (standby status)
27
+ attr_accessor :deliver_standby_events
28
+
29
+ # The switchboard integration id to which control of a conversation is passed / offered by default.
30
+ attr_accessor :next_switchboard_integration_id
31
+
32
+ # Number of messages to include in the message history context.
33
+ attr_accessor :message_history_count
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'id' => :'id',
39
+ :'name' => :'name',
40
+ :'integration_id' => :'integrationId',
41
+ :'integration_type' => :'integrationType',
42
+ :'deliver_standby_events' => :'deliverStandbyEvents',
43
+ :'next_switchboard_integration_id' => :'nextSwitchboardIntegrationId',
44
+ :'message_history_count' => :'messageHistoryCount'
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'id' => :'String',
52
+ :'name' => :'String',
53
+ :'integration_id' => :'String',
54
+ :'integration_type' => :'String',
55
+ :'deliver_standby_events' => :'Boolean',
56
+ :'next_switchboard_integration_id' => :'String',
57
+ :'message_history_count' => :'Integer'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ :'message_history_count'
65
+ ])
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param [Hash] attributes Model attributes in the form of hash
70
+ def initialize(attributes = {})
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SunshineConversationsClient::SwitchboardIntegration` initialize method"
73
+ end
74
+
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!self.class.attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SunshineConversationsClient::SwitchboardIntegration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
82
+
83
+ if attributes.key?(:'id')
84
+ self.id = attributes[:'id']
85
+ end
86
+
87
+ if attributes.key?(:'name')
88
+ self.name = attributes[:'name']
89
+ end
90
+
91
+ if attributes.key?(:'integration_id')
92
+ self.integration_id = attributes[:'integration_id']
93
+ end
94
+
95
+ if attributes.key?(:'integration_type')
96
+ self.integration_type = attributes[:'integration_type']
97
+ end
98
+
99
+ if attributes.key?(:'deliver_standby_events')
100
+ self.deliver_standby_events = attributes[:'deliver_standby_events']
101
+ end
102
+
103
+ if attributes.key?(:'next_switchboard_integration_id')
104
+ self.next_switchboard_integration_id = attributes[:'next_switchboard_integration_id']
105
+ end
106
+
107
+ if attributes.key?(:'message_history_count')
108
+ self.message_history_count = attributes[:'message_history_count']
109
+ end
110
+ end
111
+
112
+ # Show invalid properties with the reasons. Usually used together with valid?
113
+ # @return Array for valid properties with the reasons
114
+ def list_invalid_properties
115
+ invalid_properties = Array.new
116
+ if @id.nil?
117
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
118
+ end
119
+
120
+ if @name.nil?
121
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
122
+ end
123
+
124
+ if @name.to_s.length > 128
125
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 128.')
126
+ end
127
+
128
+ if @integration_id.nil?
129
+ invalid_properties.push('invalid value for "integration_id", integration_id cannot be nil.')
130
+ end
131
+
132
+ if @integration_type.nil?
133
+ invalid_properties.push('invalid value for "integration_type", integration_type cannot be nil.')
134
+ end
135
+
136
+ if @deliver_standby_events.nil?
137
+ invalid_properties.push('invalid value for "deliver_standby_events", deliver_standby_events cannot be nil.')
138
+ end
139
+
140
+ if !@message_history_count.nil? && @message_history_count > 10
141
+ invalid_properties.push('invalid value for "message_history_count", must be smaller than or equal to 10.')
142
+ end
143
+
144
+ if !@message_history_count.nil? && @message_history_count < 1
145
+ invalid_properties.push('invalid value for "message_history_count", must be greater than or equal to 1.')
146
+ end
147
+
148
+ invalid_properties
149
+ end
150
+
151
+ # Check to see if the all the properties in the model are valid
152
+ # @return true if the model is valid
153
+ def valid?
154
+ return false if @id.nil?
155
+ return false if @name.nil?
156
+ return false if @name.to_s.length > 128
157
+ return false if @integration_id.nil?
158
+ return false if @integration_type.nil?
159
+ return false if @deliver_standby_events.nil?
160
+ return false if !@message_history_count.nil? && @message_history_count > 10
161
+ return false if !@message_history_count.nil? && @message_history_count < 1
162
+ true
163
+ end
164
+
165
+ # Custom attribute writer method with validation
166
+ # @param [Object] name Value to be assigned
167
+ def name=(name)
168
+ if name.nil?
169
+ fail ArgumentError, 'name cannot be nil'
170
+ end
171
+
172
+ if name.to_s.length > 128
173
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 128.'
174
+ end
175
+
176
+ @name = name
177
+ end
178
+
179
+ # Custom attribute writer method with validation
180
+ # @param [Object] message_history_count Value to be assigned
181
+ def message_history_count=(message_history_count)
182
+ if !message_history_count.nil? && message_history_count > 10
183
+ fail ArgumentError, 'invalid value for "message_history_count", must be smaller than or equal to 10.'
184
+ end
185
+
186
+ if !message_history_count.nil? && message_history_count < 1
187
+ fail ArgumentError, 'invalid value for "message_history_count", must be greater than or equal to 1.'
188
+ end
189
+
190
+ @message_history_count = message_history_count
191
+ end
192
+
193
+ # Checks equality by comparing each attribute.
194
+ # @param [Object] Object to be compared
195
+ def ==(o)
196
+ return true if self.equal?(o)
197
+ self.class == o.class &&
198
+ id == o.id &&
199
+ name == o.name &&
200
+ integration_id == o.integration_id &&
201
+ integration_type == o.integration_type &&
202
+ deliver_standby_events == o.deliver_standby_events &&
203
+ next_switchboard_integration_id == o.next_switchboard_integration_id &&
204
+ message_history_count == o.message_history_count
205
+ end
206
+
207
+ # @see the `==` method
208
+ # @param [Object] Object to be compared
209
+ def eql?(o)
210
+ self == o
211
+ end
212
+
213
+ # Calculates hash code according to all attributes.
214
+ # @return [Integer] Hash code
215
+ def hash
216
+ [id, name, integration_id, integration_type, deliver_standby_events, next_switchboard_integration_id, message_history_count].hash
217
+ end
218
+
219
+ # Builds the object from hash
220
+ # @param [Hash] attributes Model attributes in the form of hash
221
+ # @return [Object] Returns the model itself
222
+ def self.build_from_hash(attributes)
223
+ new.build_from_hash(attributes)
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 build_from_hash(attributes)
230
+ return nil unless attributes.is_a?(Hash)
231
+ self.class.openapi_types.each_pair do |key, type|
232
+ if type =~ /\AArray<(.*)>/i
233
+ # check to ensure the input is an array given that the attribute
234
+ # is documented as an array but the input is not
235
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
236
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
237
+ end
238
+ elsif !attributes[self.class.attribute_map[key]].nil?
239
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
240
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
241
+ end
242
+
243
+ self
244
+ end
245
+
246
+ # Deserializes the data based on type
247
+ # @param string type Data type
248
+ # @param string value Value to be deserialized
249
+ # @return [Object] Deserialized data
250
+ def _deserialize(type, value)
251
+ case type.to_sym
252
+ when :DateTime
253
+ DateTime.parse(value)
254
+ when :Date
255
+ Date.parse(value)
256
+ when :String
257
+ value.to_s
258
+ when :Integer
259
+ value.to_i
260
+ when :Float
261
+ value.to_f
262
+ when :Boolean
263
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
264
+ true
265
+ else
266
+ false
267
+ end
268
+ when :Object
269
+ # generic object (usually a Hash), return directly
270
+ value
271
+ when /\AArray<(?<inner_type>.+)>\z/
272
+ inner_type = Regexp.last_match[:inner_type]
273
+ value.map { |v| _deserialize(inner_type, v) }
274
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
275
+ k_type = Regexp.last_match[:k_type]
276
+ v_type = Regexp.last_match[:v_type]
277
+ {}.tap do |hash|
278
+ value.each do |k, v|
279
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
280
+ end
281
+ end
282
+ else # model
283
+ SunshineConversationsClient.const_get(type).build_from_hash(value)
284
+ end
285
+ end
286
+
287
+ # Returns the string representation of the object
288
+ # @return [String] String presentation of the object
289
+ def to_s
290
+ to_hash.to_s
291
+ end
292
+
293
+ # to_body is an alias to to_hash (backward compatibility)
294
+ # @return [Hash] Returns the object in the form of hash
295
+ def to_body
296
+ to_hash
297
+ end
298
+
299
+ # Returns the object in the form of hash
300
+ # @return [Hash] Returns the object in the form of hash
301
+ def to_hash
302
+ hash = {}
303
+ self.class.attribute_map.each_pair do |attr, param|
304
+ value = self.send(attr)
305
+ if value.nil?
306
+ is_nullable = self.class.openapi_nullable.include?(attr)
307
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
308
+ end
309
+
310
+ hash[param] = _to_hash(value)
311
+ end
312
+ hash
313
+ end
314
+
315
+ # Outputs non-array value in the form of hash
316
+ # For object, use to_hash. Otherwise, just return the value
317
+ # @param [Object] value Any valid value
318
+ # @return [Hash] Returns the value in the form of hash
319
+ def _to_hash(value)
320
+ if value.is_a?(Array)
321
+ value.compact.map { |v| _to_hash(v) }
322
+ elsif value.is_a?(Hash)
323
+ {}.tap do |hash|
324
+ value.each { |k, v| hash[k] = _to_hash(v) }
325
+ end
326
+ elsif value.respond_to? :to_hash
327
+ value.to_hash
328
+ else
329
+ value
330
+ end
331
+ end
332
+ end
333
+ end