pingram 1.0.16 → 1.0.18

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 (179) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/pingram/api/account_api.rb +95 -26
  4. data/lib/pingram/api/members_api.rb +10 -10
  5. data/lib/pingram/api/numbers_api.rb +2 -2
  6. data/lib/pingram/api/profile_api.rb +66 -0
  7. data/lib/pingram/api/voice_api.rb +733 -0
  8. data/lib/pingram/api_client.rb +1 -1
  9. data/lib/pingram/client_wrapper.rb +10 -10
  10. data/lib/pingram/models/account_get_response.rb +216 -29
  11. data/lib/pingram/models/api_error_body.rb +4 -24
  12. data/lib/pingram/models/auto_join_get_response.rb +16 -16
  13. data/lib/pingram/models/auto_join_post_response.rb +16 -16
  14. data/lib/pingram/models/billing_post_request_body.rb +2 -12
  15. data/lib/pingram/models/billing_post_response_body.rb +56 -68
  16. data/lib/pingram/models/bind_number_request.rb +164 -0
  17. data/lib/pingram/models/bind_number_response.rb +164 -0
  18. data/lib/pingram/models/bind_number_response_agent.rb +342 -0
  19. data/lib/pingram/models/bind_number_response_agent_spec.rb +376 -0
  20. data/lib/pingram/models/bind_number_response_agent_spec_compliance.rb +164 -0
  21. data/lib/pingram/models/bind_number_response_agent_spec_conversation.rb +328 -0
  22. data/lib/pingram/models/bind_number_response_agent_spec_inbound.rb +214 -0
  23. data/lib/pingram/models/bind_number_response_agent_spec_model.rb +105 -0
  24. data/lib/pingram/models/bind_number_response_agent_spec_outbound.rb +251 -0
  25. data/lib/pingram/models/bind_number_response_agent_spec_tools_inner.rb +107 -0
  26. data/lib/pingram/models/bind_number_response_agent_spec_variables_inner.rb +182 -0
  27. data/lib/pingram/models/brand_webhook_response.rb +165 -0
  28. data/lib/pingram/models/chained.rb +401 -0
  29. data/lib/pingram/models/channels_enum.rb +2 -1
  30. data/lib/pingram/models/create_voice_agent_request.rb +164 -0
  31. data/lib/pingram/models/create_voice_agent_response.rb +164 -0
  32. data/lib/pingram/models/custom.rb +278 -0
  33. data/lib/pingram/models/delete_account_request.rb +147 -0
  34. data/lib/pingram/models/delete_voice_agent_response.rb +164 -0
  35. data/lib/pingram/models/dtmf.rb +188 -0
  36. data/lib/pingram/models/get_members_response_inner.rb +1 -27
  37. data/lib/pingram/models/get_notifications_response_inner_options.rb +10 -1
  38. data/lib/pingram/models/get_senders_response_inner.rb +13 -4
  39. data/lib/pingram/models/get_senders_response_inner_verification_records.rb +184 -0
  40. data/lib/pingram/models/get_senders_response_inner_verification_records_dkim.rb +287 -0
  41. data/lib/pingram/models/get_usage_history_query.rb +1 -1
  42. data/lib/pingram/models/{organization_usage_history.rb → get_usage_history_response.rb} +5 -5
  43. data/lib/pingram/models/get_usage_history_response_items_inner.rb +192 -0
  44. data/lib/pingram/models/get_usage_history_response_items_inner_counts.rb +346 -0
  45. data/lib/pingram/models/{organization_usage.rb → get_usage_response.rb} +17 -163
  46. data/lib/pingram/models/get_usage_response_costs.rb +148 -0
  47. data/lib/pingram/models/get_usage_response_counts.rb +347 -0
  48. data/lib/pingram/models/get_voice_agent_response.rb +164 -0
  49. data/lib/pingram/models/get_voice_call_response.rb +164 -0
  50. data/lib/pingram/models/get_voice_call_response_call.rb +521 -0
  51. data/lib/pingram/models/{a2p_registration_update_request.rb → get_voice_call_response_call_cost.rb} +53 -80
  52. data/lib/pingram/models/get_voice_call_response_call_cost_lines_inner.rb +245 -0
  53. data/lib/pingram/models/get_voice_call_response_call_timeline_inner.rb +247 -0
  54. data/lib/pingram/models/get_voice_call_response_call_timeline_inner_latency.rb +191 -0
  55. data/lib/pingram/models/inbound_response_body_results_inner.rb +4 -4
  56. data/lib/pingram/models/knowledge.rb +216 -0
  57. data/lib/pingram/models/{create_organization_response.rb → knowledge_documents_inner.rb} +50 -49
  58. data/lib/pingram/models/list_phone_numbers_response_numbers_inner.rb +14 -4
  59. data/lib/pingram/models/list_voice_agents_response.rb +166 -0
  60. data/lib/pingram/models/list_voice_calls_response.rb +176 -0
  61. data/lib/pingram/models/list_voice_calls_response_calls_inner.rb +463 -0
  62. data/lib/pingram/models/logs_get_response_logs_inner.rb +4 -4
  63. data/lib/pingram/models/mcp.rb +223 -0
  64. data/lib/pingram/models/phone_verify_confirm_request.rb +16 -4
  65. data/lib/pingram/models/s2s.rb +295 -0
  66. data/lib/pingram/models/send_email_api_response_any_of1_error.rb +4 -24
  67. data/lib/pingram/models/send_email_request.rb +1 -1
  68. data/lib/pingram/models/send_sms_response_any_of1_error.rb +4 -24
  69. data/lib/pingram/models/sender_post_body_options_email.rb +5 -15
  70. data/lib/pingram/models/{a2p_registration_create_request.rb → ten_dlc_brand_create_request.rb} +56 -28
  71. data/lib/pingram/models/{a2p_registration.rb → ten_dlc_brand_registration.rb} +72 -22
  72. data/lib/pingram/models/ten_dlc_brand_registration_details.rb +599 -0
  73. data/lib/pingram/models/ten_dlc_brand_update_request.rb +338 -0
  74. data/lib/pingram/models/transfer.rb +251 -0
  75. data/lib/pingram/models/unbind_number_response.rb +164 -0
  76. data/lib/pingram/models/update_voice_agent_request.rb +164 -0
  77. data/lib/pingram/models/update_voice_agent_response.rb +164 -0
  78. data/lib/pingram/models/voice_browser_call_request.rb +186 -0
  79. data/lib/pingram/models/voice_browser_call_response.rb +216 -0
  80. data/lib/pingram/models/voice_call_request.rb +212 -0
  81. data/lib/pingram/models/voice_call_response.rb +217 -0
  82. data/lib/pingram/models/webhook_event.rb +2 -2
  83. data/lib/pingram/version.rb +1 -1
  84. data/lib/pingram.rb +54 -9
  85. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.12.0.gem +0 -0
  86. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  87. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  88. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/gem_make.out +5 -5
  89. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/mkmf.log +3 -3
  90. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  91. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/gem_make.out +5 -5
  92. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  93. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  94. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  95. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  96. data/vendor/bundle/ruby/3.2.0/specifications/{parser-3.3.11.1.gemspec → parser-3.3.12.0.gemspec} +4 -4
  97. metadata +138 -93
  98. data/lib/pingram/api/organization_api.rb +0 -201
  99. data/lib/pingram/models/organization.rb +0 -442
  100. data/lib/pingram/models/organization_usage_history_items_inner.rb +0 -330
  101. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.11.1.gem +0 -0
  102. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/LICENSE.txt +0 -0
  103. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  104. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  105. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  106. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  107. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
  108. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
  109. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  110. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
  111. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
  112. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  113. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  114. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
  115. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  116. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
  117. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  118. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
  119. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
  120. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
  121. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
  122. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
  123. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
  124. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
  125. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  126. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
  127. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  128. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  129. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  130. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  131. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  132. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  133. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  134. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  135. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  136. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  137. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  138. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  139. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  140. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  141. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  142. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  143. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  144. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  145. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  146. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
  147. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
  148. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  149. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
  150. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
  151. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
  152. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
  153. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
  154. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
  155. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
  156. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
  157. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
  158. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
  159. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
  160. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
  161. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
  162. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
  163. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
  164. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
  165. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
  166. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
  167. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
  168. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
  169. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
  170. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
  171. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
  172. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
  173. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
  174. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
  175. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
  176. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  177. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
  178. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
  179. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/parser.gemspec +0 -0
