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,160 @@
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
+ # ServiceWebhookConfiguration Model.
8
+ class ServiceWebhookConfiguration < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The unique ID of the
13
+ # [Account](https://www.twilio.com/docs/iam/api/account) responsible for
14
+ # this service.
15
+ # @return [String]
16
+ attr_accessor :account_sid
17
+
18
+ # The unique ID of the [Conversation
19
+ # Service](https://www.twilio.com/docs/conversations/api/service-resource)
20
+ # this conversation belongs to.
21
+ # @return [String]
22
+ attr_accessor :chat_service_sid
23
+
24
+ # The absolute url the pre-event webhook request should be sent to.
25
+ # @return [String]
26
+ attr_accessor :pre_webhook_url
27
+
28
+ # The absolute url the post-event webhook request should be sent to.
29
+ # @return [String]
30
+ attr_accessor :post_webhook_url
31
+
32
+ # The list of events that your configured webhook targets will receive.
33
+ # Events not configured here will not fire. Possible values are
34
+ # `onParticipantAdd`, `onParticipantAdded`, `onDeliveryUpdated`,
35
+ # `onConversationUpdated`, `onConversationRemove`, `onParticipantRemove`,
36
+ # `onConversationUpdate`, `onMessageAdd`, `onMessageRemoved`,
37
+ # `onParticipantUpdated`, `onConversationAdded`, `onMessageAdded`,
38
+ # `onConversationAdd`, `onConversationRemoved`, `onParticipantUpdate`,
39
+ # `onMessageRemove`, `onMessageUpdated`, `onParticipantRemoved`,
40
+ # `onMessageUpdate` or `onConversationStateUpdated`.
41
+ # @return [Array[String]]
42
+ attr_accessor :filters
43
+
44
+ # The HTTP method to be used when sending a webhook request. One of `GET` or
45
+ # `POST`.
46
+ # @return [ServiceWebhookConfigurationMethod]
47
+ attr_accessor :method
48
+
49
+ # An absolute API resource URL for this webhook.
50
+ # @return [String]
51
+ attr_accessor :url
52
+
53
+ # A mapping from model property names to API property names.
54
+ def self.names
55
+ @_hash = {} if @_hash.nil?
56
+ @_hash['account_sid'] = 'account_sid'
57
+ @_hash['chat_service_sid'] = 'chat_service_sid'
58
+ @_hash['pre_webhook_url'] = 'pre_webhook_url'
59
+ @_hash['post_webhook_url'] = 'post_webhook_url'
60
+ @_hash['filters'] = 'filters'
61
+ @_hash['method'] = 'method'
62
+ @_hash['url'] = 'url'
63
+ @_hash
64
+ end
65
+
66
+ # An array for optional fields
67
+ def self.optionals
68
+ %w[
69
+ account_sid
70
+ chat_service_sid
71
+ pre_webhook_url
72
+ post_webhook_url
73
+ filters
74
+ method
75
+ url
76
+ ]
77
+ end
78
+
79
+ # An array for nullable fields
80
+ def self.nullables
81
+ %w[
82
+ account_sid
83
+ chat_service_sid
84
+ pre_webhook_url
85
+ post_webhook_url
86
+ filters
87
+ url
88
+ ]
89
+ end
90
+
91
+ def initialize(account_sid: SKIP, chat_service_sid: SKIP,
92
+ pre_webhook_url: SKIP, post_webhook_url: SKIP, filters: SKIP,
93
+ method: SKIP, url: SKIP, additional_properties: nil)
94
+ # Add additional model properties to the instance
95
+ additional_properties = {} if additional_properties.nil?
96
+
97
+ @account_sid = account_sid unless account_sid == SKIP
98
+ @chat_service_sid = chat_service_sid unless chat_service_sid == SKIP
99
+ @pre_webhook_url = pre_webhook_url unless pre_webhook_url == SKIP
100
+ @post_webhook_url = post_webhook_url unless post_webhook_url == SKIP
101
+ @filters = filters unless filters == SKIP
102
+ @method = method unless method == SKIP
103
+ @url = url unless url == SKIP
104
+ @additional_properties = additional_properties
105
+ end
106
+
107
+ # Creates an instance of the object from a hash.
108
+ def self.from_hash(hash)
109
+ return nil unless hash
110
+
111
+ # Extract variables from the hash.
112
+ account_sid = hash.key?('account_sid') ? hash['account_sid'] : SKIP
113
+ chat_service_sid =
114
+ hash.key?('chat_service_sid') ? hash['chat_service_sid'] : SKIP
115
+ pre_webhook_url =
116
+ hash.key?('pre_webhook_url') ? hash['pre_webhook_url'] : SKIP
117
+ post_webhook_url =
118
+ hash.key?('post_webhook_url') ? hash['post_webhook_url'] : SKIP
119
+ filters = hash.key?('filters') ? hash['filters'] : SKIP
120
+ method = hash.key?('method') ? hash['method'] : SKIP
121
+ url = hash.key?('url') ? hash['url'] : SKIP
122
+
123
+ # Create a new hash for additional properties, removing known properties.
124
+ new_hash = hash.reject { |k, _| names.value?(k) }
125
+
126
+ additional_properties = APIHelper.get_additional_properties(
127
+ new_hash, proc { |value| value }
128
+ )
129
+
130
+ # Create object from extracted values.
131
+ ServiceWebhookConfiguration.new(account_sid: account_sid,
132
+ chat_service_sid: chat_service_sid,
133
+ pre_webhook_url: pre_webhook_url,
134
+ post_webhook_url: post_webhook_url,
135
+ filters: filters,
136
+ method: method,
137
+ url: url,
138
+ additional_properties: additional_properties)
139
+ end
140
+
141
+ # Provides a human-readable string representation of the object.
142
+ def to_s
143
+ class_name = self.class.name.split('::').last
144
+ "<#{class_name} account_sid: #{@account_sid}, chat_service_sid: #{@chat_service_sid},"\
145
+ " pre_webhook_url: #{@pre_webhook_url}, post_webhook_url: #{@post_webhook_url}, filters:"\
146
+ " #{@filters}, method: #{@method}, url: #{@url}, additional_properties:"\
147
+ " #{@additional_properties}>"
148
+ end
149
+
150
+ # Provides a debugging-friendly string with detailed object information.
151
+ def inspect
152
+ class_name = self.class.name.split('::').last
153
+ "<#{class_name} account_sid: #{@account_sid.inspect}, chat_service_sid:"\
154
+ " #{@chat_service_sid.inspect}, pre_webhook_url: #{@pre_webhook_url.inspect},"\
155
+ " post_webhook_url: #{@post_webhook_url.inspect}, filters: #{@filters.inspect}, method:"\
156
+ " #{@method.inspect}, url: #{@url.inspect}, additional_properties:"\
157
+ " #{@additional_properties}>"
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,37 @@
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 HTTP method to be used when sending a webhook request. One of `GET` or
8
+ # `POST`.
9
+ class ServiceWebhookConfigurationMethod
10
+ SERVICE_WEBHOOK_CONFIGURATION_METHOD = [
11
+ # TODO: Write general description for GET
12
+ GET = 'GET'.freeze,
13
+
14
+ # TODO: Write general description for POST
15
+ POST = 'POST'.freeze
16
+ ].freeze
17
+
18
+ def self.validate(value)
19
+ return false if value.nil?
20
+
21
+ SERVICE_WEBHOOK_CONFIGURATION_METHOD.include?(value)
22
+ end
23
+
24
+ def self.from_value(value, default_value = GET)
25
+ return default_value if value.nil?
26
+
27
+ str = value.to_s.strip
28
+
29
+ case str.downcase
30
+ when 'get' then GET
31
+ when 'post' then POST
32
+ else
33
+ default_value
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,26 @@
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 Twilsock.
8
+ class StatsTwilsockRateLimitingErrorsSource
9
+ STATS_TWILSOCK_RATE_LIMITING_ERRORS_SOURCE = [
10
+ # TODO: Write general description for TWILSOCK
11
+ TWILSOCK = 'TWILSOCK'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ STATS_TWILSOCK_RATE_LIMITING_ERRORS_SOURCE.include?(value)
18
+ end
19
+
20
+ def self.from_value(value, default_value = TWILSOCK)
21
+ return default_value if value.nil?
22
+
23
+ default_value
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,204 @@
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
+ # TaskChannel Model.
9
+ class TaskChannel < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that
14
+ # created the Task Channel resource.
15
+ # @return [String]
16
+ attr_accessor :account_sid
17
+
18
+ # The date and time in GMT when the resource was created specified in [ISO
19
+ # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
20
+ # @return [DateTime]
21
+ attr_accessor :date_created
22
+
23
+ # The date and time in GMT when the resource was last updated specified in
24
+ # [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
25
+ # @return [DateTime]
26
+ attr_accessor :date_updated
27
+
28
+ # The string that you assigned to describe the resource.
29
+ # @return [String]
30
+ attr_accessor :friendly_name
31
+
32
+ # The unique string that we created to identify the Task Channel resource.
33
+ # @return [String]
34
+ attr_accessor :sid
35
+
36
+ # An application-defined string that uniquely identifies the Task Channel,
37
+ # such as `voice` or `sms`.
38
+ # @return [String]
39
+ attr_accessor :unique_name
40
+
41
+ # The SID of the Workspace that contains the Task Channel.
42
+ # @return [String]
43
+ attr_accessor :workspace_sid
44
+
45
+ # Whether the Task Channel will prioritize Workers that have been idle. When
46
+ # `true`, Workers that have been idle the longest are prioritized.
47
+ # @return [TrueClass | FalseClass]
48
+ attr_accessor :channel_optimized_routing
49
+
50
+ # The absolute URL of the Task Channel resource.
51
+ # @return [String]
52
+ attr_accessor :url
53
+
54
+ # The URLs of related resources.
55
+ # @return [Object]
56
+ attr_accessor :links
57
+
58
+ # A mapping from model property names to API property names.
59
+ def self.names
60
+ @_hash = {} if @_hash.nil?
61
+ @_hash['account_sid'] = 'account_sid'
62
+ @_hash['date_created'] = 'date_created'
63
+ @_hash['date_updated'] = 'date_updated'
64
+ @_hash['friendly_name'] = 'friendly_name'
65
+ @_hash['sid'] = 'sid'
66
+ @_hash['unique_name'] = 'unique_name'
67
+ @_hash['workspace_sid'] = 'workspace_sid'
68
+ @_hash['channel_optimized_routing'] = 'channel_optimized_routing'
69
+ @_hash['url'] = 'url'
70
+ @_hash['links'] = 'links'
71
+ @_hash
72
+ end
73
+
74
+ # An array for optional fields
75
+ def self.optionals
76
+ %w[
77
+ account_sid
78
+ date_created
79
+ date_updated
80
+ friendly_name
81
+ sid
82
+ unique_name
83
+ workspace_sid
84
+ channel_optimized_routing
85
+ url
86
+ links
87
+ ]
88
+ end
89
+
90
+ # An array for nullable fields
91
+ def self.nullables
92
+ %w[
93
+ account_sid
94
+ date_created
95
+ date_updated
96
+ friendly_name
97
+ sid
98
+ unique_name
99
+ workspace_sid
100
+ channel_optimized_routing
101
+ url
102
+ links
103
+ ]
104
+ end
105
+
106
+ def initialize(account_sid: SKIP, date_created: SKIP, date_updated: SKIP,
107
+ friendly_name: SKIP, sid: SKIP, unique_name: SKIP,
108
+ workspace_sid: SKIP, channel_optimized_routing: SKIP,
109
+ url: SKIP, links: SKIP, additional_properties: nil)
110
+ # Add additional model properties to the instance
111
+ additional_properties = {} if additional_properties.nil?
112
+
113
+ @account_sid = account_sid unless account_sid == SKIP
114
+ @date_created = date_created unless date_created == SKIP
115
+ @date_updated = date_updated unless date_updated == SKIP
116
+ @friendly_name = friendly_name unless friendly_name == SKIP
117
+ @sid = sid unless sid == SKIP
118
+ @unique_name = unique_name unless unique_name == SKIP
119
+ @workspace_sid = workspace_sid unless workspace_sid == SKIP
120
+ unless channel_optimized_routing == SKIP
121
+ @channel_optimized_routing =
122
+ channel_optimized_routing
123
+ end
124
+ @url = url unless url == SKIP
125
+ @links = links unless links == SKIP
126
+ @additional_properties = additional_properties
127
+ end
128
+
129
+ # Creates an instance of the object from a hash.
130
+ def self.from_hash(hash)
131
+ return nil unless hash
132
+
133
+ # Extract variables from the hash.
134
+ account_sid = hash.key?('account_sid') ? hash['account_sid'] : SKIP
135
+ date_created = if hash.key?('date_created')
136
+ (DateTimeHelper.from_rfc3339(hash['date_created']) if hash['date_created'])
137
+ else
138
+ SKIP
139
+ end
140
+ date_updated = if hash.key?('date_updated')
141
+ (DateTimeHelper.from_rfc3339(hash['date_updated']) if hash['date_updated'])
142
+ else
143
+ SKIP
144
+ end
145
+ friendly_name = hash.key?('friendly_name') ? hash['friendly_name'] : SKIP
146
+ sid = hash.key?('sid') ? hash['sid'] : SKIP
147
+ unique_name = hash.key?('unique_name') ? hash['unique_name'] : SKIP
148
+ workspace_sid = hash.key?('workspace_sid') ? hash['workspace_sid'] : SKIP
149
+ channel_optimized_routing =
150
+ hash.key?('channel_optimized_routing') ? hash['channel_optimized_routing'] : SKIP
151
+ url = hash.key?('url') ? hash['url'] : SKIP
152
+ links = hash.key?('links') ? hash['links'] : SKIP
153
+
154
+ # Create a new hash for additional properties, removing known properties.
155
+ new_hash = hash.reject { |k, _| names.value?(k) }
156
+
157
+ additional_properties = APIHelper.get_additional_properties(
158
+ new_hash, proc { |value| value }
159
+ )
160
+
161
+ # Create object from extracted values.
162
+ TaskChannel.new(account_sid: account_sid,
163
+ date_created: date_created,
164
+ date_updated: date_updated,
165
+ friendly_name: friendly_name,
166
+ sid: sid,
167
+ unique_name: unique_name,
168
+ workspace_sid: workspace_sid,
169
+ channel_optimized_routing: channel_optimized_routing,
170
+ url: url,
171
+ links: links,
172
+ additional_properties: additional_properties)
173
+ end
174
+
175
+ def to_custom_date_created
176
+ DateTimeHelper.to_rfc3339(date_created)
177
+ end
178
+
179
+ def to_custom_date_updated
180
+ DateTimeHelper.to_rfc3339(date_updated)
181
+ end
182
+
183
+ # Provides a human-readable string representation of the object.
184
+ def to_s
185
+ class_name = self.class.name.split('::').last
186
+ "<#{class_name} account_sid: #{@account_sid}, date_created: #{@date_created}, date_updated:"\
187
+ " #{@date_updated}, friendly_name: #{@friendly_name}, sid: #{@sid}, unique_name:"\
188
+ " #{@unique_name}, workspace_sid: #{@workspace_sid}, channel_optimized_routing:"\
189
+ " #{@channel_optimized_routing}, url: #{@url}, links: #{@links}, additional_properties:"\
190
+ " #{@additional_properties}>"
191
+ end
192
+
193
+ # Provides a debugging-friendly string with detailed object information.
194
+ def inspect
195
+ class_name = self.class.name.split('::').last
196
+ "<#{class_name} account_sid: #{@account_sid.inspect}, date_created:"\
197
+ " #{@date_created.inspect}, date_updated: #{@date_updated.inspect}, friendly_name:"\
198
+ " #{@friendly_name.inspect}, sid: #{@sid.inspect}, unique_name: #{@unique_name.inspect},"\
199
+ " workspace_sid: #{@workspace_sid.inspect}, channel_optimized_routing:"\
200
+ " #{@channel_optimized_routing.inspect}, url: #{@url.inspect}, links: #{@links.inspect},"\
201
+ " additional_properties: #{@additional_properties}>"
202
+ end
203
+ end
204
+ end