wavix-ruby-sdk 1.1.1 → 1.4.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +5 -4
  3. data/.fern/replay.lock +7 -1
  4. data/.fernignore +1 -0
  5. data/lib/wavix/call_control/streams/client.rb +3 -3
  6. data/lib/wavix/call_webhooks/client.rb +13 -0
  7. data/lib/wavix/call_webhooks/types/call_webhooks_create_request.rb +2 -0
  8. data/lib/wavix/call_webhooks/types/delete_call_webhooks_request.rb +2 -0
  9. data/lib/wavix/cdrs/client.rb +2 -1
  10. data/lib/wavix/client.rb +1 -1
  11. data/lib/wavix/numbers/client.rb +7 -0
  12. data/lib/wavix/numbers/types/number_update_request.rb +2 -0
  13. data/lib/wavix/sip_trunks/client.rb +9 -7
  14. data/lib/wavix/sip_trunks/types/sip_trunk_create_request.rb +53 -0
  15. data/lib/wavix/sip_trunks/types/sip_trunk_create_request_allowed_ips_item.rb +11 -0
  16. data/lib/wavix/sip_trunks/types/sip_trunk_create_request_host_request.rb +13 -0
  17. data/lib/wavix/sip_trunks/types/sip_trunk_update_request.rb +55 -0
  18. data/lib/wavix/sip_trunks/types/sip_trunk_update_request_allowed_ips_item.rb +11 -0
  19. data/lib/wavix/sip_trunks/types/sip_trunk_update_request_host_request.rb +14 -0
  20. data/lib/wavix/sub_accounts/client.rb +1 -1
  21. data/lib/wavix/types/webhook_in_use_error_response.rb +14 -0
  22. data/lib/wavix/types/whats_app_business_account.rb +16 -0
  23. data/lib/wavix/types/whats_app_business_account_messaging_limit.rb +15 -0
  24. data/lib/wavix/types/whats_app_message.rb +2 -1
  25. data/lib/wavix/types/whats_app_message_get_response.rb +1 -0
  26. data/lib/wavix/types/whats_app_message_list_item.rb +3 -1
  27. data/lib/wavix/types/whats_app_message_list_item_status.rb +0 -1
  28. data/lib/wavix/types/whats_app_message_list_response.rb +1 -0
  29. data/lib/wavix/types/whats_app_message_send_request.rb +4 -1
  30. data/lib/wavix/types/whats_app_message_send_response.rb +1 -0
  31. data/lib/wavix/types/whats_app_message_status.rb +0 -1
  32. data/lib/wavix/types/whats_app_message_template.rb +3 -3
  33. data/lib/wavix/types/whats_app_problem.rb +2 -1
  34. data/lib/wavix/types/{whats_app_message_send_request_template.rb → whats_app_send_template.rb} +4 -3
  35. data/lib/wavix/types/whats_app_send_template_button.rb +27 -0
  36. data/lib/wavix/types/whats_app_send_template_button_type.rb +18 -0
  37. data/lib/wavix/types/{whats_app_message_send_request_template_header.rb → whats_app_send_template_header.rb} +7 -5
  38. data/lib/wavix/types/whats_app_send_template_header_type.rb +16 -0
  39. data/lib/wavix/types/whats_app_sender.rb +5 -3
  40. data/lib/wavix/types/whats_app_sender_list_response.rb +12 -0
  41. data/lib/wavix/types/whats_app_template.rb +6 -2
  42. data/lib/wavix/types/whats_app_template_body_component_request.rb +12 -0
  43. data/lib/wavix/types/whats_app_template_body_component_request_example.rb +10 -0
  44. data/lib/wavix/types/whats_app_template_button_request.rb +21 -0
  45. data/lib/wavix/types/whats_app_template_buttons_component_request.rb +10 -0
  46. data/lib/wavix/types/whats_app_template_component_request.rb +21 -0
  47. data/lib/wavix/types/whats_app_template_copy_code_button_request.rb +10 -0
  48. data/lib/wavix/types/whats_app_template_create_request.rb +6 -1
  49. data/lib/wavix/types/whats_app_template_footer_component_request.rb +10 -0
  50. data/lib/wavix/types/whats_app_template_header_component_request.rb +23 -0
  51. data/lib/wavix/types/whats_app_template_location_header_component_request.rb +11 -0
  52. data/lib/wavix/types/whats_app_template_location_header_component_request_type.rb +11 -0
  53. data/lib/wavix/types/whats_app_template_media_header_component_request.rb +12 -0
  54. data/lib/wavix/types/whats_app_template_media_header_component_request_example.rb +10 -0
  55. data/lib/wavix/types/whats_app_template_media_header_component_request_type.rb +11 -0
  56. data/lib/wavix/types/whats_app_template_page_response.rb +12 -0
  57. data/lib/wavix/types/whats_app_template_phone_number_button_request.rb +12 -0
  58. data/lib/wavix/types/whats_app_template_quick_reply_button_request.rb +10 -0
  59. data/lib/wavix/types/whats_app_template_response.rb +1 -0
  60. data/lib/wavix/types/whats_app_template_response_component.rb +20 -0
  61. data/lib/wavix/types/whats_app_template_response_component_format.rb +15 -0
  62. data/lib/wavix/types/whats_app_template_text_header_component_request.rb +14 -0
  63. data/lib/wavix/types/whats_app_template_text_header_component_request_example.rb +10 -0
  64. data/lib/wavix/types/whats_app_template_text_header_component_request_type.rb +11 -0
  65. data/lib/wavix/types/whats_app_template_url_button_request.rb +14 -0
  66. data/lib/wavix/types/whats_app_waba.rb +12 -0
  67. data/lib/wavix/types/whats_app_waba_list_response.rb +12 -0
  68. data/lib/wavix/version.rb +1 -1
  69. data/lib/wavix.rb +42 -17
  70. data/reference.md +401 -29
  71. metadata +41 -16
  72. data/lib/wavix/sip_trunks/types/update_sip_trunks_request.rb +0 -13
  73. data/lib/wavix/types/sip_trunk_create_request.rb +0 -51
  74. data/lib/wavix/types/sip_trunk_create_request_allowed_ips_item.rb +0 -9
  75. data/lib/wavix/types/sip_trunk_create_request_host_request.rb +0 -11
  76. data/lib/wavix/types/whats_app_message_send_request_template_buttons_item.rb +0 -9
  77. data/lib/wavix/types/whats_app_message_send_request_template_buttons_item_type.rb +0 -18
  78. data/lib/wavix/types/whats_app_message_send_request_template_header_type.rb +0 -16
  79. data/lib/wavix/types/whats_app_sender_message_tier.rb +0 -16
  80. data/lib/wavix/types/whats_app_template_component.rb +0 -18
  81. data/lib/wavix/types/whats_app_template_component_format.rb +0 -15
  82. data/lib/wavix/types/whats_app_template_component_type.rb +0 -14
  83. data/lib/wavix/types/whats_app_template_list_response.rb +0 -9
