sentdm 0.38.1 → 0.40.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 (281) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/sentdm/client.rb +3 -20
  5. data/lib/sentdm/internal/voice_agents_page.rb +115 -0
  6. data/lib/sentdm/models/call_event.rb +8 -6
  7. data/lib/sentdm/models/call_event_payload.rb +29 -9
  8. data/lib/sentdm/models/channels/voice_create_params.rb +23 -11
  9. data/lib/sentdm/models/channels/voice_number.rb +23 -1
  10. data/lib/sentdm/models/channels/voice_update_params.rb +12 -1
  11. data/lib/sentdm/models/message_send_params.rb +8 -1
  12. data/lib/sentdm/models/template.rb +6 -5
  13. data/lib/sentdm/models/template_body.rb +8 -8
  14. data/lib/sentdm/models/voice/agent_create_params.rb +142 -0
  15. data/lib/sentdm/models/{calls/participant_list_params.rb → voice/agent_delete_params.rb} +3 -3
  16. data/lib/sentdm/models/voice/agent_list_params.rb +38 -0
  17. data/lib/sentdm/models/{calls/participant_remove_all_params.rb → voice/agent_retrieve_params.rb} +3 -3
  18. data/lib/sentdm/models/voice/agent_rotate_secret_params.rb +34 -0
  19. data/lib/sentdm/models/voice/agent_update_params.rb +141 -0
  20. data/lib/sentdm/models/{calls/api_response_of_list_of_call_participant.rb → voice/api_response_of_call.rb} +7 -7
  21. data/lib/sentdm/models/voice/api_response_of_call_recordings.rb +45 -0
  22. data/lib/sentdm/models/voice/api_response_of_calls_list.rb +44 -0
  23. data/lib/sentdm/models/voice/api_response_of_voice_agent.rb +51 -0
  24. data/lib/sentdm/models/voice/api_response_of_voice_agent_secret.rb +45 -0
  25. data/lib/sentdm/models/voice/api_response_of_voice_agents_list.rb +48 -0
  26. data/lib/sentdm/models/voice/api_response_of_voice_catalogue.rb +49 -0
  27. data/lib/sentdm/models/{channels → voice}/api_response_of_voice_token.rb +5 -5
  28. data/lib/sentdm/models/voice/call.rb +241 -0
  29. data/lib/sentdm/models/{calls/participant_remove_params.rb → voice/call_hangup_params.rb} +8 -8
  30. data/lib/sentdm/models/voice/call_list_params.rb +103 -0
  31. data/lib/sentdm/models/voice/call_list_recordings_params.rb +28 -0
  32. data/lib/sentdm/models/voice/call_party.rb +33 -0
  33. data/lib/sentdm/models/{calls/participant_update_params.rb → voice/call_record_params.rb} +10 -17
  34. data/lib/sentdm/models/voice/call_recording.rb +40 -0
  35. data/lib/sentdm/models/voice/call_recordings.rb +26 -0
  36. data/lib/sentdm/models/voice/call_retrieve_params.rb +28 -0
  37. data/lib/sentdm/models/voice/call_timeline_entry.rb +28 -0
  38. data/lib/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rb +51 -0
  39. data/lib/sentdm/models/voice/calls/call_participant.rb +62 -0
  40. data/lib/sentdm/models/voice/calls/call_participant_target.rb +32 -0
  41. data/lib/sentdm/models/voice/calls/participant_add_params.rb +68 -0
  42. data/lib/sentdm/models/voice/calls/participant_list_params.rb +30 -0
  43. data/lib/sentdm/models/voice/calls/participant_remove_all_params.rb +30 -0
  44. data/lib/sentdm/models/voice/calls/participant_remove_params.rb +36 -0
  45. data/lib/sentdm/models/voice/calls/participant_update_params.rb +66 -0
  46. data/lib/sentdm/models/voice/calls_list.rb +28 -0
  47. data/lib/sentdm/models/voice/catalogue_list_params.rb +22 -0
  48. data/lib/sentdm/models/{channels/voice_create_token_params.rb → voice/token_create_params.rb} +4 -4
  49. data/lib/sentdm/models/voice/voice_agent.rb +138 -0
  50. data/lib/sentdm/models/voice/voice_agent_audio.rb +19 -0
  51. data/lib/sentdm/models/voice/voice_agent_audio_spec.rb +20 -0
  52. data/lib/sentdm/models/voice/voice_agent_limits.rb +31 -0
  53. data/lib/sentdm/models/voice/voice_agent_limits_spec.rb +40 -0
  54. data/lib/sentdm/models/voice/voice_agent_party.rb +25 -0
  55. data/lib/sentdm/models/voice/voice_agent_party_spec.rb +28 -0
  56. data/lib/sentdm/models/voice/voice_agent_secret.rb +27 -0
  57. data/lib/sentdm/models/voice/voice_agent_speech.rb +31 -0
  58. data/lib/sentdm/models/voice/voice_agent_speech_spec.rb +40 -0
  59. data/lib/sentdm/models/voice/voice_agent_transcripts.rb +25 -0
  60. data/lib/sentdm/models/voice/voice_agent_transcripts_spec.rb +32 -0
  61. data/lib/sentdm/models/voice/voice_agents_list.rb +30 -0
  62. data/lib/sentdm/models/voice/voice_catalogue.rb +30 -0
  63. data/lib/sentdm/models/voice/voice_catalogue_voice.rb +43 -0
  64. data/lib/sentdm/models/{channels → voice}/voice_token.rb +9 -3
  65. data/lib/sentdm/models/webhook_create_params.rb +31 -5
  66. data/lib/sentdm/models/webhook_response.rb +66 -4
  67. data/lib/sentdm/models/webhook_update_params.rb +15 -3
  68. data/lib/sentdm/models.rb +2 -30
  69. data/lib/sentdm/resources/channels/voice.rb +43 -63
  70. data/lib/sentdm/resources/channels.rb +2 -2
  71. data/lib/sentdm/resources/profiles/campaigns.rb +3 -2
  72. data/lib/sentdm/resources/voice/agents.rb +319 -0
  73. data/lib/sentdm/resources/voice/calls/participants.rb +244 -0
  74. data/lib/sentdm/resources/voice/calls.rb +269 -0
  75. data/lib/sentdm/resources/voice/catalogue.rb +71 -0
  76. data/lib/sentdm/resources/voice/tokens.rb +86 -0
  77. data/lib/sentdm/resources/voice.rb +142 -0
  78. data/lib/sentdm/resources/webhooks.rb +43 -15
  79. data/lib/sentdm/version.rb +1 -1
  80. data/lib/sentdm.rb +59 -28
  81. data/rbi/sentdm/client.rbi +2 -19
  82. data/rbi/sentdm/internal/voice_agents_page.rbi +71 -0
  83. data/rbi/sentdm/models/call_event.rbi +14 -10
  84. data/rbi/sentdm/models/call_event_payload.rbi +34 -9
  85. data/rbi/sentdm/models/channels/voice_create_params.rbi +33 -17
  86. data/rbi/sentdm/models/channels/voice_number.rbi +31 -0
  87. data/rbi/sentdm/models/channels/voice_update_params.rbi +14 -0
  88. data/rbi/sentdm/models/message_send_params.rbi +16 -2
  89. data/rbi/sentdm/models/template.rbi +12 -10
  90. data/rbi/sentdm/models/template_body.rbi +12 -12
  91. data/rbi/sentdm/models/voice/agent_create_params.rbi +215 -0
  92. data/rbi/sentdm/models/{calls/participant_remove_all_params.rbi → voice/agent_delete_params.rbi} +3 -6
  93. data/rbi/sentdm/models/voice/agent_list_params.rbi +66 -0
  94. data/rbi/sentdm/models/voice/agent_retrieve_params.rbi +48 -0
  95. data/rbi/sentdm/models/{calls/participant_remove_params.rbi → voice/agent_rotate_secret_params.rbi} +11 -8
  96. data/rbi/sentdm/models/voice/agent_update_params.rbi +211 -0
  97. data/rbi/sentdm/models/voice/api_response_of_call.rbi +76 -0
  98. data/rbi/sentdm/models/voice/api_response_of_call_recordings.rbi +81 -0
  99. data/rbi/sentdm/models/{calls/api_response_of_list_of_call_participant.rbi → voice/api_response_of_calls_list.rbi} +12 -9
  100. data/rbi/sentdm/models/voice/api_response_of_voice_agent.rbi +85 -0
  101. data/rbi/sentdm/models/voice/api_response_of_voice_agent_secret.rbi +81 -0
  102. data/rbi/sentdm/models/voice/api_response_of_voice_agents_list.rbi +83 -0
  103. data/rbi/sentdm/models/voice/api_response_of_voice_catalogue.rbi +83 -0
  104. data/rbi/sentdm/models/{channels → voice}/api_response_of_voice_token.rbi +6 -8
  105. data/rbi/sentdm/models/voice/call.rbi +329 -0
  106. data/rbi/sentdm/models/voice/call_hangup_params.rbi +61 -0
  107. data/rbi/sentdm/models/voice/call_list_params.rbi +134 -0
  108. data/rbi/sentdm/models/{calls/participant_list_params.rbi → voice/call_list_recordings_params.rbi} +3 -3
  109. data/rbi/sentdm/models/voice/call_party.rbi +47 -0
  110. data/rbi/sentdm/models/{calls/participant_update_params.rbi → voice/call_record_params.rbi} +12 -21
  111. data/rbi/sentdm/models/voice/call_recording.rbi +63 -0
  112. data/rbi/sentdm/models/voice/call_recordings.rbi +49 -0
  113. data/rbi/sentdm/models/voice/call_retrieve_params.rbi +48 -0
  114. data/rbi/sentdm/models/voice/call_timeline_entry.rbi +44 -0
  115. data/rbi/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rbi +84 -0
  116. data/rbi/sentdm/models/voice/calls/call_participant.rbi +97 -0
  117. data/rbi/sentdm/models/voice/calls/call_participant_target.rbi +49 -0
  118. data/rbi/sentdm/models/voice/calls/participant_add_params.rbi +104 -0
  119. data/rbi/sentdm/models/voice/calls/participant_list_params.rbi +53 -0
  120. data/rbi/sentdm/models/voice/calls/participant_remove_all_params.rbi +53 -0
  121. data/rbi/sentdm/models/voice/calls/participant_remove_params.rbi +63 -0
  122. data/rbi/sentdm/models/voice/calls/participant_update_params.rbi +96 -0
  123. data/rbi/sentdm/models/voice/calls_list.rbi +54 -0
  124. data/rbi/sentdm/models/voice/catalogue_list_params.rbi +40 -0
  125. data/rbi/sentdm/models/{channels/voice_create_token_params.rbi → voice/token_create_params.rbi} +3 -6
  126. data/rbi/sentdm/models/voice/voice_agent.rbi +196 -0
  127. data/rbi/sentdm/models/voice/voice_agent_audio.rbi +30 -0
  128. data/rbi/sentdm/models/voice/voice_agent_audio_spec.rbi +33 -0
  129. data/rbi/sentdm/models/voice/voice_agent_limits.rbi +57 -0
  130. data/rbi/sentdm/models/voice/voice_agent_limits_spec.rbi +62 -0
  131. data/rbi/sentdm/models/voice/voice_agent_party.rbi +36 -0
  132. data/rbi/sentdm/models/voice/voice_agent_party_spec.rbi +45 -0
  133. data/rbi/sentdm/models/voice/voice_agent_secret.rbi +37 -0
  134. data/rbi/sentdm/models/voice/voice_agent_speech.rbi +48 -0
  135. data/rbi/sentdm/models/voice/voice_agent_speech_spec.rbi +62 -0
  136. data/rbi/sentdm/models/voice/voice_agent_transcripts.rbi +43 -0
  137. data/rbi/sentdm/models/voice/voice_agent_transcripts_spec.rbi +51 -0
  138. data/rbi/sentdm/models/voice/voice_agents_list.rbi +55 -0
  139. data/rbi/sentdm/models/voice/voice_catalogue.rbi +59 -0
  140. data/rbi/sentdm/models/voice/voice_catalogue_voice.rbi +75 -0
  141. data/rbi/sentdm/models/{channels → voice}/voice_token.rbi +8 -4
  142. data/rbi/sentdm/models/webhook_create_params.rbi +41 -3
  143. data/rbi/sentdm/models/webhook_response.rbi +112 -3
  144. data/rbi/sentdm/models/webhook_update_params.rbi +18 -3
  145. data/rbi/sentdm/models.rbi +2 -30
  146. data/rbi/sentdm/resources/channels/voice.rbi +57 -67
  147. data/rbi/sentdm/resources/channels.rbi +2 -2
  148. data/rbi/sentdm/resources/messages.rbi +8 -1
  149. data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -2
  150. data/rbi/sentdm/resources/voice/agents.rbi +316 -0
  151. data/rbi/sentdm/resources/voice/calls/participants.rbi +212 -0
  152. data/rbi/sentdm/resources/voice/calls.rbi +244 -0
  153. data/rbi/sentdm/resources/voice/catalogue.rbi +59 -0
  154. data/rbi/sentdm/resources/voice/tokens.rbi +84 -0
  155. data/rbi/sentdm/resources/voice.rbi +136 -0
  156. data/rbi/sentdm/resources/webhooks.rbi +56 -16
  157. data/sig/sentdm/client.rbs +1 -1
  158. data/sig/sentdm/internal/voice_agents_page.rbs +41 -0
  159. data/sig/sentdm/models/call_event_payload.rbs +12 -0
  160. data/sig/sentdm/models/channels/voice_create_params.rbs +9 -4
  161. data/sig/sentdm/models/channels/voice_number.rbs +12 -0
  162. data/sig/sentdm/models/channels/voice_update_params.rbs +5 -0
  163. data/sig/sentdm/models/voice/agent_create_params.rbs +99 -0
  164. data/sig/sentdm/models/{calls/participant_remove_all_params.rbs → voice/agent_delete_params.rbs} +3 -3
  165. data/sig/sentdm/models/voice/agent_list_params.rbs +40 -0
  166. data/sig/sentdm/models/{calls/participant_list_params.rbs → voice/agent_retrieve_params.rbs} +3 -3
  167. data/sig/sentdm/models/{calls/participant_remove_params.rbs → voice/agent_rotate_secret_params.rbs} +8 -8
  168. data/sig/sentdm/models/voice/agent_update_params.rbs +108 -0
  169. data/sig/sentdm/models/{calls/api_response_of_list_of_call_participant.rbs → voice/api_response_of_call.rbs} +7 -7
  170. data/sig/sentdm/models/voice/api_response_of_call_recordings.rbs +41 -0
  171. data/sig/sentdm/models/voice/api_response_of_calls_list.rbs +41 -0
  172. data/sig/sentdm/models/voice/api_response_of_voice_agent.rbs +41 -0
  173. data/sig/sentdm/models/voice/api_response_of_voice_agent_secret.rbs +41 -0
  174. data/sig/sentdm/models/voice/api_response_of_voice_agents_list.rbs +41 -0
  175. data/sig/sentdm/models/voice/api_response_of_voice_catalogue.rbs +41 -0
  176. data/sig/sentdm/models/{channels → voice}/api_response_of_voice_token.rbs +5 -5
  177. data/sig/sentdm/models/voice/call.rbs +175 -0
  178. data/sig/sentdm/models/voice/call_hangup_params.rbs +40 -0
  179. data/sig/sentdm/models/voice/call_list_params.rbs +79 -0
  180. data/sig/sentdm/models/voice/call_list_recordings_params.rbs +32 -0
  181. data/sig/sentdm/models/voice/call_party.rbs +19 -0
  182. data/sig/sentdm/models/{calls/participant_update_params.rbs → voice/call_record_params.rbs} +8 -13
  183. data/sig/sentdm/models/voice/call_recording.rbs +34 -0
  184. data/sig/sentdm/models/voice/call_recordings.rbs +22 -0
  185. data/sig/sentdm/models/voice/call_retrieve_params.rbs +32 -0
  186. data/sig/sentdm/models/voice/call_timeline_entry.rbs +21 -0
  187. data/sig/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rbs +43 -0
  188. data/sig/sentdm/models/voice/calls/call_participant.rbs +54 -0
  189. data/sig/sentdm/models/voice/calls/call_participant_target.rbs +25 -0
  190. data/sig/sentdm/models/voice/calls/participant_add_params.rbs +65 -0
  191. data/sig/sentdm/models/voice/calls/participant_list_params.rbs +34 -0
  192. data/sig/sentdm/models/voice/calls/participant_remove_all_params.rbs +36 -0
  193. data/sig/sentdm/models/voice/calls/participant_remove_params.rbs +42 -0
  194. data/sig/sentdm/models/voice/calls/participant_update_params.rbs +63 -0
  195. data/sig/sentdm/models/voice/calls_list.rbs +33 -0
  196. data/sig/sentdm/models/voice/catalogue_list_params.rbs +27 -0
  197. data/sig/sentdm/models/{channels/voice_create_token_params.rbs → voice/token_create_params.rbs} +3 -3
  198. data/sig/sentdm/models/voice/voice_agent.rbs +116 -0
  199. data/sig/sentdm/models/voice/voice_agent_audio.rbs +19 -0
  200. data/sig/sentdm/models/voice/voice_agent_audio_spec.rbs +17 -0
  201. data/sig/sentdm/models/voice/voice_agent_limits.rbs +38 -0
  202. data/sig/sentdm/models/voice/voice_agent_limits_spec.rbs +34 -0
  203. data/sig/sentdm/models/{calls/call_participant_target.rbs → voice/voice_agent_party.rbs} +4 -4
  204. data/sig/sentdm/models/voice/voice_agent_party_spec.rbs +19 -0
  205. data/sig/sentdm/models/voice/voice_agent_secret.rbs +19 -0
  206. data/sig/sentdm/models/voice/voice_agent_speech.rbs +32 -0
  207. data/sig/sentdm/models/voice/voice_agent_speech_spec.rbs +26 -0
  208. data/sig/sentdm/models/voice/voice_agent_transcripts.rbs +23 -0
  209. data/sig/sentdm/models/voice/voice_agent_transcripts_spec.rbs +20 -0
  210. data/sig/sentdm/models/voice/voice_agents_list.rbs +35 -0
  211. data/sig/sentdm/models/voice/voice_catalogue.rbs +35 -0
  212. data/sig/sentdm/models/voice/voice_catalogue_voice.rbs +42 -0
  213. data/sig/sentdm/models/{channels → voice}/voice_token.rbs +3 -1
  214. data/sig/sentdm/models/webhook_create_params.rbs +12 -0
  215. data/sig/sentdm/models/webhook_response.rbs +46 -3
  216. data/sig/sentdm/models/webhook_update_params.rbs +5 -0
  217. data/sig/sentdm/models.rbs +2 -30
  218. data/sig/sentdm/resources/channels/voice.rbs +3 -11
  219. data/sig/sentdm/resources/voice/agents.rbs +74 -0
  220. data/sig/sentdm/resources/voice/calls/participants.rbs +52 -0
  221. data/sig/sentdm/resources/{calls/participants.rbs → voice/calls.rbs} +25 -21
  222. data/sig/sentdm/resources/voice/catalogue.rbs +14 -0
  223. data/sig/sentdm/resources/voice/tokens.rbs +19 -0
  224. data/sig/sentdm/resources/voice.rbs +15 -0
  225. data/sig/sentdm/resources/webhooks.rbs +3 -0
  226. metadata +176 -83
  227. data/lib/sentdm/models/api_response_of_call.rb +0 -43
  228. data/lib/sentdm/models/api_response_of_call_recordings.rb +0 -43
  229. data/lib/sentdm/models/api_response_of_calls_list.rb +0 -42
  230. data/lib/sentdm/models/call.rb +0 -134
  231. data/lib/sentdm/models/call_hangup_params.rb +0 -32
  232. data/lib/sentdm/models/call_list_params.rb +0 -83
  233. data/lib/sentdm/models/call_list_recordings_params.rb +0 -26
  234. data/lib/sentdm/models/call_party.rb +0 -31
  235. data/lib/sentdm/models/call_record_params.rb +0 -55
  236. data/lib/sentdm/models/call_recording.rb +0 -38
  237. data/lib/sentdm/models/call_recordings.rb +0 -24
  238. data/lib/sentdm/models/call_retrieve_params.rb +0 -26
  239. data/lib/sentdm/models/call_timeline_entry.rb +0 -26
  240. data/lib/sentdm/models/calls/call_participant.rb +0 -60
  241. data/lib/sentdm/models/calls/call_participant_target.rb +0 -30
  242. data/lib/sentdm/models/calls/participant_add_params.rb +0 -66
  243. data/lib/sentdm/models/calls_list.rb +0 -26
  244. data/lib/sentdm/resources/calls/participants.rb +0 -231
  245. data/lib/sentdm/resources/calls.rb +0 -236
  246. data/rbi/sentdm/models/api_response_of_call.rbi +0 -74
  247. data/rbi/sentdm/models/api_response_of_call_recordings.rbi +0 -74
  248. data/rbi/sentdm/models/api_response_of_calls_list.rbi +0 -74
  249. data/rbi/sentdm/models/call.rbi +0 -179
  250. data/rbi/sentdm/models/call_hangup_params.rbi +0 -59
  251. data/rbi/sentdm/models/call_list_params.rbi +0 -112
  252. data/rbi/sentdm/models/call_list_recordings_params.rbi +0 -46
  253. data/rbi/sentdm/models/call_party.rbi +0 -41
  254. data/rbi/sentdm/models/call_record_params.rbi +0 -83
  255. data/rbi/sentdm/models/call_recording.rbi +0 -59
  256. data/rbi/sentdm/models/call_recordings.rbi +0 -39
  257. data/rbi/sentdm/models/call_retrieve_params.rbi +0 -46
  258. data/rbi/sentdm/models/call_timeline_entry.rbi +0 -40
  259. data/rbi/sentdm/models/calls/call_participant.rbi +0 -92
  260. data/rbi/sentdm/models/calls/call_participant_target.rbi +0 -47
  261. data/rbi/sentdm/models/calls/participant_add_params.rbi +0 -98
  262. data/rbi/sentdm/models/calls_list.rbi +0 -47
  263. data/rbi/sentdm/resources/calls/participants.rbi +0 -199
  264. data/rbi/sentdm/resources/calls.rbi +0 -207
  265. data/sig/sentdm/models/api_response_of_call.rbs +0 -39
  266. data/sig/sentdm/models/api_response_of_call_recordings.rbs +0 -39
  267. data/sig/sentdm/models/api_response_of_calls_list.rbs +0 -39
  268. data/sig/sentdm/models/call.rbs +0 -101
  269. data/sig/sentdm/models/call_hangup_params.rbs +0 -38
  270. data/sig/sentdm/models/call_list_params.rbs +0 -67
  271. data/sig/sentdm/models/call_list_recordings_params.rbs +0 -30
  272. data/sig/sentdm/models/call_party.rbs +0 -17
  273. data/sig/sentdm/models/call_record_params.rbs +0 -54
  274. data/sig/sentdm/models/call_recording.rbs +0 -32
  275. data/sig/sentdm/models/call_recordings.rbs +0 -17
  276. data/sig/sentdm/models/call_retrieve_params.rbs +0 -30
  277. data/sig/sentdm/models/call_timeline_entry.rbs +0 -19
  278. data/sig/sentdm/models/calls/call_participant.rbs +0 -52
  279. data/sig/sentdm/models/calls/participant_add_params.rbs +0 -63
  280. data/sig/sentdm/models/calls_list.rbs +0 -26
  281. data/sig/sentdm/resources/calls.rbs +0 -50
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class CallTimelineEntry < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute status
8
+ # INITIATED, RINGING, ANSWERED, COMPLETED, FAILED, NO_ANSWER or REJECTED
9
+ #
10
+ # @return [String, nil]
11
+ optional :status, String
12
+
13
+ # @!attribute timestamp
14
+ # When the call entered this status (UTC)
15
+ #
16
+ # @return [Time, nil]
17
+ optional :timestamp, Time
18
+
19
+ # @!method initialize(status: nil, timestamp: nil)
20
+ # When a call entered a status
21
+ #
22
+ # @param status [String] INITIATED, RINGING, ANSWERED, COMPLETED, FAILED, NO_ANSWER or REJECTED
23
+ #
24
+ # @param timestamp [Time] When the call entered this status (UTC)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ # @see Sentdm::Resources::Voice::Calls::Participants#list
8
+ class APIResponseOfListOfCallParticipant < Sentdm::Internal::Type::BaseModel
9
+ # @!attribute data
10
+ # The response data (null if error)
11
+ #
12
+ # @return [Array<Sentdm::Models::Voice::Calls::CallParticipant>, nil]
13
+ optional :data,
14
+ -> {
15
+ Sentdm::Internal::Type::ArrayOf[Sentdm::Voice::Calls::CallParticipant]
16
+ },
17
+ nil?: true
18
+
19
+ # @!attribute error
20
+ # Error information
21
+ #
22
+ # @return [Sentdm::Models::ErrorDetail, nil]
23
+ optional :error, -> { Sentdm::ErrorDetail }, nil?: true
24
+
25
+ # @!attribute meta
26
+ # Request and response metadata
27
+ #
28
+ # @return [Sentdm::Models::APIMeta, nil]
29
+ optional :meta, -> { Sentdm::APIMeta }
30
+
31
+ # @!attribute success
32
+ # Indicates whether the request was successful
33
+ #
34
+ # @return [Boolean, nil]
35
+ optional :success, Sentdm::Internal::Type::Boolean
36
+
37
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
38
+ # Standard API response envelope for all v3 endpoints
39
+ #
40
+ # @param data [Array<Sentdm::Models::Voice::Calls::CallParticipant>, nil] The response data (null if error)
41
+ #
42
+ # @param error [Sentdm::Models::ErrorDetail, nil] Error information
43
+ #
44
+ # @param meta [Sentdm::Models::APIMeta] Request and response metadata
45
+ #
46
+ # @param success [Boolean] Indicates whether the request was successful
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ class CallParticipant < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ # The participant's own call id: what the mute and remove endpoints take, and what
10
+ # GET /v3/voice/calls/{id} accepts
11
+ #
12
+ # @return [String, nil]
13
+ optional :id, String
14
+
15
+ # @!attribute duration_seconds
16
+ # How long the participant has been connected to the room, in seconds
17
+ #
18
+ # @return [Integer, nil]
19
+ optional :duration_seconds, Integer
20
+
21
+ # @!attribute kind
22
+ # user for one of your app users, number for a phone number, anonymous for a
23
+ # caller who withheld their number
24
+ #
25
+ # @return [String, nil]
26
+ optional :kind, String
27
+
28
+ # @!attribute muted
29
+ # True while the room mutes this participant
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :muted, Sentdm::Internal::Type::Boolean
33
+
34
+ # @!attribute value
35
+ # The app user's identity or the phone number in E.164 format. Null when the kind
36
+ # is anonymous
37
+ #
38
+ # @return [String, nil]
39
+ optional :value, String, nil?: true
40
+
41
+ # @!method initialize(id: nil, duration_seconds: nil, kind: nil, muted: nil, value: nil)
42
+ # Some parameter documentations has been truncated, see
43
+ # {Sentdm::Models::Voice::Calls::CallParticipant} for more details.
44
+ #
45
+ # A participant of a conference call
46
+ #
47
+ # @param id [String] The participant's own call id: what the mute and remove endpoints take, and what
48
+ #
49
+ # @param duration_seconds [Integer] How long the participant has been connected to the room, in seconds
50
+ #
51
+ # @param kind [String] user for one of your app users, number for a phone number, anonymous for a calle
52
+ #
53
+ # @param muted [Boolean] True while the room mutes this participant
54
+ #
55
+ # @param value [String, nil] The app user's identity or the phone number in E.164 format. Null when the kind
56
+ end
57
+ end
58
+
59
+ CallParticipant = Calls::CallParticipant
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ class CallParticipantTarget < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute kind
9
+ # user for one of your app users, number for a phone number
10
+ #
11
+ # @return [String, nil]
12
+ optional :kind, String
13
+
14
+ # @!attribute value
15
+ # The app user's identity, or the phone number in E.164 format
16
+ #
17
+ # @return [String, nil]
18
+ optional :value, String
19
+
20
+ # @!method initialize(kind: nil, value: nil)
21
+ # A participant to add to a call
22
+ #
23
+ # @param kind [String] user for one of your app users, number for a phone number
24
+ #
25
+ # @param value [String] The app user's identity, or the phone number in E.164 format
26
+ end
27
+ end
28
+
29
+ CallParticipantTarget = Calls::CallParticipantTarget
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ # @see Sentdm::Resources::Voice::Calls::Participants#add
8
+ class ParticipantAddParams < Sentdm::Internal::Type::BaseModel
9
+ extend Sentdm::Internal::Type::RequestParameters::Converter
10
+ include Sentdm::Internal::Type::RequestParameters
11
+
12
+ # @!attribute id
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
17
+ # @!attribute caller_id
18
+ # The number shown to a phone participant as the caller, in E.164 format. Must be
19
+ # one of your numbers. The call's owning number when omitted
20
+ #
21
+ # @return [String, nil]
22
+ optional :caller_id, String, nil?: true
23
+
24
+ # @!attribute sandbox
25
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
26
+ # for testing integrations without actual execution
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :sandbox, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!attribute to
32
+ # A participant to add to a call
33
+ #
34
+ # @return [Sentdm::Models::Voice::Calls::CallParticipantTarget, nil]
35
+ optional :to, -> { Sentdm::Voice::Calls::CallParticipantTarget }
36
+
37
+ # @!attribute idempotency_key
38
+ #
39
+ # @return [String, nil]
40
+ optional :idempotency_key, String
41
+
42
+ # @!attribute x_profile_id
43
+ #
44
+ # @return [String, nil]
45
+ optional :x_profile_id, String
46
+
47
+ # @!method initialize(id:, caller_id: nil, sandbox: nil, to: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
48
+ # Some parameter documentations has been truncated, see
49
+ # {Sentdm::Models::Voice::Calls::ParticipantAddParams} for more details.
50
+ #
51
+ # @param id [String]
52
+ #
53
+ # @param caller_id [String, nil] The number shown to a phone participant as the caller, in E.164 format. Must be
54
+ #
55
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
56
+ #
57
+ # @param to [Sentdm::Models::Voice::Calls::CallParticipantTarget] A participant to add to a call
58
+ #
59
+ # @param idempotency_key [String]
60
+ #
61
+ # @param x_profile_id [String]
62
+ #
63
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ # @see Sentdm::Resources::Voice::Calls::Participants#list
8
+ class ParticipantListParams < Sentdm::Internal::Type::BaseModel
9
+ extend Sentdm::Internal::Type::RequestParameters::Converter
10
+ include Sentdm::Internal::Type::RequestParameters
11
+
12
+ # @!attribute id
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
17
+ # @!attribute x_profile_id
18
+ #
19
+ # @return [String, nil]
20
+ optional :x_profile_id, String
21
+
22
+ # @!method initialize(id:, x_profile_id: nil, request_options: {})
23
+ # @param id [String]
24
+ # @param x_profile_id [String]
25
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ # @see Sentdm::Resources::Voice::Calls::Participants#remove_all
8
+ class ParticipantRemoveAllParams < Sentdm::Models::MutationRequest
9
+ extend Sentdm::Internal::Type::RequestParameters::Converter
10
+ include Sentdm::Internal::Type::RequestParameters
11
+
12
+ # @!attribute id
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
17
+ # @!attribute x_profile_id
18
+ #
19
+ # @return [String, nil]
20
+ optional :x_profile_id, String
21
+
22
+ # @!method initialize(id:, x_profile_id: nil, request_options: {})
23
+ # @param id [String]
24
+ # @param x_profile_id [String]
25
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ # @see Sentdm::Resources::Voice::Calls::Participants#remove
8
+ class ParticipantRemoveParams < Sentdm::Models::MutationRequest
9
+ extend Sentdm::Internal::Type::RequestParameters::Converter
10
+ include Sentdm::Internal::Type::RequestParameters
11
+
12
+ # @!attribute id
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
17
+ # @!attribute participant_id
18
+ #
19
+ # @return [String]
20
+ required :participant_id, String
21
+
22
+ # @!attribute x_profile_id
23
+ #
24
+ # @return [String, nil]
25
+ optional :x_profile_id, String
26
+
27
+ # @!method initialize(id:, participant_id:, x_profile_id: nil, request_options: {})
28
+ # @param id [String]
29
+ # @param participant_id [String]
30
+ # @param x_profile_id [String]
31
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ module Calls
7
+ # @see Sentdm::Resources::Voice::Calls::Participants#update
8
+ class ParticipantUpdateParams < Sentdm::Internal::Type::BaseModel
9
+ extend Sentdm::Internal::Type::RequestParameters::Converter
10
+ include Sentdm::Internal::Type::RequestParameters
11
+
12
+ # @!attribute id
13
+ #
14
+ # @return [String]
15
+ required :id, String
16
+
17
+ # @!attribute participant_id
18
+ #
19
+ # @return [String]
20
+ required :participant_id, String
21
+
22
+ # @!attribute muted
23
+ # true to mute the participant, false to unmute them
24
+ #
25
+ # @return [Boolean, nil]
26
+ optional :muted, Sentdm::Internal::Type::Boolean
27
+
28
+ # @!attribute sandbox
29
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
30
+ # for testing integrations without actual execution
31
+ #
32
+ # @return [Boolean, nil]
33
+ optional :sandbox, Sentdm::Internal::Type::Boolean
34
+
35
+ # @!attribute idempotency_key
36
+ #
37
+ # @return [String, nil]
38
+ optional :idempotency_key, String
39
+
40
+ # @!attribute x_profile_id
41
+ #
42
+ # @return [String, nil]
43
+ optional :x_profile_id, String
44
+
45
+ # @!method initialize(id:, participant_id:, muted: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
46
+ # Some parameter documentations has been truncated, see
47
+ # {Sentdm::Models::Voice::Calls::ParticipantUpdateParams} for more details.
48
+ #
49
+ # @param id [String]
50
+ #
51
+ # @param participant_id [String]
52
+ #
53
+ # @param muted [Boolean] true to mute the participant, false to unmute them
54
+ #
55
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
56
+ #
57
+ # @param idempotency_key [String]
58
+ #
59
+ # @param x_profile_id [String]
60
+ #
61
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class CallsList < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute calls
8
+ # The calls on this page, most recent first
9
+ #
10
+ # @return [Array<Sentdm::Models::Voice::Call>, nil]
11
+ optional :calls, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Voice::Call] }
12
+
13
+ # @!attribute pagination
14
+ # Pagination metadata for list responses
15
+ #
16
+ # @return [Sentdm::Models::PaginationMeta, nil]
17
+ optional :pagination, -> { Sentdm::PaginationMeta }
18
+
19
+ # @!method initialize(calls: nil, pagination: nil)
20
+ # Paginated list of calls
21
+ #
22
+ # @param calls [Array<Sentdm::Models::Voice::Call>] The calls on this page, most recent first
23
+ #
24
+ # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ # @see Sentdm::Resources::Voice::Catalogue#list
7
+ class CatalogueListParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ # @!attribute x_profile_id
12
+ #
13
+ # @return [String, nil]
14
+ optional :x_profile_id, String
15
+
16
+ # @!method initialize(x_profile_id: nil, request_options: {})
17
+ # @param x_profile_id [String]
18
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- module Channels
6
- # @see Sentdm::Resources::Channels::Voice#create_token
7
- class VoiceCreateTokenParams < Sentdm::Internal::Type::BaseModel
5
+ module Voice
6
+ # @see Sentdm::Resources::Voice::Tokens#create
7
+ class TokenCreateParams < Sentdm::Internal::Type::BaseModel
8
8
  extend Sentdm::Internal::Type::RequestParameters::Converter