@@ -0,0 +1,191 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class GetVoiceCallResponseCallTimelineInnerLatency < ApiModelBase
18
+ attr_accessor :stt_ms
19
+
20
+ attr_accessor :llm_ms
21
+
22
+ attr_accessor :tts_ms
23
+
24
+ attr_accessor :total_ms
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'stt_ms' => :'sttMs',
30
+ :'llm_ms' => :'llmMs',
31
+ :'tts_ms' => :'ttsMs',
32
+ :'total_ms' => :'totalMs'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'stt_ms' => :'Float',
50
+ :'llm_ms' => :'Float',
51
+ :'tts_ms' => :'Float',
52
+ :'total_ms' => :'Float'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::GetVoiceCallResponseCallTimelineInnerLatency` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ acceptable_attribute_map = self.class.acceptable_attribute_map
71
+ attributes = attributes.each_with_object({}) { |(k, v), h|
72
+ if (!acceptable_attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::GetVoiceCallResponseCallTimelineInnerLatency`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
74
+ end
75
+ h[k.to_sym] = v
76
+ }
77
+
78
+ if attributes.key?(:'stt_ms')
79
+ self.stt_ms = attributes[:'stt_ms']
80
+ end
81
+
82
+ if attributes.key?(:'llm_ms')
83
+ self.llm_ms = attributes[:'llm_ms']
84
+ end
85
+
86
+ if attributes.key?(:'tts_ms')
87
+ self.tts_ms = attributes[:'tts_ms']
88
+ end
89
+
90
+ if attributes.key?(:'total_ms')
91
+ self.total_ms = attributes[:'total_ms']
92
+ else
93
+ self.total_ms = nil
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ if @total_ms.nil?
103
+ invalid_properties.push('invalid value for "total_ms", total_ms cannot be nil.')
104
+ end
105
+
106
+ invalid_properties
107
+ end
108
+
109
+ # Check to see if the all the properties in the model are valid
110
+ # @return true if the model is valid
111
+ def valid?
112
+ warn '[DEPRECATED] the `valid?` method is obsolete'
113
+ return false if @total_ms.nil?
114
+ true
115
+ end
116
+
117
+ # Custom attribute writer method with validation
118
+ # @param [Object] total_ms Value to be assigned
119
+ def total_ms=(total_ms)
120
+ if total_ms.nil?
121
+ fail ArgumentError, 'total_ms cannot be nil'
122
+ end
123
+
124
+ @total_ms = total_ms
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param [Object] Object to be compared
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ stt_ms == o.stt_ms &&
133
+ llm_ms == o.llm_ms &&
134
+ tts_ms == o.tts_ms &&
135
+ total_ms == o.total_ms
136
+ end
137
+
138
+ # @see the `==` method
139
+ # @param [Object] Object to be compared
140
+ def eql?(o)
141
+ self == o
142
+ end
143
+
144
+ # Calculates hash code according to all attributes.
145
+ # @return [Integer] Hash code
146
+ def hash
147
+ [stt_ms, llm_ms, tts_ms, total_ms].hash
148
+ end
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def self.build_from_hash(attributes)
154
+ return nil unless attributes.is_a?(Hash)
155
+ attributes = attributes.transform_keys(&:to_sym)
156
+ transformed_hash = {}
157
+ openapi_types.each_pair do |key, type|
158
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
159
+ transformed_hash["#{key}"] = nil
160
+ elsif type =~ /\AArray<(.*)>/i
161
+ # check to ensure the input is an array given that the attribute
162
+ # is documented as an array but the input is not
163
+ if attributes[attribute_map[key]].is_a?(Array)
164
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
165
+ end
166
+ elsif !attributes[attribute_map[key]].nil?
167
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
168
+ end
169
+ end
170
+ new(transformed_hash)
171
+ end
172
+
173
+ # Returns the object in the form of hash
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_hash
176
+ hash = {}
177
+ self.class.attribute_map.each_pair do |attr, param|
178
+ value = self.send(attr)
179
+ if value.nil?
180
+ is_nullable = self.class.openapi_nullable.include?(attr)
181
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
182
+ end
183
+
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ end
190
+
191
+ end
@@ -123,10 +123,10 @@ module Pingram
123
123
  def valid?