@@ -2,13 +2,15 @@
2
2
 
3
3
  module Wavix
4
4
  module Types
5
- # Header content, required only when the template's `HEADER` component needs one.
6
- class WhatsAppMessageSendRequestTemplateHeader < Internal::Types::Model
7
- field :type, -> { Wavix::Types::WhatsAppMessageSendRequestTemplateHeaderType }, optional: true, nullable: false
5
+ # Header content, required only when the template's `header` component needs one. Each `type` requires specific
6
+ # fields and rejects the others, as listed in the `type` description. Consumed in `template.header` by
7
+ # `whatsapp_messages_send`.
8
+ class WhatsAppSendTemplateHeader < Internal::Types::Model
9
+ field :type, -> { Wavix::Types::WhatsAppSendTemplateHeaderType }, optional: false, nullable: false
8
10
 
9
11
  field :placeholder, -> { String }, optional: true, nullable: false
10
12
 
11
- field :media_url, -> { String }, optional: true, nullable: false, api_name: "mediaUrl"
13
+ field :media_url, -> { String }, optional: true, nullable: false
12
14
 
13
15
  field :filename, -> { String }, optional: true, nullable: false
14
16
 
@@ -16,7 +18,7 @@ module Wavix
16
18
 
17
19
  field :longitude, -> { Integer }, optional: true, nullable: false
18
20
 
19
- field :parameter_name, -> { String }, optional: true, nullable: false, api_name: "parameterName"
21
+ field :parameter_name, -> { String }, optional: true, nullable: false
20
22
 
21
23
  field :text, -> { String }, optional: true, nullable: false