9
9
  include Sentdm::Internal::Type::RequestParameters
10
10
 
@@ -48,7 +48,7 @@ module Sentdm
48
48
 
49
49
  # @!method initialize(identity: nil, number: nil, sandbox: nil, ttl: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
50
50
  # Some parameter documentations has been truncated, see
51
- # {Sentdm::Models::Channels::VoiceCreateTokenParams} for more details.
51
+ # {Sentdm::Models::Voice::TokenCreateParams} for more details.
52
52
  #
53
53
  # @param identity [String] Your identifier for the app user, such as an agent or account id. Letters, digit
54
54
  #
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ # @see Sentdm::Resources::Voice::Agents#list
7
+ class VoiceAgent < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ # The agent's id, agent\_ and a UUID. It is also what the agent connects to the
10
+ # gateway as.
11
+ #
12
+ # @return [String, nil]
13
+ optional :id, String
14
+
15
+ # @!attribute audio
16
+ # Audio sessions: the sample rate in use.
17
+ #
18
+ # @return [Sentdm::Models::Voice::VoiceAgentAudio, nil]
19
+ optional :audio, -> { Sentdm::Voice::VoiceAgentAudio }, nil?: true
20
+
21
+ # @!attribute created_at
22
+ #
23
+ # @return [Time, nil]
24
+ optional :created_at, Time
25
+
26
+ # @!attribute fallback
27
+ #
28
+ # @return [Sentdm::Models::Voice::VoiceAgentParty, nil]
29
+ optional :fallback, -> { Sentdm::Voice::VoiceAgentParty }, nil?: true
30
+
31
+ # @!attribute greeting
32
+ #
33
+ # @return [String, nil]
34
+ optional :greeting, String, nil?: true
35
+
36
+ # @!attribute limits
37
+ #
38
+ # @return [Sentdm::Models::Voice::VoiceAgentLimits, nil]
39
+ optional :limits, -> { Sentdm::Voice::VoiceAgentLimits }
40
+
41
+ # @!attribute name
42
+ #
43
+ # @return [String, nil]
44
+ optional :name, String
45
+
46
+ # @!attribute session_type
47
+ # text or audio.
48
+ #
49
+ # @return [String, nil]
50
+ optional :session_type, String
51
+
52
+ # @!attribute signing_secret
53
+ # The whsec\_ secret the gateway signs its handshake to websocket_url with.
54
+ # Present on create and after a rotate-secret; absent on every other read. Store
55
+ # it now.
56
+ #
57
+ # @return [String, nil]
58
+ optional :signing_secret, String, nil?: true
59
+
60
+ # @!attribute speech
61
+ # Text sessions: the speech setting, voice and language in use.
62
+ #
63
+ # @return [Sentdm::Models::Voice::VoiceAgentSpeech, nil]
64
+ optional :speech, -> { Sentdm::Voice::VoiceAgentSpeech }, nil?: true
65
+
66
+ # @!attribute tools
67
+ #
68
+ # @return [Array<String>, nil]
69
+ optional :tools, Sentdm::Internal::Type::ArrayOf[String]
70
+
71
+ # @!attribute transcripts
72
+ #
73
+ # @return [Sentdm::Models::Voice::VoiceAgentTranscripts, nil]
74
+ optional :transcripts, -> { Sentdm::Voice::VoiceAgentTranscripts }
75
+
76
+ # @!attribute transfer_targets
77
+ #
78
+ # @return [Array<Sentdm::Models::Voice::VoiceAgentParty>, nil]
79
+ optional :transfer_targets, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Voice::VoiceAgentParty] }
80
+
81
+ # @!attribute updated_at
82
+ #
83
+ # @return [Time, nil]
84
+ optional :updated_at, Time, nil?: true
85
+
86
+ # @!attribute websocket_url
87
+ # Where the gateway dials the agent; null when the agent dials in with your API
88
+ # key.
89
+ #
90
+ # @return [String, nil]
91
+ optional :websocket_url, String, nil?: true
92
+
93
+ # @!method initialize(id: nil, audio: nil, created_at: nil, fallback: nil, greeting: nil, limits: nil, name: nil, session_type: nil, signing_secret: nil, speech: nil, tools: nil, transcripts: nil, transfer_targets: nil, updated_at: nil, websocket_url: nil)
94
+ # Some parameter documentations has been truncated, see
95
+ # {Sentdm::Models::Voice::VoiceAgent} for more details.
96
+ #
97
+ # A voice agent as stored: what was written with every default filled in, plus the
98
+ # signing secret the one time it is shown (on create, and on rotate). The one
99
+ # shape every read of an agent answers with, on /v3/voice/agents and on the admin
100
+ # API the dashboard uses, so the two cannot drift.
101
+ #
102
+ # @param id [String] The agent's id, agent\_ and a UUID. It is also what the agent connects to the
103
+ # gat
104
+ #
105
+ # @param audio [Sentdm::Models::Voice::VoiceAgentAudio, nil] Audio sessions: the sample rate in use.
106
+ #
107
+ # @param created_at [Time]
108
+ #
109
+ # @param fallback [Sentdm::Models::Voice::VoiceAgentParty, nil]
110
+ #
111
+ # @param greeting [String, nil]
112
+ #
113
+ # @param limits [Sentdm::Models::Voice::VoiceAgentLimits]
114
+ #
115
+ # @param name [String]
116
+ #
117
+ # @param session_type [String] text or audio.
118
+ #
119
+ # @param signing_secret [String, nil] The whsec\_ secret the gateway signs its handshake to websocket_url with.
120
+ # Present
121
+ #
122
+ # @param speech [Sentdm::Models::Voice::VoiceAgentSpeech, nil] Text sessions: the speech setting, voice and language in use.
123
+ #
124
+ # @param tools [Array<String>]
125
+ #
126
+ # @param transcripts [Sentdm::Models::Voice::VoiceAgentTranscripts]
127
+ #
128
+ # @param transfer_targets [Array<Sentdm::Models::Voice::VoiceAgentParty>]
129
+ #
130
+ # @param updated_at [Time, nil]
131
+ #
132
+ # @param websocket_url [String, nil] Where the gateway dials the agent; null when the agent dials in with your API ke
133
+ end
134
+ end
135
+
136
+ VoiceAgent = Voice::VoiceAgent
137
+ end
138
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentAudio < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute sample_rate
8
+ #
9
+ # @return [Integer, nil]
10
+ optional :sample_rate, Integer
11
+
12
+ # @!method initialize(sample_rate: nil)
13
+ # @param sample_rate [Integer]
14
+ end
15
+ end
16
+
17
+ VoiceAgentAudio = Voice::VoiceAgentAudio
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentAudioSpec < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute sample_rate
8
+ # Samples per second of the audio exchanged: 8000, 16000 or 24000. Default 16000.
9
+ #
10
+ # @return [Integer, nil]
11
+ optional :sample_rate, Integer, nil?: true
12
+
13
+ # @!method initialize(sample_rate: nil)
14
+ # @param sample_rate [Integer, nil] Samples per second of the audio exchanged: 8000, 16000 or 24000. Default 16000.
15
+ end
16
+ end
17
+
18
+ VoiceAgentAudioSpec = Voice::VoiceAgentAudioSpec
19
+ end
20
+ end