124
124
  warn '[DEPRECATED] the `valid?` method is obsolete'
125
125
  return false if @webhook.nil?
126
- webhook_validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed"])
126
+ webhook_validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed", "dropped"])
127
127
  return false unless webhook_validator.valid?(@webhook)
128
128
  return false if @auto_reply.nil?
129
- auto_reply_validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "failed"])
129
+ auto_reply_validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "skipped_dropped", "failed"])
130
130
  return false unless auto_reply_validator.valid?(@auto_reply)
131
131
  true
132
132
  end
@@ -134,7 +134,7 @@ module Pingram
134
134
  # Custom attribute writer method checking allowed values (enum).
135
135
  # @param [Object] webhook Object to be assigned
136
136
  def webhook=(webhook)
137
- validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed"])
137
+ validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed", "dropped"])
138
138
  unless validator.valid?(webhook)
139
139
  fail ArgumentError, "invalid value for \"webhook\", must be one of #{validator.allowable_values}."
140
140
  end
@@ -144,7 +144,7 @@ module Pingram
144
144
  # Custom attribute writer method checking allowed values (enum).
145
145
  # @param [Object] auto_reply Object to be assigned
146
146
  def auto_reply=(auto_reply)
147
- validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "failed"])
147
+ validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "skipped_dropped", "failed"])
148
148
  unless validator.valid?(auto_reply)