22
24
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ module WhatsAppSendTemplateHeaderType
6
+ extend Wavix::Internal::Types::Enum
7
+
8
+ TEXT = "text"
9
+ TEXT_NAMED_PARAMETERS = "text_named_parameters"
10
+ IMAGE = "image"
11
+ VIDEO = "video"
12
+ DOCUMENT = "document"
13
+ LOCATION = "location"
14
+ end
15
+ end
16
+ end
@@ -2,16 +2,18 @@
2
2
 
3
3
  module Wavix
4
4
  module Types
5
+ # A WhatsApp sender, which is a phone number registered with WhatsApp in one of your account's WhatsApp Business
6
+ # Accounts. Returned by `whatsapp_senders_list` and `whatsapp_senders_get`.
5
7
  class WhatsAppSender < Internal::Types::Model
6
8
  field :phone_number, -> { String }, optional: false, nullable: false
7
9
 
8
- field :display_name, -> { String }, optional: true, nullable: false
10
+ field :display_name, -> { String }, optional: false, nullable: true
9
11
 
10
12
  field :status, -> { Wavix::Types::WhatsAppSenderStatus }, optional: false, nullable: false
11
13
 
12
- field :quality_rating, -> { Wavix::Types::WhatsAppSenderQualityRating }, optional: true, nullable: false
14
+ field :quality_rating, -> { Wavix::Types::WhatsAppSenderQualityRating }, optional: false, nullable: true
13
15
 
14
- field :message_tier, -> { Wavix::Types::WhatsAppSenderMessageTier }, optional: true, nullable: false
16
+ field :waba, -> { Wavix::Types::WhatsAppWaba }, optional: false, nullable: false
15
17
  end
16
18
  end
17
19
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Returned by `whatsapp_senders_list`.
6
+ class WhatsAppSenderListResponse < Internal::Types::Model
7
+ field :senders, -> { Internal::Types::Array[Wavix::Types::WhatsAppSender] }, optional: false, nullable: false
8
+
9
+ field :pagination, -> { Wavix::Types::Pagination }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Wavix
4
4
  module Types
5
+ # A WhatsApp message template with its review status and components. Returned by `whatsapp_templates_list`,
6
+ # `whatsapp_templates_get`, and `whatsapp_templates_create`.
5
7
  class WhatsAppTemplate < Internal::Types::Model
6
8
  field :uuid, -> { String }, optional: false, nullable: false
7
9
 
@@ -13,11 +15,13 @@ module Wavix
13
15
 
14
16
  field :status, -> { Wavix::Types::WhatsAppTemplateStatus }, optional: false, nullable: false
15
17
 
16
- field :quality_rating, -> { Wavix::Types::WhatsAppTemplateQualityRating }, optional: true, nullable: false
18
+ field :quality_rating, -> { Wavix::Types::WhatsAppTemplateQualityRating }, optional: false, nullable: true
17
19
 
18
20
  field :submitted_at, -> { String }, optional: true, nullable: false
19
21
 
20
- field :components, -> { Internal::Types::Array[Wavix::Types::WhatsAppTemplateComponent] }, optional: false, nullable: false
22
+ field :components, -> { Internal::Types::Array[Wavix::Types::WhatsAppTemplateResponseComponent] }, optional: false, nullable: false
23
+
24
+ field :waba, -> { Wavix::Types::WhatsAppWaba }, optional: false, nullable: false
21
25
 
22
26
  field :created_at, -> { String }, optional: false, nullable: false
