twilio-api-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +213 -0
  4. data/bin/console +15 -0
  5. data/lib/twilio_ap_is/api_helper.rb +10 -0
  6. data/lib/twilio_ap_is/apis/accounts_v1_auth_token_promotion_api.rb +27 -0
  7. data/lib/twilio_ap_is/apis/accounts_v1_aws_api.rb +137 -0
  8. data/lib/twilio_ap_is/apis/accounts_v1_bulk_consents_api.rb +41 -0
  9. data/lib/twilio_ap_is/apis/accounts_v1_bulk_contacts_api.rb +36 -0
  10. data/lib/twilio_ap_is/apis/accounts_v1_messaging_geopermissions_api.rb +54 -0
  11. data/lib/twilio_ap_is/apis/accounts_v1_public_key_api.rb +136 -0
  12. data/lib/twilio_ap_is/apis/accounts_v1_safelist_api.rb +69 -0
  13. data/lib/twilio_ap_is/apis/accounts_v1_secondary_auth_token_api.rb +39 -0
  14. data/lib/twilio_ap_is/apis/base_api.rb +67 -0
  15. data/lib/twilio_ap_is/apis/chat_v3_channel_api.rb +51 -0
  16. data/lib/twilio_ap_is/apis/conversations_v1_address_configuration_api.rb +218 -0
  17. data/lib/twilio_ap_is/apis/conversations_v1_binding_api.rb +116 -0
  18. data/lib/twilio_ap_is/apis/conversations_v1_configuration_api.rb +133 -0
  19. data/lib/twilio_ap_is/apis/conversations_v1_conversation_api.rb +550 -0
  20. data/lib/twilio_ap_is/apis/conversations_v1_conversation_with_participants_api.rb +182 -0
  21. data/lib/twilio_ap_is/apis/conversations_v1_credential_api.rb +189 -0
  22. data/lib/twilio_ap_is/apis/conversations_v1_delivery_receipt_api.rb +183 -0
  23. data/lib/twilio_ap_is/apis/conversations_v1_message_api.rb +497 -0
  24. data/lib/twilio_ap_is/apis/conversations_v1_notification_api.rb +124 -0
  25. data/lib/twilio_ap_is/apis/conversations_v1_participant_api.rb +546 -0
  26. data/lib/twilio_ap_is/apis/conversations_v1_participant_conversation_api.rb +99 -0
  27. data/lib/twilio_ap_is/apis/conversations_v1_role_api.rb +325 -0
  28. data/lib/twilio_ap_is/apis/conversations_v1_service_api.rb +98 -0
  29. data/lib/twilio_ap_is/apis/conversations_v1_user_api.rb +364 -0
  30. data/lib/twilio_ap_is/apis/conversations_v1_user_conversation_api.rb +335 -0
  31. data/lib/twilio_ap_is/apis/conversations_v1_webhook_api.rb +561 -0
  32. data/lib/twilio_ap_is/apis/notify_v1_binding_api.rb +186 -0
  33. data/lib/twilio_ap_is/apis/notify_v1_credential_api.rb +183 -0
  34. data/lib/twilio_ap_is/apis/notify_v1_notification_api.rb +174 -0
  35. data/lib/twilio_ap_is/apis/notify_v1_service_api.rb +262 -0
  36. data/lib/twilio_ap_is/apis/taskrouter_v1_activity_api.rb +177 -0
  37. data/lib/twilio_ap_is/apis/taskrouter_v1_event_api.rb +125 -0
  38. data/lib/twilio_ap_is/apis/taskrouter_v1_task_api.rb +310 -0
  39. data/lib/twilio_ap_is/apis/taskrouter_v1_task_channel_api.rb +173 -0
  40. data/lib/twilio_ap_is/apis/taskrouter_v1_task_queue_api.rb +232 -0
  41. data/lib/twilio_ap_is/apis/taskrouter_v1_task_queue_bulk_real_time_statistics_api.rb +36 -0
  42. data/lib/twilio_ap_is/apis/taskrouter_v1_task_queue_cumulative_statistics_api.rb +63 -0
  43. data/lib/twilio_ap_is/apis/taskrouter_v1_task_queue_real_time_statistics_api.rb +41 -0
  44. data/lib/twilio_ap_is/apis/taskrouter_v1_task_queue_statistics_api.rb +63 -0
  45. data/lib/twilio_ap_is/apis/taskrouter_v1_task_queues_statistics_api.rb +72 -0
  46. data/lib/twilio_ap_is/apis/taskrouter_v1_task_reservation_api.rb +396 -0
  47. data/lib/twilio_ap_is/apis/taskrouter_v1_worker_api.rb +232 -0
  48. data/lib/twilio_ap_is/apis/taskrouter_v1_worker_channel_api.rb +126 -0
  49. data/lib/twilio_ap_is/apis/taskrouter_v1_worker_reservation_api.rb +385 -0
  50. data/lib/twilio_ap_is/apis/taskrouter_v1_worker_statistics_api.rb +57 -0
  51. data/lib/twilio_ap_is/apis/taskrouter_v1_workers_cumulative_statistics_api.rb +51 -0
  52. data/lib/twilio_ap_is/apis/taskrouter_v1_workers_real_time_statistics_api.rb +35 -0
  53. data/lib/twilio_ap_is/apis/taskrouter_v1_workers_statistics_api.rb +63 -0
  54. data/lib/twilio_ap_is/apis/taskrouter_v1_workflow_api.rb +213 -0
  55. data/lib/twilio_ap_is/apis/taskrouter_v1_workflow_cumulative_statistics_api.rb +68 -0
  56. data/lib/twilio_ap_is/apis/taskrouter_v1_workflow_real_time_statistics_api.rb +41 -0
  57. data/lib/twilio_ap_is/apis/taskrouter_v1_workflow_statistics_api.rb +67 -0
  58. data/lib/twilio_ap_is/apis/taskrouter_v1_workspace_api.rb +225 -0
  59. data/lib/twilio_ap_is/apis/taskrouter_v1_workspace_cumulative_statistics_api.rb +62 -0
  60. data/lib/twilio_ap_is/apis/taskrouter_v1_workspace_real_time_statistics_api.rb +35 -0
  61. data/lib/twilio_ap_is/apis/taskrouter_v1_workspace_statistics_api.rb +61 -0
  62. data/lib/twilio_ap_is/apis/verify_v2_service_api.rb +178 -0
  63. data/lib/twilio_ap_is/apis/verify_v2_verification_api.rb +143 -0
  64. data/lib/twilio_ap_is/apis/verify_v2_verification_check_api.rb +61 -0
  65. data/lib/twilio_ap_is/client.rb +417 -0
  66. data/lib/twilio_ap_is/configuration.rb +187 -0
  67. data/lib/twilio_ap_is/exceptions/api_exception.rb +21 -0
  68. data/lib/twilio_ap_is/exceptions/v2_services_verifications429_error_exception.rb +63 -0
  69. data/lib/twilio_ap_is/http/api_response.rb +19 -0
  70. data/lib/twilio_ap_is/http/auth/basic_auth.rb +62 -0
  71. data/lib/twilio_ap_is/http/http_call_back.rb +10 -0
  72. data/lib/twilio_ap_is/http/http_method_enum.rb +10 -0
  73. data/lib/twilio_ap_is/http/http_request.rb +10 -0
  74. data/lib/twilio_ap_is/http/http_response.rb +10 -0
  75. data/lib/twilio_ap_is/http/proxy_settings.rb +22 -0
  76. data/lib/twilio_ap_is/logging/configuration/api_logging_configuration.rb +186 -0
  77. data/lib/twilio_ap_is/logging/sdk_logger.rb +17 -0
  78. data/lib/twilio_ap_is/models/access_token.rb +188 -0
  79. data/lib/twilio_ap_is/models/access_token_enum_factor_types.rb +26 -0
  80. data/lib/twilio_ap_is/models/activity.rb +189 -0
  81. data/lib/twilio_ap_is/models/auth_token_promotion.rb +142 -0
  82. data/lib/twilio_ap_is/models/base_model.rb +110 -0
  83. data/lib/twilio_ap_is/models/binding.rb +269 -0
  84. data/lib/twilio_ap_is/models/binding_binding_type.rb +53 -0
  85. data/lib/twilio_ap_is/models/bucket.rb +186 -0
  86. data/lib/twilio_ap_is/models/bulk_consents.rb +83 -0
  87. data/lib/twilio_ap_is/models/bulk_contacts.rb +83 -0
  88. data/lib/twilio_ap_is/models/challenge.rb +317 -0
  89. data/lib/twilio_ap_is/models/challenge_enum_challenge_reasons.rb +41 -0
  90. data/lib/twilio_ap_is/models/challenge_enum_challenge_statuses.rb +45 -0
  91. data/lib/twilio_ap_is/models/challenge_enum_factor_types.rb +41 -0
  92. data/lib/twilio_ap_is/models/channel.rb +249 -0
  93. data/lib/twilio_ap_is/models/channel_channel_type.rb +36 -0
  94. data/lib/twilio_ap_is/models/channel_webhook_enabled_type.rb +36 -0
  95. data/lib/twilio_ap_is/models/configuration.rb +164 -0
  96. data/lib/twilio_ap_is/models/configuration_address.rb +199 -0
  97. data/lib/twilio_ap_is/models/configuration_address_auto_creation_type.rb +40 -0
  98. data/lib/twilio_ap_is/models/configuration_address_method.rb +36 -0
  99. data/lib/twilio_ap_is/models/configuration_address_type.rb +60 -0
  100. data/lib/twilio_ap_is/models/configuration_webhook.rb +154 -0
  101. data/lib/twilio_ap_is/models/configuration_webhook_method.rb +46 -0
  102. data/lib/twilio_ap_is/models/configuration_webhook_target.rb +37 -0
  103. data/lib/twilio_ap_is/models/conversation.rb +264 -0
  104. data/lib/twilio_ap_is/models/conversation_message.rb +268 -0
  105. data/lib/twilio_ap_is/models/conversation_message_order_type.rb +36 -0
  106. data/lib/twilio_ap_is/models/conversation_message_receipt.rb +219 -0
  107. data/lib/twilio_ap_is/models/conversation_message_receipt_delivery_status.rb +49 -0
  108. data/lib/twilio_ap_is/models/conversation_participant.rb +240 -0
  109. data/lib/twilio_ap_is/models/conversation_scoped_webhook.rb +178 -0
  110. data/lib/twilio_ap_is/models/conversation_scoped_webhook_method.rb +36 -0
  111. data/lib/twilio_ap_is/models/conversation_scoped_webhook_target.rb +40 -0
  112. data/lib/twilio_ap_is/models/conversation_state.rb +45 -0
  113. data/lib/twilio_ap_is/models/conversation_webhook_method.rb +36 -0
  114. data/lib/twilio_ap_is/models/conversation_webhook_target.rb +37 -0
  115. data/lib/twilio_ap_is/models/conversation_with_participants.rb +264 -0
  116. data/lib/twilio_ap_is/models/conversation_with_participants_state.rb +45 -0
  117. data/lib/twilio_ap_is/models/credential.rb +175 -0
  118. data/lib/twilio_ap_is/models/credential1.rb +174 -0
  119. data/lib/twilio_ap_is/models/credential_aws.rb +153 -0
  120. data/lib/twilio_ap_is/models/credential_public_key.rb +153 -0
  121. data/lib/twilio_ap_is/models/credential_push_type.rb +41 -0
  122. data/lib/twilio_ap_is/models/entity.rb +177 -0
  123. data/lib/twilio_ap_is/models/event.rb +270 -0
  124. data/lib/twilio_ap_is/models/factor.rb +235 -0
  125. data/lib/twilio_ap_is/models/factor_enum_factor_statuses.rb +36 -0
  126. data/lib/twilio_ap_is/models/factor_enum_factor_type.rb +40 -0
  127. data/lib/twilio_ap_is/models/factor_enum_notification_platforms.rb +40 -0
  128. data/lib/twilio_ap_is/models/factor_enum_totp_algorithms.rb +40 -0
  129. data/lib/twilio_ap_is/models/form_enum_form_types.rb +26 -0
  130. data/lib/twilio_ap_is/models/list_activity_response.rb +94 -0
  131. data/lib/twilio_ap_is/models/list_binding_response.rb +94 -0
  132. data/lib/twilio_ap_is/models/list_configuration_address_response.rb +95 -0
  133. data/lib/twilio_ap_is/models/list_conversation_message_receipt_response.rb +95 -0
  134. data/lib/twilio_ap_is/models/list_conversation_message_response.rb +94 -0
  135. data/lib/twilio_ap_is/models/list_conversation_participant_response.rb +94 -0
  136. data/lib/twilio_ap_is/models/list_conversation_response.rb +94 -0
  137. data/lib/twilio_ap_is/models/list_conversation_scoped_webhook_response.rb +94 -0
  138. data/lib/twilio_ap_is/models/list_credential_aws_response.rb +94 -0
  139. data/lib/twilio_ap_is/models/list_credential_public_key_response.rb +94 -0
  140. data/lib/twilio_ap_is/models/list_credential_response.rb +94 -0
  141. data/lib/twilio_ap_is/models/list_event_response.rb +94 -0
  142. data/lib/twilio_ap_is/models/list_participant_conversation_response.rb +94 -0
  143. data/lib/twilio_ap_is/models/list_role_response.rb +94 -0
  144. data/lib/twilio_ap_is/models/list_service_binding_response.rb +94 -0
  145. data/lib/twilio_ap_is/models/list_service_conversation_message_receipt_response.rb +95 -0
  146. data/lib/twilio_ap_is/models/list_service_conversation_message_response.rb +94 -0
  147. data/lib/twilio_ap_is/models/list_service_conversation_participant_response.rb +94 -0
  148. data/lib/twilio_ap_is/models/list_service_conversation_response.rb +94 -0
  149. data/lib/twilio_ap_is/models/list_service_conversation_scoped_webhook_response.rb +94 -0
  150. data/lib/twilio_ap_is/models/list_service_participant_conversation_response.rb +94 -0
  151. data/lib/twilio_ap_is/models/list_service_response.rb +94 -0
  152. data/lib/twilio_ap_is/models/list_service_role_response.rb +94 -0
  153. data/lib/twilio_ap_is/models/list_service_user_conversation_response.rb +94 -0
  154. data/lib/twilio_ap_is/models/list_service_user_response.rb +94 -0
  155. data/lib/twilio_ap_is/models/list_task_channel_response.rb +94 -0
  156. data/lib/twilio_ap_is/models/list_task_queue_response.rb +94 -0
  157. data/lib/twilio_ap_is/models/list_task_queues_statistics_response.rb +95 -0
  158. data/lib/twilio_ap_is/models/list_task_reservation_response.rb +94 -0
  159. data/lib/twilio_ap_is/models/list_task_response.rb +94 -0
  160. data/lib/twilio_ap_is/models/list_user_conversation_response.rb +94 -0
  161. data/lib/twilio_ap_is/models/list_user_response.rb +94 -0
  162. data/lib/twilio_ap_is/models/list_worker_channel_response.rb +94 -0
  163. data/lib/twilio_ap_is/models/list_worker_reservation_response.rb +94 -0
  164. data/lib/twilio_ap_is/models/list_worker_response.rb +94 -0
  165. data/lib/twilio_ap_is/models/list_workflow_response.rb +94 -0
  166. data/lib/twilio_ap_is/models/list_workspace_response.rb +94 -0
  167. data/lib/twilio_ap_is/models/messaging_configuration.rb +170 -0
  168. data/lib/twilio_ap_is/models/meta.rb +140 -0
  169. data/lib/twilio_ap_is/models/msg_geopermissions.rb +86 -0
  170. data/lib/twilio_ap_is/models/new_factor.rb +277 -0
  171. data/lib/twilio_ap_is/models/new_factor_enum_factor_statuses.rb +36 -0
  172. data/lib/twilio_ap_is/models/new_factor_enum_factor_types.rb +40 -0
  173. data/lib/twilio_ap_is/models/new_factor_enum_notification_platforms.rb +40 -0
  174. data/lib/twilio_ap_is/models/new_factor_enum_totp_algorithms.rb +40 -0
  175. data/lib/twilio_ap_is/models/notif_priority.rb +43 -0
  176. data/lib/twilio_ap_is/models/notification.rb +363 -0
  177. data/lib/twilio_ap_is/models/notification1.rb +181 -0
  178. data/lib/twilio_ap_is/models/participant_conversation.rb +325 -0
  179. data/lib/twilio_ap_is/models/participant_conversation_state.rb +41 -0
  180. data/lib/twilio_ap_is/models/rate_limit.rb +189 -0
  181. data/lib/twilio_ap_is/models/role.rb +192 -0
  182. data/lib/twilio_ap_is/models/role_role_type.rb +40 -0
  183. data/lib/twilio_ap_is/models/safelist.rb +88 -0
  184. data/lib/twilio_ap_is/models/safelist1.rb +99 -0
  185. data/lib/twilio_ap_is/models/secondary_auth_token.rb +145 -0
  186. data/lib/twilio_ap_is/models/service.rb +164 -0
  187. data/lib/twilio_ap_is/models/service1.rb +380 -0
  188. data/lib/twilio_ap_is/models/service2.rb +350 -0
  189. data/lib/twilio_ap_is/models/service_binding.rb +226 -0
  190. data/lib/twilio_ap_is/models/service_binding_binding_type.rb +47 -0
  191. data/lib/twilio_ap_is/models/service_configuration.rb +180 -0
  192. data/lib/twilio_ap_is/models/service_conversation.rb +264 -0
  193. data/lib/twilio_ap_is/models/service_conversation_message.rb +282 -0
  194. data/lib/twilio_ap_is/models/service_conversation_message_order_type.rb +36 -0
  195. data/lib/twilio_ap_is/models/service_conversation_message_receipt.rb +233 -0
  196. data/lib/twilio_ap_is/models/service_conversation_message_receipt_delivery_status.rb +49 -0
  197. data/lib/twilio_ap_is/models/service_conversation_participant.rb +256 -0
  198. data/lib/twilio_ap_is/models/service_conversation_scoped_webhook.rb +191 -0
  199. data/lib/twilio_ap_is/models/service_conversation_scoped_webhook_method.rb +36 -0
  200. data/lib/twilio_ap_is/models/service_conversation_scoped_webhook_target.rb +40 -0
  201. data/lib/twilio_ap_is/models/service_conversation_state.rb +45 -0
  202. data/lib/twilio_ap_is/models/service_conversation_with_participants.rb +264 -0
  203. data/lib/twilio_ap_is/models/service_conversation_with_participants_state.rb +45 -0
  204. data/lib/twilio_ap_is/models/service_notification.rb +155 -0
  205. data/lib/twilio_ap_is/models/service_participant_conversation.rb +325 -0
  206. data/lib/twilio_ap_is/models/service_participant_conversation_state.rb +41 -0
  207. data/lib/twilio_ap_is/models/service_role.rb +192 -0
  208. data/lib/twilio_ap_is/models/service_role_role_type.rb +40 -0
  209. data/lib/twilio_ap_is/models/service_stats_conversations_rate_limiting_errors_source.rb +36 -0
  210. data/lib/twilio_ap_is/models/service_user.rb +250 -0
  211. data/lib/twilio_ap_is/models/service_user_conversation.rb +317 -0
  212. data/lib/twilio_ap_is/models/service_user_conversation_notification_level.rb +37 -0
  213. data/lib/twilio_ap_is/models/service_user_conversation_state.rb +41 -0
  214. data/lib/twilio_ap_is/models/service_webhook_configuration.rb +160 -0
  215. data/lib/twilio_ap_is/models/service_webhook_configuration_method.rb +37 -0
  216. data/lib/twilio_ap_is/models/stats_twilsock_rate_limiting_errors_source.rb +26 -0
  217. data/lib/twilio_ap_is/models/task_channel.rb +204 -0
  218. data/lib/twilio_ap_is/models/task_queue.rb +278 -0
  219. data/lib/twilio_ap_is/models/task_queue_bulk_real_time_statistics.rb +141 -0
  220. data/lib/twilio_ap_is/models/task_queue_cumulative.rb +356 -0
  221. data/lib/twilio_ap_is/models/task_queue_real_time_statistics.rb +250 -0
  222. data/lib/twilio_ap_is/models/task_queue_statistics.rb +135 -0
  223. data/lib/twilio_ap_is/models/task_queue_task_order.rb +40 -0
  224. data/lib/twilio_ap_is/models/task_queues_stats.rb +124 -0
  225. data/lib/twilio_ap_is/models/task_reservation.rb +210 -0
  226. data/lib/twilio_ap_is/models/task_reservation_call_status.rb +44 -0
  227. data/lib/twilio_ap_is/models/task_reservation_conference_event.rb +56 -0
  228. data/lib/twilio_ap_is/models/task_reservation_status.rb +61 -0
  229. data/lib/twilio_ap_is/models/task_reservation_supervisor_mode.rb +40 -0
  230. data/lib/twilio_ap_is/models/task_router_task.rb +394 -0
  231. data/lib/twilio_ap_is/models/task_status.rb +53 -0
  232. data/lib/twilio_ap_is/models/user.rb +250 -0
  233. data/lib/twilio_ap_is/models/user_binding_binding_type.rb +52 -0
  234. data/lib/twilio_ap_is/models/user_conversation.rb +317 -0
  235. data/lib/twilio_ap_is/models/user_conversation_notification_level.rb +37 -0
  236. data/lib/twilio_ap_is/models/user_conversation_state.rb +41 -0
  237. data/lib/twilio_ap_is/models/v2_form.rb +112 -0
  238. data/lib/twilio_ap_is/models/verification.rb +262 -0
  239. data/lib/twilio_ap_is/models/verification_attempt.rb +219 -0
  240. data/lib/twilio_ap_is/models/verification_attempt_enum_attempt_status.rb +40 -0
  241. data/lib/twilio_ap_is/models/verification_attempt_enum_call_status.rb +60 -0
  242. data/lib/twilio_ap_is/models/verification_attempt_enum_channels.rb +49 -0
  243. data/lib/twilio_ap_is/models/verification_attempt_enum_conversion_status.rb +38 -0
  244. data/lib/twilio_ap_is/models/verification_attempt_enum_message_status.rb +80 -0
  245. data/lib/twilio_ap_is/models/verification_attempts.rb +129 -0
  246. data/lib/twilio_ap_is/models/verification_attempts_summary_enum_channels.rb +48 -0
  247. data/lib/twilio_ap_is/models/verification_check.rb +231 -0
  248. data/lib/twilio_ap_is/models/verification_check_enum_channel.rb +50 -0
  249. data/lib/twilio_ap_is/models/verification_enum_channel.rb +50 -0
  250. data/lib/twilio_ap_is/models/verification_enum_risk_check.rb +39 -0
  251. data/lib/twilio_ap_is/models/verification_enum_status.rb +37 -0
  252. data/lib/twilio_ap_is/models/verification_template.rb +126 -0
  253. data/lib/twilio_ap_is/models/webhook.rb +222 -0
  254. data/lib/twilio_ap_is/models/webhook_enum_status.rb +37 -0
  255. data/lib/twilio_ap_is/models/webhook_enum_version.rb +37 -0
  256. data/lib/twilio_ap_is/models/worker.rb +247 -0
  257. data/lib/twilio_ap_is/models/worker_channel.rb +244 -0
  258. data/lib/twilio_ap_is/models/worker_instance_statistics.rb +122 -0
  259. data/lib/twilio_ap_is/models/worker_reservation.rb +210 -0
  260. data/lib/twilio_ap_is/models/worker_reservation_call_status.rb +44 -0
  261. data/lib/twilio_ap_is/models/worker_reservation_conference_event.rb +56 -0
  262. data/lib/twilio_ap_is/models/worker_reservation_status.rb +61 -0
  263. data/lib/twilio_ap_is/models/worker_statistics.rb +122 -0
  264. data/lib/twilio_ap_is/models/workers_cumulative_statistics.rb +221 -0
  265. data/lib/twilio_ap_is/models/workers_real_time_statistics.rb +124 -0
  266. data/lib/twilio_ap_is/models/workflow.rb +247 -0
  267. data/lib/twilio_ap_is/models/workflow_cumulative_statistics.rb +347 -0
  268. data/lib/twilio_ap_is/models/workflow_real_time_statistics.rb +173 -0
  269. data/lib/twilio_ap_is/models/workflow_statistics.rb +135 -0
  270. data/lib/twilio_ap_is/models/workspace.rb +285 -0
  271. data/lib/twilio_ap_is/models/workspace_cumulative_statistics.rb +334 -0
  272. data/lib/twilio_ap_is/models/workspace_queue_order.rb +40 -0
  273. data/lib/twilio_ap_is/models/workspace_real_time_statistics.rb +185 -0
  274. data/lib/twilio_ap_is/models/workspace_statistics.rb +122 -0
  275. data/lib/twilio_ap_is/utilities/date_time_helper.rb +11 -0
  276. data/lib/twilio_ap_is/utilities/file_wrapper.rb +28 -0
  277. data/lib/twilio_ap_is.rb +326 -0
  278. metadata +361 -0