149
149
  fail ArgumentError, "invalid value for \"auto_reply\", must be one of #{validator.allowable_values}."
150
150
  end
@@ -0,0 +1,216 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class Knowledge < ApiModelBase
18
+ attr_accessor :type
19
+
20
+ attr_accessor :documents
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'type' => :'type',
48
+ :'documents' => :'documents'
49
+ }
50
+ end
51
+
52
+ # Returns attribute mapping this model knows about
53
+ def self.acceptable_attribute_map
54
+ attribute_map
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ acceptable_attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'type' => :'String',
66
+ :'documents' => :'Array<KnowledgeDocumentsInner>'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::Knowledge` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ acceptable_attribute_map = self.class.acceptable_attribute_map
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!acceptable_attribute_map.key?(k.to_sym))
87
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::Knowledge`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
88
+ end
89
+ h[k.to_sym] = v
90
+ }
91
+
92
+ if attributes.key?(:'type')
93
+ self.type = attributes[:'type']
94
+ else
95
+ self.type = nil
96
+ end
97
+
98
+ if attributes.key?(:'documents')
99
+ if (value = attributes[:'documents']).is_a?(Array)
100
+ self.documents = value
101
+ end
102
+ else
103
+ self.documents = nil
104
+ end
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
111
+ invalid_properties = Array.new
112
+ if @type.nil?
113
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
114
+ end
115
+
116
+ if @documents.nil?
117
+ invalid_properties.push('invalid value for "documents", documents cannot be nil.')
118
+ end
119
+
120
+ invalid_properties
121
+ end
122
+
123
+ # Check to see if the all the properties in the model are valid
124
+ # @return true if the model is valid
125
+ def valid?
126
+ warn '[DEPRECATED] the `valid?` method is obsolete'
127
+ return false if @type.nil?
128
+ type_validator = EnumAttributeValidator.new('String', ["knowledge"])
129
+ return false unless type_validator.valid?(@type)
130
+ return false if @documents.nil?
131
+ true
132
+ end
133
+
134
+ # Custom attribute writer method checking allowed values (enum).
135
+ # @param [Object] type Object to be assigned
136
+ def type=(type)
137
+ validator = EnumAttributeValidator.new('String', ["knowledge"])
138
+ unless validator.valid?(type)
139
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
140
+ end
141
+ @type = type
142
+ end
143
+
144
+ # Custom attribute writer method with validation
145
+ # @param [Object] documents Value to be assigned
146
+ def documents=(documents)
147
+ if documents.nil?
148
+ fail ArgumentError, 'documents cannot be nil'
149
+ end
150
+
151
+ @documents = documents
152
+ end
153
+
154
+ # Checks equality by comparing each attribute.
155
+ # @param [Object] Object to be compared
156
+ def ==(o)
157
+ return true if self.equal?(o)
158
+ self.class == o.class &&
159
+ type == o.type &&
160
+ documents == o.documents
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [type, documents].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ return nil unless attributes.is_a?(Hash)
180
+ attributes = attributes.transform_keys(&:to_sym)
181
+ transformed_hash = {}
182
+ openapi_types.each_pair do |key, type|
183
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = nil
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[attribute_map[key]].is_a?(Array)
189
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
+ end
191
+ elsif !attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
+ end
194
+ end
195
+ new(transformed_hash)
196
+ end
197
+
198
+ # Returns the object in the form of hash
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_hash
201
+ hash = {}
202
+ self.class.attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ if value.nil?
205
+ is_nullable = self.class.openapi_nullable.include?(attr)
206
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
+ end
208
+
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ end
215
+
216
+ end
@@ -14,19 +14,20 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Pingram
17
- class CreateOrganizationResponse < ApiModelBase
18
- attr_accessor :success
17
+ class KnowledgeDocumentsInner < ApiModelBase
18
+ # Opaque identifier for an uploaded knowledge document.
19
+ attr_accessor :doc_id
19
20
 