23
27
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Body of a new WhatsApp template. Required, exactly once. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateBodyComponentRequest < Internal::Types::Model
7
+ field :text, -> { String }, optional: false, nullable: false
8
+
9
+ field :example, -> { Wavix::Types::WhatsAppTemplateBodyComponentRequestExample }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Sample values for the placeholders in the body text.
6
+ class WhatsAppTemplateBodyComponentRequestExample < Internal::Types::Model
7
+ field :body_text, -> { Internal::Types::Array[Internal::Types::Array[String]] }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # A button in the `buttons` component of a new WhatsApp template. Consumed by `whatsapp_templates_create`. The
6
+ # `type` field selects the variant.
7
+ class WhatsAppTemplateButtonRequest < Internal::Types::Model
8
+ extend Wavix::Internal::Types::Union
9
+
10
+ discriminant :type
11
+
12
+ member -> { Wavix::Types::WhatsAppTemplateQuickReplyButtonRequest }, key: "QUICK_REPLY"
13
+
14
+ member -> { Wavix::Types::WhatsAppTemplateURLButtonRequest }, key: "URL"
15
+
16
+ member -> { Wavix::Types::WhatsAppTemplatePhoneNumberButtonRequest }, key: "PHONE_NUMBER"
17
+
18
+ member -> { Wavix::Types::WhatsAppTemplateCopyCodeButtonRequest }, key: "COPY_CODE"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Buttons component of a new WhatsApp template. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateButtonsComponentRequest < Internal::Types::Model
7
+ field :buttons, -> { Internal::Types::Array[Wavix::Types::WhatsAppTemplateButtonRequest] }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # A header, body, footer, or buttons component of a new WhatsApp template. Consumed by `whatsapp_templates_create`.
6
+ # The `type` field selects the variant, and a `header` component is further selected by `format`.
7
+ class WhatsAppTemplateComponentRequest < Internal::Types::Model
8
+ extend Wavix::Internal::Types::Union
9
+
10
+ discriminant :type
11
+
12
+ member -> { Wavix::Types::WhatsAppTemplateHeaderComponentRequest }, key: "HEADER"
13
+
14
+ member -> { Wavix::Types::WhatsAppTemplateBodyComponentRequest }, key: "BODY"
15
+
16
+ member -> { Wavix::Types::WhatsAppTemplateFooterComponentRequest }, key: "FOOTER"
17
+
18
+ member -> { Wavix::Types::WhatsAppTemplateButtonsComponentRequest }, key: "BUTTONS"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Button that copies a code to the clipboard. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateCopyCodeButtonRequest < Internal::Types::Model
7
+ field :example, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Wavix
4
4
  module Types
5
+ # Attributes of a new WhatsApp template. Consumed by `whatsapp_templates_create`.
5
6
  class WhatsAppTemplateCreateRequest < Internal::Types::Model
6
7
  field :name, -> { String }, optional: false, nullable: false
7
8
 
@@ -9,7 +10,11 @@ module Wavix
9
10
 
10
11
  field :category, -> { Wavix::Types::WhatsAppTemplateCreateRequestCategory }, optional: false, nullable: false
11
12
 
12
- field :components, -> { Internal::Types::Array[Wavix::Types::WhatsAppTemplateComponent] }, optional: false, nullable: false
13
+ field :components, -> { Internal::Types::Array[Wavix::Types::WhatsAppTemplateComponentRequest] }, optional: false, nullable: false
14
+
15
+ field :waba_id, -> { String }, optional: true, nullable: false
16
+
17
+ field :sender, -> { String }, optional: true, nullable: false
13
18
  end
14
19
  end
15
20
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Footer of a new WhatsApp template. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateFooterComponentRequest < Internal::Types::Model
7
+ field :text, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Header of a new WhatsApp template. Consumed by `whatsapp_templates_create`. The `format` field selects the
6
+ # variant.
7
+ class WhatsAppTemplateHeaderComponentRequest < Internal::Types::Model
8
+ extend Wavix::Internal::Types::Union
9
+
10
+ discriminant :format
11
+
12
+ member -> { Wavix::Types::WhatsAppTemplateTextHeaderComponentRequest }, key: "TEXT"
13
+
14
+ member -> { Wavix::Types::WhatsAppTemplateMediaHeaderComponentRequest }, key: "IMAGE"
15
+
16
+ member -> { Wavix::Types::WhatsAppTemplateMediaHeaderComponentRequest }, key: "VIDEO"
17
+
18
+ member -> { Wavix::Types::WhatsAppTemplateMediaHeaderComponentRequest }, key: "DOCUMENT"
19
+
20
+ member -> { Wavix::Types::WhatsAppTemplateLocationHeaderComponentRequest }, key: "LOCATION"
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Location header of a new WhatsApp template. Takes neither `text` nor `example`. Consumed by
6
+ # `whatsapp_templates_create`.
7
+ class WhatsAppTemplateLocationHeaderComponentRequest < Internal::Types::Model
8
+ field :type, -> { Wavix::Types::WhatsAppTemplateLocationHeaderComponentRequestType }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ module WhatsAppTemplateLocationHeaderComponentRequestType
6
+ extend Wavix::Internal::Types::Enum
7
+
8
+ HEADER = "header"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Media header of a new WhatsApp template. Takes no `text`. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateMediaHeaderComponentRequest < Internal::Types::Model
7
+ field :type, -> { Wavix::Types::WhatsAppTemplateMediaHeaderComponentRequestType }, optional: false, nullable: false
8
+
9
+ field :example, -> { Wavix::Types::WhatsAppTemplateMediaHeaderComponentRequestExample }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Sample media file.
6
+ class WhatsAppTemplateMediaHeaderComponentRequestExample < Internal::Types::Model
7
+ field :header_handle, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ module WhatsAppTemplateMediaHeaderComponentRequestType
6
+ extend Wavix::Internal::Types::Enum
7
+
8
+ HEADER = "header"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Returned by `whatsapp_templates_list`.
6
+ class WhatsAppTemplatePageResponse < Internal::Types::Model
7
+ field :templates, -> { Internal::Types::Array[Wavix::Types::WhatsAppTemplate] }, optional: false, nullable: false
8
+
9
+ field :pagination, -> { Wavix::Types::Pagination }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Button that calls a phone number. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplatePhoneNumberButtonRequest < Internal::Types::Model
7
+ field :text, -> { String }, optional: false, nullable: false
8
+
9
+ field :phone_number, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Button that sends its label back as a reply. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateQuickReplyButtonRequest < Internal::Types::Model
7
+ field :text, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Wavix
4
4
  module Types