@@ -0,0 +1,325 @@
1
+ # twilio_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module TwilioApIs
8
+ # ServiceParticipantConversation Model.
9
+ class ServiceParticipantConversation < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The unique ID of the
14
+ # [Account](https://www.twilio.com/docs/iam/api/account) responsible for
15
+ # this conversation.
16
+ # @return [String]
17
+ attr_accessor :account_sid
18
+
19
+ # The unique ID of the [Conversation
20
+ # Service](https://www.twilio.com/docs/conversations/api/service-resource)
21
+ # this conversation belongs to.
22
+ # @return [String]
23
+ attr_accessor :chat_service_sid
24
+
25
+ # The unique ID of the
26
+ # [Participant](https://www.twilio.com/docs/conversations/api/conversation-p
27
+ # articipant-resource).
28
+ # @return [String]
29
+ attr_accessor :participant_sid
30
+
31
+ # The unique string that identifies the conversation participant as
32
+ # [Conversation
33
+ # User](https://www.twilio.com/docs/conversations/api/user-resource).
34
+ # @return [String]
35
+ attr_accessor :participant_user_sid
36
+
37
+ # A unique string identifier for the conversation participant as
38
+ # [Conversation
39
+ # User](https://www.twilio.com/docs/conversations/api/user-resource). This
40
+ # parameter is non-null if (and only if) the participant is using the
41
+ # Conversations SDK to communicate. Limited to 256 characters.
42
+ # @return [String]
43
+ attr_accessor :participant_identity
44
+
45
+ # Information about how this participant exchanges messages with the
46
+ # conversation. A JSON parameter consisting of type and address fields of
47
+ # the participant.
48
+ # @return [Object]
49
+ attr_accessor :participant_messaging_binding
50
+
51
+ # The unique ID of the
52
+ # [Conversation](https://www.twilio.com/docs/conversations/api/conversation-
53
+ # resource) this Participant belongs to.
54
+ # @return [String]
55
+ attr_accessor :conversation_sid
56
+
57
+ # An application-defined string that uniquely identifies the Conversation
58
+ # resource.
59
+ # @return [String]
60
+ attr_accessor :conversation_unique_name
61
+
62
+ # The human-readable name of this conversation, limited to 256 characters.
63
+ # Optional.
64
+ # @return [String]
65
+ attr_accessor :conversation_friendly_name
66
+
67
+ # An optional string metadata field you can use to store any data you wish.
68
+ # The string value must contain structurally valid JSON if specified.
69
+ # **Note** that if the attributes are not set "{}" will be returned.
70
+ # @return [String]
71
+ attr_accessor :conversation_attributes
72
+
73
+ # The date that this conversation was created, given in ISO 8601 format.
74
+ # @return [DateTime]
75
+ attr_accessor :conversation_date_created
76
+
77
+ # The date that this conversation was last updated, given in ISO 8601
78
+ # format.
79
+ # @return [DateTime]
80
+ attr_accessor :conversation_date_updated
81
+
82
+ # Identity of the creator of this Conversation.
83
+ # @return [String]
84
+ attr_accessor :conversation_created_by
85
+
86
+ # The current state of this User Conversation. One of `inactive`, `active`
87
+ # or `closed`.
88
+ # @return [ServiceParticipantConversationState]
89
+ attr_accessor :conversation_state
90
+
91
+ # Timer date values representing state update for this conversation.
92
+ # @return [Object]
93
+ attr_accessor :conversation_timers
94
+
95
+ # Contains absolute URLs to access the
96
+ # [participant](https://www.twilio.com/docs/conversations/api/conversation-p
97
+ # articipant-resource) and
98
+ # [conversation](https://www.twilio.com/docs/conversations/api/conversation-
99
+ # resource) of this conversation.
100
+ # @return [Object]
101
+ attr_accessor :links
102
+
103
+ # A mapping from model property names to API property names.
104
+ def self.names
105
+ @_hash = {} if @_hash.nil?
106
+ @_hash['account_sid'] = 'account_sid'
107
+ @_hash['chat_service_sid'] = 'chat_service_sid'
108
+ @_hash['participant_sid'] = 'participant_sid'
109
+ @_hash['participant_user_sid'] = 'participant_user_sid'
110
+ @_hash['participant_identity'] = 'participant_identity'
111
+ @_hash['participant_messaging_binding'] =
112
+ 'participant_messaging_binding'
113
+ @_hash['conversation_sid'] = 'conversation_sid'
114
+ @_hash['conversation_unique_name'] = 'conversation_unique_name'
115
+ @_hash['conversation_friendly_name'] = 'conversation_friendly_name'
116
+ @_hash['conversation_attributes'] = 'conversation_attributes'
117
+ @_hash['conversation_date_created'] = 'conversation_date_created'
118
+ @_hash['conversation_date_updated'] = 'conversation_date_updated'
119
+ @_hash['conversation_created_by'] = 'conversation_created_by'
120
+ @_hash['conversation_state'] = 'conversation_state'
121
+ @_hash['conversation_timers'] = 'conversation_timers'
122
+ @_hash['links'] = 'links'
123
+ @_hash
124
+ end
125
+
126
+ # An array for optional fields
127
+ def self.optionals
128
+ %w[
129
+ account_sid
130
+ chat_service_sid
131
+ participant_sid
132
+ participant_user_sid
133
+ participant_identity
134
+ participant_messaging_binding
135
+ conversation_sid
136
+ conversation_unique_name
137
+ conversation_friendly_name
138
+ conversation_attributes
139
+ conversation_date_created
140
+ conversation_date_updated
141
+ conversation_created_by
142
+ conversation_state
143
+ conversation_timers
144
+ links
145
+ ]
146
+ end
147
+
148
+ # An array for nullable fields
149
+ def self.nullables
150
+ %w[
151
+ account_sid
152
+ chat_service_sid
153
+ participant_sid
154
+ participant_user_sid
155
+ participant_identity
156
+ participant_messaging_binding
157
+ conversation_sid
158
+ conversation_unique_name
159
+ conversation_friendly_name
160
+ conversation_attributes
161
+ conversation_date_created
162
+ conversation_date_updated
163
+ conversation_created_by
164
+ conversation_timers
165
+ links
166
+ ]
167
+ end
168
+
169
+ def initialize(account_sid: SKIP, chat_service_sid: SKIP,
170
+ participant_sid: SKIP, participant_user_sid: SKIP,
171
+ participant_identity: SKIP,
172
+ participant_messaging_binding: SKIP, conversation_sid: SKIP,
173
+ conversation_unique_name: SKIP,
174
+ conversation_friendly_name: SKIP,
175
+ conversation_attributes: SKIP,
176
+ conversation_date_created: SKIP,
177
+ conversation_date_updated: SKIP,
178
+ conversation_created_by: SKIP, conversation_state: SKIP,
179
+ conversation_timers: SKIP, links: SKIP,
180
+ additional_properties: nil)
181
+ # Add additional model properties to the instance
182
+ additional_properties = {} if additional_properties.nil?
183
+
184
+ @account_sid = account_sid unless account_sid == SKIP
185
+ @chat_service_sid = chat_service_sid unless chat_service_sid == SKIP
186
+ @participant_sid = participant_sid unless participant_sid == SKIP
187
+ @participant_user_sid = participant_user_sid unless participant_user_sid == SKIP
188
+ @participant_identity = participant_identity unless participant_identity == SKIP
189
+ unless participant_messaging_binding == SKIP
190
+ @participant_messaging_binding =
191
+ participant_messaging_binding
192
+ end
193
+ @conversation_sid = conversation_sid unless conversation_sid == SKIP
194
+ @conversation_unique_name = conversation_unique_name unless conversation_unique_name == SKIP
195
+ unless conversation_friendly_name == SKIP
196
+ @conversation_friendly_name =
197
+ conversation_friendly_name
198
+ end
199
+ @conversation_attributes = conversation_attributes unless conversation_attributes == SKIP
200
+ unless conversation_date_created == SKIP
201
+ @conversation_date_created =
202
+ conversation_date_created
203
+ end
204
+ unless conversation_date_updated == SKIP
205
+ @conversation_date_updated =
206
+ conversation_date_updated
207
+ end
208
+ @conversation_created_by = conversation_created_by unless conversation_created_by == SKIP
209
+ @conversation_state = conversation_state unless conversation_state == SKIP
210
+ @conversation_timers = conversation_timers unless conversation_timers == SKIP
211
+ @links = links unless links == SKIP
212
+ @additional_properties = additional_properties
213
+ end
214
+
215
+ # Creates an instance of the object from a hash.
216
+ def self.from_hash(hash)
217
+ return nil unless hash
218
+
219
+ # Extract variables from the hash.
220
+ account_sid = hash.key?('account_sid') ? hash['account_sid'] : SKIP
221
+ chat_service_sid =
222
+ hash.key?('chat_service_sid') ? hash['chat_service_sid'] : SKIP
223
+ participant_sid =
224
+ hash.key?('participant_sid') ? hash['participant_sid'] : SKIP
225
+ participant_user_sid =
226
+ hash.key?('participant_user_sid') ? hash['participant_user_sid'] : SKIP
227
+ participant_identity =
228
+ hash.key?('participant_identity') ? hash['participant_identity'] : SKIP
229
+ participant_messaging_binding =
230
+ hash.key?('participant_messaging_binding') ? hash['participant_messaging_binding'] : SKIP
231
+ conversation_sid =
232
+ hash.key?('conversation_sid') ? hash['conversation_sid'] : SKIP
233
+ conversation_unique_name =
234
+ hash.key?('conversation_unique_name') ? hash['conversation_unique_name'] : SKIP
235
+ conversation_friendly_name =
236
+ hash.key?('conversation_friendly_name') ? hash['conversation_friendly_name'] : SKIP
237
+ conversation_attributes =
238
+ hash.key?('conversation_attributes') ? hash['conversation_attributes'] : SKIP
239
+ conversation_date_created = if hash.key?('conversation_date_created')
240
+ (DateTimeHelper.from_rfc3339(hash['conversation_date_created']) if hash['conversation_date_created'])
241
+ else
242
+ SKIP
243
+ end
244
+ conversation_date_updated = if hash.key?('conversation_date_updated')
245
+ (DateTimeHelper.from_rfc3339(hash['conversation_date_updated']) if hash['conversation_date_updated'])
246
+ else
247
+ SKIP
248
+ end
249
+ conversation_created_by =
250
+ hash.key?('conversation_created_by') ? hash['conversation_created_by'] : SKIP
251
+ conversation_state =
252
+ hash.key?('conversation_state') ? hash['conversation_state'] : SKIP
253
+ conversation_timers =
254
+ hash.key?('conversation_timers') ? hash['conversation_timers'] : SKIP
255
+ links = hash.key?('links') ? hash['links'] : SKIP
256
+
257
+ # Create a new hash for additional properties, removing known properties.
258
+ new_hash = hash.reject { |k, _| names.value?(k) }
259
+
260
+ additional_properties = APIHelper.get_additional_properties(
261
+ new_hash, proc { |value| value }
262
+ )
263
+
264
+ # Create object from extracted values.
265
+ ServiceParticipantConversation.new(account_sid: account_sid,
266
+ chat_service_sid: chat_service_sid,
267
+ participant_sid: participant_sid,
268
+ participant_user_sid: participant_user_sid,
269
+ participant_identity: participant_identity,
270
+ participant_messaging_binding: participant_messaging_binding,
271
+ conversation_sid: conversation_sid,
272
+ conversation_unique_name: conversation_unique_name,
273
+ conversation_friendly_name: conversation_friendly_name,
274
+ conversation_attributes: conversation_attributes,
275
+ conversation_date_created: conversation_date_created,
276
+ conversation_date_updated: conversation_date_updated,
277
+ conversation_created_by: conversation_created_by,
278
+ conversation_state: conversation_state,
279
+ conversation_timers: conversation_timers,
280
+ links: links,
281
+ additional_properties: additional_properties)
282
+ end
283
+
284
+ def to_custom_conversation_date_created
285
+ DateTimeHelper.to_rfc3339(conversation_date_created)
286
+ end
287
+
288
+ def to_custom_conversation_date_updated
289
+ DateTimeHelper.to_rfc3339(conversation_date_updated)
290
+ end
291
+
292
+ # Provides a human-readable string representation of the object.
293
+ def to_s
294
+ class_name = self.class.name.split('::').last
295
+ "<#{class_name} account_sid: #{@account_sid}, chat_service_sid: #{@chat_service_sid},"\
296
+ " participant_sid: #{@participant_sid}, participant_user_sid: #{@participant_user_sid},"\
297
+ " participant_identity: #{@participant_identity}, participant_messaging_binding:"\
298
+ " #{@participant_messaging_binding}, conversation_sid: #{@conversation_sid},"\
299
+ " conversation_unique_name: #{@conversation_unique_name}, conversation_friendly_name:"\
300
+ " #{@conversation_friendly_name}, conversation_attributes: #{@conversation_attributes},"\
301
+ " conversation_date_created: #{@conversation_date_created}, conversation_date_updated:"\
302
+ " #{@conversation_date_updated}, conversation_created_by: #{@conversation_created_by},"\
303
+ " conversation_state: #{@conversation_state}, conversation_timers: #{@conversation_timers},"\
304
+ " links: #{@links}, additional_properties: #{@additional_properties}>"
305
+ end
306
+
307
+ # Provides a debugging-friendly string with detailed object information.
308
+ def inspect
309
+ class_name = self.class.name.split('::').last
310
+ "<#{class_name} account_sid: #{@account_sid.inspect}, chat_service_sid:"\
311
+ " #{@chat_service_sid.inspect}, participant_sid: #{@participant_sid.inspect},"\
312
+ " participant_user_sid: #{@participant_user_sid.inspect}, participant_identity:"\
313
+ " #{@participant_identity.inspect}, participant_messaging_binding:"\
314
+ " #{@participant_messaging_binding.inspect}, conversation_sid: #{@conversation_sid.inspect},"\
315
+ " conversation_unique_name: #{@conversation_unique_name.inspect},"\
316
+ " conversation_friendly_name: #{@conversation_friendly_name.inspect},"\
317
+ " conversation_attributes: #{@conversation_attributes.inspect}, conversation_date_created:"\
318
+ " #{@conversation_date_created.inspect}, conversation_date_updated:"\
319
+ " #{@conversation_date_updated.inspect}, conversation_created_by:"\
320
+ " #{@conversation_created_by.inspect}, conversation_state: #{@conversation_state.inspect},"\
321
+ " conversation_timers: #{@conversation_timers.inspect}, links: #{@links.inspect},"\
322
+ " additional_properties: #{@additional_properties}>"
323
+ end
324
+ end
325
+ end
@@ -0,0 +1,41 @@
1
+ # twilio_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module TwilioApIs
7
+ # The current state of this User Conversation. One of `inactive`, `active` or
8
+ # `closed`.
9
+ class ServiceParticipantConversationState
10
+ SERVICE_PARTICIPANT_CONVERSATION_STATE = [
11
+ # TODO: Write general description for INACTIVE
12
+ INACTIVE = 'inactive'.freeze,
13
+
14
+ # TODO: Write general description for ACTIVE
15
+ ACTIVE = 'active'.freeze,
16
+
17
+ # TODO: Write general description for CLOSED
18
+ CLOSED = 'closed'.freeze
19
+ ].freeze
20
+
21
+ def self.validate(value)
22
+ return false if value.nil?
23
+
24
+ SERVICE_PARTICIPANT_CONVERSATION_STATE.include?(value)
25
+ end
26
+
27
+ def self.from_value(value, default_value = INACTIVE)
28
+ return default_value if value.nil?
29
+
30
+ str = value.to_s.strip
31
+
32
+ case str.downcase
33
+ when 'inactive' then INACTIVE
34
+ when 'active' then ACTIVE
35
+ when 'closed' then CLOSED
36
+ else
37
+ default_value
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,192 @@
1
+ # twilio_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module TwilioApIs
8
+ # ServiceRole Model.
9
+ class ServiceRole < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The unique string that we created to identify the Role resource.
14
+ # @return [String]
15
+ attr_accessor :sid
16
+
17
+ # The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that
18
+ # created the Role resource.
19
+ # @return [String]
20
+ attr_accessor :account_sid
21
+
22
+ # The SID of the [Conversation
23
+ # Service](https://www.twilio.com/docs/conversations/api/service-resource)
24
+ # the Role resource is associated with.
25
+ # @return [String]
26
+ attr_accessor :chat_service_sid
27
+
28
+ # The string that you assigned to describe the resource.
29
+ # @return [String]
30
+ attr_accessor :friendly_name
31
+
32
+ # The type of role. Can be: `conversation` for
33
+ # [Conversation](https://www.twilio.com/docs/conversations/api/conversation-
34
+ # resource) roles or `service` for [Conversation
35
+ # Service](https://www.twilio.com/docs/conversations/api/service-resource)
36
+ # roles.
37
+ # @return [ServiceRoleRoleType]
38
+ attr_accessor :type
39
+
40
+ # An array of the permissions the role has been granted.
41
+ # @return [Array[String]]
42
+ attr_accessor :permissions
43
+
44
+ # The date and time in GMT when the resource was created specified in [ISO
45
+ # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
46
+ # @return [DateTime]
47
+ attr_accessor :date_created
48
+
49
+ # The date and time in GMT when the resource was last updated specified in
50
+ # [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
51
+ # @return [DateTime]
52
+ attr_accessor :date_updated
53
+
54
+ # An absolute API resource URL for this user role.
55
+ # @return [String]
56
+ attr_accessor :url
57
+
58
+ # A mapping from model property names to API property names.
59
+ def self.names
60
+ @_hash = {} if @_hash.nil?
61
+ @_hash['sid'] = 'sid'
62
+ @_hash['account_sid'] = 'account_sid'
63
+ @_hash['chat_service_sid'] = 'chat_service_sid'
64
+ @_hash['friendly_name'] = 'friendly_name'
65
+ @_hash['type'] = 'type'
66
+ @_hash['permissions'] = 'permissions'
67
+ @_hash['date_created'] = 'date_created'
68
+ @_hash['date_updated'] = 'date_updated'
69
+ @_hash['url'] = 'url'
70
+ @_hash
71
+ end
72
+
73
+ # An array for optional fields
74
+ def self.optionals
75
+ %w[
76
+ sid
77
+ account_sid
78
+ chat_service_sid
79
+ friendly_name
80
+ type
81
+ permissions
82
+ date_created
83
+ date_updated
84
+ url
85
+ ]
86
+ end
87
+
88
+ # An array for nullable fields
89
+ def self.nullables
90
+ %w[
91
+ sid
92
+ account_sid
93
+ chat_service_sid
94
+ friendly_name
95
+ permissions
96
+ date_created
97
+ date_updated
98
+ url
99
+ ]
100
+ end
101
+
102
+ def initialize(sid: SKIP, account_sid: SKIP, chat_service_sid: SKIP,
103
+ friendly_name: SKIP, type: SKIP, permissions: SKIP,
104
+ date_created: SKIP, date_updated: SKIP, url: SKIP,
105
+ additional_properties: nil)
106
+ # Add additional model properties to the instance
107
+ additional_properties = {} if additional_properties.nil?
108
+
109
+ @sid = sid unless sid == SKIP
110
+ @account_sid = account_sid unless account_sid == SKIP
111
+ @chat_service_sid = chat_service_sid unless chat_service_sid == SKIP
112
+ @friendly_name = friendly_name unless friendly_name == SKIP
113
+ @type = type unless type == SKIP
114
+ @permissions = permissions unless permissions == SKIP
115
+ @date_created = date_created unless date_created == SKIP
116
+ @date_updated = date_updated unless date_updated == SKIP
117
+ @url = url unless url == SKIP
118
+ @additional_properties = additional_properties
119
+ end
120
+
121
+ # Creates an instance of the object from a hash.
122
+ def self.from_hash(hash)
123
+ return nil unless hash
124
+
125
+ # Extract variables from the hash.
126
+ sid = hash.key?('sid') ? hash['sid'] : SKIP
127
+ account_sid = hash.key?('account_sid') ? hash['account_sid'] : SKIP
128
+ chat_service_sid =
129
+ hash.key?('chat_service_sid') ? hash['chat_service_sid'] : SKIP
130
+ friendly_name = hash.key?('friendly_name') ? hash['friendly_name'] : SKIP
131
+ type = hash.key?('type') ? hash['type'] : SKIP
132
+ permissions = hash.key?('permissions') ? hash['permissions'] : SKIP
133
+ date_created = if hash.key?('date_created')
134
+ (DateTimeHelper.from_rfc3339(hash['date_created']) if hash['date_created'])
135
+ else
136
+ SKIP
137
+ end
138
+ date_updated = if hash.key?('date_updated')
139
+ (DateTimeHelper.from_rfc3339(hash['date_updated']) if hash['date_updated'])
140
+ else
141
+ SKIP
142
+ end
143
+ url = hash.key?('url') ? hash['url'] : SKIP
144
+
145
+ # Create a new hash for additional properties, removing known properties.
146
+ new_hash = hash.reject { |k, _| names.value?(k) }
147
+
148
+ additional_properties = APIHelper.get_additional_properties(
149
+ new_hash, proc { |value| value }
150
+ )
151
+
152
+ # Create object from extracted values.
153
+ ServiceRole.new(sid: sid,
154
+ account_sid: account_sid,
155
+ chat_service_sid: chat_service_sid,
156
+ friendly_name: friendly_name,
157
+ type: type,
158
+ permissions: permissions,
159
+ date_created: date_created,
160
+ date_updated: date_updated,
161
+ url: url,
162
+ additional_properties: additional_properties)
163
+ end
164
+
165
+ def to_custom_date_created
166
+ DateTimeHelper.to_rfc3339(date_created)
167
+ end
168
+
169
+ def to_custom_date_updated
170
+ DateTimeHelper.to_rfc3339(date_updated)
171
+ end
172
+
173
+ # Provides a human-readable string representation of the object.
174
+ def to_s
175
+ class_name = self.class.name.split('::').last
176
+ "<#{class_name} sid: #{@sid}, account_sid: #{@account_sid}, chat_service_sid:"\
177
+ " #{@chat_service_sid}, friendly_name: #{@friendly_name}, type: #{@type}, permissions:"\
178
+ " #{@permissions}, date_created: #{@date_created}, date_updated: #{@date_updated}, url:"\
179
+ " #{@url}, additional_properties: #{@additional_properties}>"
180
+ end
181
+
182
+ # Provides a debugging-friendly string with detailed object information.
183
+ def inspect
184
+ class_name = self.class.name.split('::').last
185
+ "<#{class_name} sid: #{@sid.inspect}, account_sid: #{@account_sid.inspect},"\
186
+ " chat_service_sid: #{@chat_service_sid.inspect}, friendly_name: #{@friendly_name.inspect},"\
187
+ " type: #{@type.inspect}, permissions: #{@permissions.inspect}, date_created:"\
188
+ " #{@date_created.inspect}, date_updated: #{@date_updated.inspect}, url: #{@url.inspect},"\
189
+ " additional_properties: #{@additional_properties}>"
190
+ end
191
+ end
192
+ end
@@ -0,0 +1,40 @@
1
+ # twilio_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module TwilioApIs
7
+ # The type of role. Can be: `conversation` for
8
+ # [Conversation](https://www.twilio.com/docs/conversations/api/conversation-re
9
+ # source) roles or `service` for [Conversation
10
+ # Service](https://www.twilio.com/docs/conversations/api/service-resource)
11
+ # roles.
12
+ class ServiceRoleRoleType
13
+ SERVICE_ROLE_ROLE_TYPE = [
14
+ # TODO: Write general description for CONVERSATION
15
+ CONVERSATION = 'conversation'.freeze,
16
+
17
+ # TODO: Write general description for SERVICE
18
+ SERVICE = 'service'.freeze
19
+ ].freeze
20
+
21
+ def self.validate(value)
22
+ return false if value.nil?
23
+
24
+ SERVICE_ROLE_ROLE_TYPE.include?(value)
25
+ end
26
+
27
+ def self.from_value(value, default_value = CONVERSATION)
28
+ return default_value if value.nil?
29
+
30
+ str = value.to_s.strip
31
+
32
+ case str.downcase
33
+ when 'conversation' then CONVERSATION
34
+ when 'service' then SERVICE
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,36 @@
1
+ # twilio_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module TwilioApIs
7
+ # Source via which the request came from. Can be sdk, api.
8
+ class ServiceStatsConversationsRateLimitingErrorsSource
9
+ SERVICE_STATS_CONVERSATIONS_RATE_LIMITING_ERRORS_SOURCE = [
10
+ # TODO: Write general description for SDK
11
+ SDK = 'SDK'.freeze,
12
+
13
+ # TODO: Write general description for API
14
+ API = 'API'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ SERVICE_STATS_CONVERSATIONS_RATE_LIMITING_ERRORS_SOURCE.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = SDK)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'sdk' then SDK
30
+ when 'api' then API
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end