20
- attr_accessor :account_id
21
+ attr_accessor :name
21
22
 
22
- attr_accessor :organization_id
23
+ attr_accessor :size_bytes
23
24
 
24
25
  # Attribute mapping from ruby-style variable name to JSON key.
25
26
  def self.attribute_map
26
27
  {
27
- :'success' => :'success',
28
- :'account_id' => :'accountId',
29
- :'organization_id' => :'organizationId'
28
+ :'doc_id' => :'docId',
29
+ :'name' => :'name',
30
+ :'size_bytes' => :'sizeBytes'
30
31
  }
31
32
  end
32
33
 
@@ -43,9 +44,9 @@ module Pingram
43
44
  # Attribute type mapping.
44
45
  def self.openapi_types
45
46
  {
46
- :'success' => :'Boolean',
47
- :'account_id' => :'String',
48
- :'organization_id' => :'String'
47
+ :'doc_id' => :'String',
48
+ :'name' => :'String',
49
+ :'size_bytes' => :'Float'
49
50
  }
50
51
  end
51
52
 
@@ -59,34 +60,34 @@ module Pingram
59
60
  # @param [Hash] attributes Model attributes in the form of hash
60
61
  def initialize(attributes = {})
61
62
  if (!attributes.is_a?(Hash))
62
- fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::CreateOrganizationResponse` initialize method"
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::KnowledgeDocumentsInner` initialize method"
63
64
  end