5
+ # Returned by `whatsapp_templates_get` and `whatsapp_templates_create`.
5
6
  class WhatsAppTemplateResponse < Internal::Types::Model
6
7
  field :template, -> { Wavix::Types::WhatsAppTemplate }, optional: false, nullable: false
7
8
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # A component of a stored WhatsApp template. Returned inside templates by `whatsapp_templates_list`,
6
+ # `whatsapp_templates_get`, and `whatsapp_templates_create`. Section types other than header, body, footer, and
7
+ # buttons can carry fields of their own.
8
+ class WhatsAppTemplateResponseComponent < Internal::Types::Model
9
+ field :type, -> { String }, optional: false, nullable: false
10
+
11
+ field :format, -> { Wavix::Types::WhatsAppTemplateResponseComponentFormat }, optional: true, nullable: false
12
+
13
+ field :text, -> { String }, optional: true, nullable: false
14
+
15
+ field :example, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
16
+
17
+ field :buttons, -> { Internal::Types::Array[Internal::Types::Hash[String, Object]] }, optional: true, nullable: false
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ module WhatsAppTemplateResponseComponentFormat
6
+ extend Wavix::Internal::Types::Enum
7
+
8
+ TEXT = "text"
9
+ IMAGE = "image"
10
+ VIDEO = "video"
11
+ DOCUMENT = "document"
12
+ LOCATION = "location"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Text header of a new WhatsApp template. Requires `text`. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateTextHeaderComponentRequest < Internal::Types::Model
7
+ field :type, -> { Wavix::Types::WhatsAppTemplateTextHeaderComponentRequestType }, optional: false, nullable: false
8
+
9
+ field :text, -> { String }, optional: false, nullable: false
10
+
11
+ field :example, -> { Wavix::Types::WhatsAppTemplateTextHeaderComponentRequestExample }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Sample for the `{{1}}` placeholder.
6
+ class WhatsAppTemplateTextHeaderComponentRequestExample < Internal::Types::Model
7
+ field :header_text, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ module WhatsAppTemplateTextHeaderComponentRequestType
6
+ extend Wavix::Internal::Types::Enum
7
+
8
+ HEADER = "header"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Button that opens a URL. Consumed by `whatsapp_templates_create`.
6
+ class WhatsAppTemplateURLButtonRequest < Internal::Types::Model
7
+ field :text, -> { String }, optional: false, nullable: false
8
+
9
+ field :url, -> { String }, optional: false, nullable: false
10
+
11
+ field :example, -> { Internal::Types::Array[String] }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # A WhatsApp Business Account linked to your account, embedded in senders and templates.
6
+ class WhatsAppWaba < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :name, -> { String }, optional: false, nullable: true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module Types
5
+ # Returned by `whatsapp_wabas_list`.
6
+ class WhatsAppWabaListResponse < Internal::Types::Model
7
+ field :wabas, -> { Internal::Types::Array[Wavix::Types::WhatsAppBusinessAccount] }, optional: false, nullable: false
8
+
9
+ field :pagination, -> { Wavix::Types::Pagination }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
data/lib/wavix/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wavix
4
- VERSION = "1.1.1"
4
+ VERSION = "1.4.0"
5
5
  end