64
65
 
65
66
  # check to see if the attribute exists and convert string to symbol for hash key
66
67
  acceptable_attribute_map = self.class.acceptable_attribute_map
67
68
  attributes = attributes.each_with_object({}) { |(k, v), h|
68
69
  if (!acceptable_attribute_map.key?(k.to_sym))
69
- fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::CreateOrganizationResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::KnowledgeDocumentsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
71
  end
71
72
  h[k.to_sym] = v
72
73
  }
73
74
 
74
- if attributes.key?(:'success')
75
- self.success = attributes[:'success']
75
+ if attributes.key?(:'doc_id')
76
+ self.doc_id = attributes[:'doc_id']
76
77
  else
77
- self.success = nil
78
+ self.doc_id = nil
78
79
  end
79
80
 
80
- if attributes.key?(:'account_id')
81
- self.account_id = attributes[:'account_id']
81
+ if attributes.key?(:'name')
82
+ self.name = attributes[:'name']
82
83
  else
83
- self.account_id = nil
84
+ self.name = nil
84
85
  end
85
86
 
86
- if attributes.key?(:'organization_id')
87
- self.organization_id = attributes[:'organization_id']
87
+ if attributes.key?(:'size_bytes')
88
+ self.size_bytes = attributes[:'size_bytes']
88
89
  else
89
- self.organization_id = nil
90
+ self.size_bytes = nil
90
91
  end
91
92
  end
92
93
 
@@ -95,16 +96,16 @@ module Pingram
95
96
  def list_invalid_properties
96
97
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
97
98
  invalid_properties = Array.new
98
- if @success.nil?
99
- invalid_properties.push('invalid value for "success", success cannot be nil.')
99
+ if @doc_id.nil?
100
+ invalid_properties.push('invalid value for "doc_id", doc_id cannot be nil.')
100
101
  end
101
102
 
102
- if @account_id.nil?
103
- invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
103
+ if @name.nil?
104
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
104
105
  end
105
106
 
106
- if @organization_id.nil?
107
- invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
107
+ if @size_bytes.nil?
108
+ invalid_properties.push('invalid value for "size_bytes", size_bytes cannot be nil.')
108
109
  end
109
110
 
110
111
  invalid_properties
@@ -114,40 +115,40 @@ module Pingram
114
115
  # @return true if the model is valid
115
116
  def valid?
116
117
  warn '[DEPRECATED] the `valid?` method is obsolete'
117
- return false if @success.nil?
118
- return false if @account_id.nil?
119
- return false if @organization_id.nil?
118
+ return false if @doc_id.nil?
119
+ return false if @name.nil?
120
+ return false if @size_bytes.nil?
120
121
  true
121
122
  end
122
123
 
123
124
  # Custom attribute writer method with validation
124
- # @param [Object] success Value to be assigned
125
- def success=(success)
126
- if success.nil?
127
- fail ArgumentError, 'success cannot be nil'
125
+ # @param [Object] doc_id Value to be assigned
126
+ def doc_id=(doc_id)
127
+ if doc_id.nil?
128
+ fail ArgumentError, 'doc_id cannot be nil'
128
129
  end
129
130
 
130
- @success = success
131
+ @doc_id = doc_id
131
132
  end
132
133
 
133
134
  # Custom attribute writer method with validation
134
- # @param [Object] account_id Value to be assigned
135
- def account_id=(account_id)
136
- if account_id.nil?
137
- fail ArgumentError, 'account_id cannot be nil'
135
+ # @param [Object] name Value to be assigned
136
+ def name=(name)
137
+ if name.nil?
138
+ fail ArgumentError, 'name cannot be nil'
138
139
  end
139
140
 
140
- @account_id = account_id
141
+ @name = name
141
142
  end
142
143
 
143
144
  # Custom attribute writer method with validation