data/lib/wavix.rb CHANGED
@@ -35,6 +35,10 @@ require_relative "wavix/internal/iterators/cursor_item_iterator"
35
35
  require_relative "wavix/internal/iterators/offset_item_iterator"
36
36
  require_relative "wavix/internal/iterators/cursor_page_iterator"
37
37
  require_relative "wavix/internal/iterators/offset_page_iterator"
38
+ require_relative "wavix/sip_trunks/types/sip_trunk_create_request_host_request"
39
+ require_relative "wavix/sip_trunks/types/sip_trunk_create_request_allowed_ips_item"
40
+ require_relative "wavix/sip_trunks/types/sip_trunk_update_request_host_request"
41
+ require_relative "wavix/sip_trunks/types/sip_trunk_update_request_allowed_ips_item"
38
42
  require_relative "wavix/types/document_type"
39
43
  require_relative "wavix/types/inbound_call_transport"
40
44
  require_relative "wavix/types/inbound_call_destination"
@@ -81,9 +85,6 @@ require_relative "wavix/types/sip_trunk_summary_host_request"
81
85
  require_relative "wavix/types/sip_trunk_summary"
82
86
  require_relative "wavix/types/pagination"
83
87
  require_relative "wavix/types/sip_trunk_list_response"
84
- require_relative "wavix/types/sip_trunk_create_request_host_request"
85
- require_relative "wavix/types/sip_trunk_create_request_allowed_ips_item"
86
- require_relative "wavix/types/sip_trunk_create_request"
87
88
  require_relative "wavix/types/allowed_i_ps_item"
88
89
  require_relative "wavix/types/allowed_i_ps"
89
90
  require_relative "wavix/types/sip_trunk_response"
@@ -100,6 +101,7 @@ require_relative "wavix/types/document_type_info"
100
101
  require_relative "wavix/types/cart_response"
101
102
  require_relative "wavix/types/number_list_response"
102
103
  require_relative "wavix/types/number_destination"
104
+ require_relative "wavix/types/webhook_in_use_error_response"
103
105
  require_relative "wavix/types/call_disposition"
104
106
  require_relative "wavix/types/cdr"
105
107
  require_relative "wavix/types/cdr_list_response"
@@ -242,20 +244,42 @@ require_relative "wavix/types/sub_organization_response"
242
244
  require_relative "wavix/types/sub_accounts_list_response"
243
245
  require_relative "wavix/types/sub_accounts_transactions_list_response_transactions_item"
244
246
  require_relative "wavix/types/sub_accounts_transactions_list_response"
247
+ require_relative "wavix/types/whats_app_business_account_messaging_limit"
248
+ require_relative "wavix/types/whats_app_business_account"
249
+ require_relative "wavix/types/whats_app_waba_list_response"
250
+ require_relative "wavix/types/whats_app_problem_error_class"
251
+ require_relative "wavix/types/whats_app_problem"
252
+ require_relative "wavix/types/whats_app_waba"
245
253
  require_relative "wavix/types/whats_app_sender_status"
246
254
  require_relative "wavix/types/whats_app_sender_quality_rating"
247
- require_relative "wavix/types/whats_app_sender_message_tier"
248
255
  require_relative "wavix/types/whats_app_sender"
249
- require_relative "wavix/types/whats_app_problem_error_class"
250
- require_relative "wavix/types/whats_app_problem"
251
- require_relative "wavix/types/whats_app_template_component_type"
252
- require_relative "wavix/types/whats_app_template_component_format"
253
- require_relative "wavix/types/whats_app_template_component"
256
+ require_relative "wavix/types/whats_app_sender_list_response"
257
+ require_relative "wavix/types/whats_app_template_response_component_format"
258
+ require_relative "wavix/types/whats_app_template_response_component"
254
259
  require_relative "wavix/types/whats_app_template_category"
255
260
  require_relative "wavix/types/whats_app_template_status"
256
261
  require_relative "wavix/types/whats_app_template_quality_rating"
257
262
  require_relative "wavix/types/whats_app_template"
258
- require_relative "wavix/types/whats_app_template_list_response"
263
+ require_relative "wavix/types/whats_app_template_page_response"
264
+ require_relative "wavix/types/whats_app_template_text_header_component_request_type"
265
+ require_relative "wavix/types/whats_app_template_text_header_component_request_example"
266
+ require_relative "wavix/types/whats_app_template_text_header_component_request"
267
+ require_relative "wavix/types/whats_app_template_media_header_component_request_type"
268
+ require_relative "wavix/types/whats_app_template_media_header_component_request_example"
269
+ require_relative "wavix/types/whats_app_template_media_header_component_request"
270
+ require_relative "wavix/types/whats_app_template_location_header_component_request_type"
271
+ require_relative "wavix/types/whats_app_template_location_header_component_request"
272
+ require_relative "wavix/types/whats_app_template_header_component_request"
273
+ require_relative "wavix/types/whats_app_template_body_component_request_example"
274
+ require_relative "wavix/types/whats_app_template_body_component_request"
275
+ require_relative "wavix/types/whats_app_template_footer_component_request"
276
+ require_relative "wavix/types/whats_app_template_quick_reply_button_request"
277
+ require_relative "wavix/types/whats_app_template_url_button_request"
278
+ require_relative "wavix/types/whats_app_template_phone_number_button_request"
279
+ require_relative "wavix/types/whats_app_template_copy_code_button_request"
280
+ require_relative "wavix/types/whats_app_template_button_request"
281
+ require_relative "wavix/types/whats_app_template_buttons_component_request"
282
+ require_relative "wavix/types/whats_app_template_component_request"
259
283
  require_relative "wavix/types/whats_app_template_create_request_category"
260
284
  require_relative "wavix/types/whats_app_template_create_request"
261
285
  require_relative "wavix/types/whats_app_template_response"
@@ -263,14 +287,14 @@ require_relative "wavix/types/whats_app_message_list_item_direction"
263
287
  require_relative "wavix/types/whats_app_message_list_item_status"
264
288
  require_relative "wavix/types/whats_app_message_list_item"
265
289
  require_relative "wavix/types/whats_app_message_list_response"
266
- require_relative "wavix/types/whats_app_message_send_request_template_header_type"
267
- require_relative "wavix/types/whats_app_message_send_request_template_header"
268
- require_relative "wavix/types/whats_app_message_send_request_template_buttons_item_type"
269
- require_relative "wavix/types/whats_app_message_send_request_template_buttons_item"
270
- require_relative "wavix/types/whats_app_message_send_request_template"
290
+ require_relative "wavix/types/whats_app_send_template_header_type"
291
+ require_relative "wavix/types/whats_app_send_template_header"
292
+ require_relative "wavix/types/whats_app_send_template_button_type"
293
+ require_relative "wavix/types/whats_app_send_template_button"
294
+ require_relative "wavix/types/whats_app_send_template"
271
295
  require_relative "wavix/types/whats_app_message_send_request"
272
- require_relative "wavix/types/whats_app_message_status"
273
296
  require_relative "wavix/types/whats_app_message_template"
297
+ require_relative "wavix/types/whats_app_message_status"
274
298
  require_relative "wavix/types/whats_app_message"
275
299
  require_relative "wavix/types/whats_app_message_send_response"
276
300
  require_relative "wavix/types/whats_app_message_get_response"
@@ -295,8 +319,9 @@ require_relative "wavix/api_keys/types/delete_api_keys_request"
295
319
  require_relative "wavix/api_keys/types/api_key_update_request"
296
320
  require_relative "wavix/sip_trunks/client"
297
321
  require_relative "wavix/sip_trunks/types/list_sip_trunks_request"
322
+ require_relative "wavix/sip_trunks/types/sip_trunk_create_request"
298
323
  require_relative "wavix/sip_trunks/types/get_sip_trunks_request"
299
- require_relative "wavix/sip_trunks/types/update_sip_trunks_request"
324
+ require_relative "wavix/sip_trunks/types/sip_trunk_update_request"
300
325
  require_relative "wavix/sip_trunks/types/delete_sip_trunks_request"
301
326
  require_relative "wavix/cart/client"
302
327
  require_relative "wavix/cart/types/add_cart_request"