144
- # @param [Object] organization_id Value to be assigned
145
- def organization_id=(organization_id)
146
- if organization_id.nil?
147
- fail ArgumentError, 'organization_id cannot be nil'
145
+ # @param [Object] size_bytes Value to be assigned
146
+ def size_bytes=(size_bytes)
147
+ if size_bytes.nil?
148
+ fail ArgumentError, 'size_bytes cannot be nil'
148
149
  end
149
150
 
150
- @organization_id = organization_id
151
+ @size_bytes = size_bytes
151
152
  end
152
153
 
153
154
  # Checks equality by comparing each attribute.
@@ -155,9 +156,9 @@ module Pingram
155
156
  def ==(o)
156
157
  return true if self.equal?(o)
157
158
  self.class == o.class &&
158
- success == o.success &&
159
- account_id == o.account_id &&
160
- organization_id == o.organization_id
159
+ doc_id == o.doc_id &&
160
+ name == o.name &&
161
+ size_bytes == o.size_bytes
161
162
  end
162
163
 
163
164
  # @see the `==` method
@@ -169,7 +170,7 @@ module Pingram
169
170
  # Calculates hash code according to all attributes.
170
171
  # @return [Integer] Hash code
171
172
  def hash
172
- [success, account_id, organization_id].hash
173
+ [doc_id, name, size_bytes].hash
173
174
  end
174
175
 
175
176
  # Builds the object from hash
@@ -45,6 +45,9 @@ module Pingram
45
45
  # ISO timestamp when the number was released (released numbers only)
46
46
  attr_accessor :released_at
47
47
 
48
+ # Voice agent id bound for inbound AI voice, if any
49
+ attr_accessor :bound_agent_id
50
+
48
51
  class EnumAttributeValidator
49
52
  attr_reader :datatype
50
53
  attr_reader :allowable_values
@@ -79,7 +82,8 @@ module Pingram
79
82
  :'next_billing_date' => :'nextBillingDate',
80
83
  :'monthly_price' => :'monthlyPrice',
81
84
  :'a2p_status' => :'a2pStatus',
82
- :'released_at' => :'releasedAt'
85
+ :'released_at' => :'releasedAt',
86
+ :'bound_agent_id' => :'boundAgentId'
83
87
  }
84
88
  end
85
89
 
@@ -105,7 +109,8 @@ module Pingram
105
109
  :'next_billing_date' => :'String',
106
110
  :'monthly_price' => :'Float',
107
111
  :'a2p_status' => :'String',
108
- :'released_at' => :'String'
112
+ :'released_at' => :'String',
113
+ :'bound_agent_id' => :'String'
109
114
  }
110
115
  end
111
116
 
@@ -184,6 +189,10 @@ module Pingram
184
189
  if attributes.key?(:'released_at')
185
190
  self.released_at = attributes[:'released_at']
186
191
  end
192
+
193
+ if attributes.key?(:'bound_agent_id')
194
+ self.bound_agent_id = attributes[:'bound_agent_id']
195
+ end
187
196
  end
188
197
 
189
198
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -334,7 +343,8 @@ module Pingram
334
343
  next_billing_date == o.next_billing_date &&
335
344
  monthly_price == o.monthly_price &&
336
345
  a2p_status == o.a2p_status &&
337
- released_at == o.released_at
346
+ released_at == o.released_at &&
347
+ bound_agent_id == o.bound_agent_id
338
348
  end
339
349
 
340
350
  # @see the `==` method
@@ -346,7 +356,7 @@ module Pingram
346
356
  # Calculates hash code according to all attributes.
347
357
  # @return [Integer] Hash code
348
358
  def hash
349
- [phone_number, label, created_at, country_code, number_type, billing_status, next_billing_date, monthly_price, a2p_status, released_at].hash
359
+ [phone_number, label, created_at, country_code, number_type, billing_status, next_billing_date, monthly_price, a2p_status, released_at, bound_agent_id].hash
350
360
  end
351
361
 
352
362
  # Builds the object from hash