zernio-sdk 0.0.744 → 0.0.745

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddb21a6e5fea75b66dbf1826e7827fc60615bed899cc9e969ad29e6cb1fff626
4
- data.tar.gz: f896eb87c19e97117f159f9337e5b2c4ee4ba79539fba2baf025f2c629354b2e
3
+ metadata.gz: dd68c8549097bba84c92f6ceef1f7d1dea438405e37c3066a17af32801b7a921
4
+ data.tar.gz: df1e42e9bfe9c3d61c7488535aca61ff6b24dac023d6576b6b8c92fcbb262074
5
5
  SHA512:
6
- metadata.gz: 9a71aa3e78d47b0051b5e86e9e7d411fd376093beb1aa937010d9f6e0a262e3ed48d501ce697bac4fae5197156a2a5a18d43e49dbb5f781a401c026435370c7b
7
- data.tar.gz: 90c8d2833dab6faf82a051d01547e2ed226b9095cab447334b809279024d51f6939b4eca27731d119cee47f1c7188d3bfbb17f8bd725b5187d1334bf8173544b
6
+ metadata.gz: 1bad4054151754872c89184126aadab7bdaa604c4f17b02243e5076aaeed4e0e518d2dc2ecf14b863eb8b2174d46256ffd01066fe831c3e43a25cf21b21c73fc
7
+ data.tar.gz: fc62e4957e41ed0649ab3a146aec7db89072a1b268495f322488c652a0c99c604cea7f77d8919ff61c5804e8c5e647f57852fe188388ef9da03deba9607729f1
data/README.md CHANGED
@@ -1913,6 +1913,8 @@ Class | Method | HTTP request | Description
1913
1913
  - [Zernio::SendInboxMessageRequestInteractiveAction](docs/SendInboxMessageRequestInteractiveAction.md)
1914
1914
  - [Zernio::SendInboxMessageRequestInteractiveActionOneOf](docs/SendInboxMessageRequestInteractiveActionOneOf.md)
1915
1915
  - [Zernio::SendInboxMessageRequestInteractiveActionOneOf1](docs/SendInboxMessageRequestInteractiveActionOneOf1.md)
1916
+ - [Zernio::SendInboxMessageRequestInteractiveActionOneOf10](docs/SendInboxMessageRequestInteractiveActionOneOf10.md)
1917
+ - [Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters](docs/SendInboxMessageRequestInteractiveActionOneOf10Parameters.md)
1916
1918
  - [Zernio::SendInboxMessageRequestInteractiveActionOneOf1Parameters](docs/SendInboxMessageRequestInteractiveActionOneOf1Parameters.md)
1917
1919
  - [Zernio::SendInboxMessageRequestInteractiveActionOneOf2](docs/SendInboxMessageRequestInteractiveActionOneOf2.md)
1918
1920
  - [Zernio::SendInboxMessageRequestInteractiveActionOneOf2Parameters](docs/SendInboxMessageRequestInteractiveActionOneOf2Parameters.md)
@@ -16,6 +16,7 @@ Zernio::SendInboxMessageRequestInteractiveAction.openapi_one_of
16
16
  # [
17
17
  # :'SendInboxMessageRequestInteractiveActionOneOf',
18
18
  # :'SendInboxMessageRequestInteractiveActionOneOf1',
19
+ # :'SendInboxMessageRequestInteractiveActionOneOf10',
19
20
  # :'SendInboxMessageRequestInteractiveActionOneOf2',
20
21
  # :'SendInboxMessageRequestInteractiveActionOneOf3',
21
22
  # :'SendInboxMessageRequestInteractiveActionOneOf4',
@@ -53,6 +54,7 @@ Zernio::SendInboxMessageRequestInteractiveAction.build(data_that_doesnt_match)
53
54
 
54
55
  - `SendInboxMessageRequestInteractiveActionOneOf`
55
56
  - `SendInboxMessageRequestInteractiveActionOneOf1`
57
+ - `SendInboxMessageRequestInteractiveActionOneOf10`
56
58
  - `SendInboxMessageRequestInteractiveActionOneOf2`
57
59
  - `SendInboxMessageRequestInteractiveActionOneOf3`
58
60
  - `SendInboxMessageRequestInteractiveActionOneOf4`
@@ -0,0 +1,20 @@
1
+ # Zernio::SendInboxMessageRequestInteractiveActionOneOf10
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | | |
8
+ | **parameters** | [**SendInboxMessageRequestInteractiveActionOneOf10Parameters**](SendInboxMessageRequestInteractiveActionOneOf10Parameters.md) | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::SendInboxMessageRequestInteractiveActionOneOf10.new(
16
+ name: null,
17
+ parameters: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,24 @@
1
+ # Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **country** | **String** | ISO 3166-1 alpha-2 country code Meta should localize the address form for (e.g. IN). Required: Meta rejects the send without it. | |
8
+ | **values** | **Hash<String, Object>** | Optional pre-filled address field values. | [optional] |
9
+ | **saved_addresses** | **Array<Hash<String, Object>>** | Optional list of the recipient's previously saved addresses to offer as quick picks. | [optional] |
10
+ | **validation_errors** | **Hash<String, String>** | Optional per-field error messages to show when re-prompting after a failed validation. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters.new(
18
+ country: null,
19
+ values: null,
20
+ saved_addresses: null,
21
+ validation_errors: null
22
+ )
23
+ ```
24
+
@@ -9,11 +9,12 @@
9
9
  | **postback_payload** | **String** | Payload from a postback button tap (Facebook/Instagram Messenger). | [optional] |
10
10
  | **postback_title** | **String** | Title of the tapped postback button (Facebook/Instagram Messenger). | [optional] |
11
11
  | **callback_data** | **String** | Callback data from an inline keyboard button tap (Telegram). | [optional] |
12
- | **interactive_type** | **String** | WhatsApp only. Which kind of interactive reply the user sent: `button_reply` (tap on an interactive button), `list_reply` (tap on a list row), or `nfm_reply` (a WhatsApp Flow submission). | [optional] |
12
+ | **interactive_type** | **String** | WhatsApp only. Which kind of interactive reply the user sent: `button_reply` (tap on an interactive button), `list_reply` (tap on a list row), or `nfm_reply` (a WhatsApp Flow submission or an `address_message` submission, see `nfmReplyName`). | [optional] |
13
13
  | **interactive_id** | **String** | WhatsApp only. The `id` of the tapped button or list row, matching the `id` you supplied when the message was sent. Not set for Flow responses. | [optional] |
14
14
  | **button_payload** | **String** | WhatsApp only. Payload attached to a tapped template button. Template buttons emit a plain `button` webhook (not an interactive reply), so `interactiveType` is empty while this field is populated. | [optional] |
15
15
  | **flow_response_json** | **String** | WhatsApp only. Raw `nfm_reply.response_json` string returned by a Flow submission. Useful if you need the exact wire payload; for typed access use `flowResponseData` instead. | [optional] |
16
- | **flow_response_data** | **Hash<String, Object>** | WhatsApp only. Parsed Flow response JSON. Populated when `flowResponseJson` is valid JSON; otherwise omitted. Keys and value types depend on the specific Flow that was submitted. | [optional] |
16
+ | **flow_response_data** | **Hash<String, Object>** | WhatsApp only. Parsed Flow response JSON. Populated when `flowResponseJson` is valid JSON; otherwise omitted. Keys and value types depend on the specific Flow that was submitted. An `address_message` submission (`nfmReplyName: address_message`) carries the address fields (`name`, `address`, `city`, `state`, `in_pin_code`, ...), either at the top level or nested under `values`; read both. | [optional] |
17
+ | **nfm_reply_name** | **String** | WhatsApp only. `nfm_reply.name` as Meta sent it, e.g. `flow` or `address_message`. Address submissions share the `nfm_reply` envelope with Flow submissions and are otherwise indistinguishable in `flowResponseData`; use this field to tell them apart. | [optional] |
17
18
  | **order** | [**WebhookPayloadMessageMetadataOrder**](WebhookPayloadMessageMetadataOrder.md) | | [optional] |
18
19
  | **referred_product** | [**WebhookPayloadMessageMetadataReferredProduct**](WebhookPayloadMessageMetadataReferredProduct.md) | | [optional] |
19
20
  | **contacts** | **Array<Hash<String, Object>>** | WhatsApp only. Contact cards the user shared, forwarded verbatim from Meta. Read `contactsOrigin` before treating any number here as the sender's own. | [optional] |
@@ -40,6 +41,7 @@ instance = Zernio::WebhookPayloadMessageMetadata.new(
40
41
  button_payload: null,
41
42
  flow_response_json: null,
42
43
  flow_response_data: null,
44
+ nfm_reply_name: null,
43
45
  order: null,
44
46
  referred_product: null,
45
47
  contacts: null,
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Zernio
17
- # WhatsApp-only. Rich interactive payload for list messages, CTA URL buttons, Flow prompts, location requests, voice-call buttons, and commerce messages (single product, product list, catalog, and carousel). When set, takes priority over `buttons` and `quickReplies`. The shape mirrors Meta's Cloud API `interactive` object verbatim, so any payload that works against Meta directly will also work here. Use `buttons` / `quickReplies` for simple button replies (WhatsApp's `interactive.type: \"button\"`): the abstraction caps at 3 buttons and handles the auto-conversion for you. Use this field only for the types listed in the enum below. All interactive messages are session messages: they can only be sent inside the 24-hour customer service window opened by the user's last inbound message. Commerce types (`product`, `product_list`, `catalog_message`, and product carousels) require a Meta catalog connected to the WhatsApp Business Account in Commerce Manager. Media carousels (image/video cards) do not need a catalog. For `product`, `body` is optional (WhatsApp renders the product card itself) and `header` is not allowed (the product image is the header). For `product_list`, a `header` with `type: \"text\"` is required. For `carousel`, top-level `header`/`footer` are not supported; media goes on each card instead. For `voice_call`, the message renders WhatsApp's native call button; tapping it starts a voice call to your business number. Requires WhatsApp Business Calling to be enabled on the sending number. The optional `parameters.payload` string is echoed back on the `calls` webhook (as `cta_payload`) for attribution. For `location_request_message`, `action` may be omitted (we default it to `{ \"name\": \"send_location\" }`). WhatsApp renders a localized \"Send location\" button; the user's reply arrives as a regular location message in the conversation. For `request_contact_info`, `action` may be omitted (we default it to `{ \"name\": \"request_contact_info\" }`). WhatsApp renders a localized share button that cannot be relabelled, so put the reason for asking in `body.text`: this is a consent prompt, and a bare request converts badly. The reply arrives as an inbound `contacts` message with `metadata.contactsOrigin` set to `contact_request`, and we fold the shared number back into the contact automatically. A `contacts` message with origin `other` is a card the user picked from their address book and is NOT proof of their own number. For `catalog_message`, `action` may also be omitted (we default it to `{ \"name\": \"catalog_message\" }`). Tap events come back via the `message.received` webhook with `metadata.interactiveType` set to `list_reply` or `nfm_reply`. Carts submitted from commerce messages arrive as `metadata.order`; product inquiries arrive as `metadata.referredProduct`.
17
+ # WhatsApp-only. Rich interactive payload for list messages, CTA URL buttons, Flow prompts, location requests, voice-call buttons, and commerce messages (single product, product list, catalog, and carousel). When set, takes priority over `buttons` and `quickReplies`. The shape mirrors Meta's Cloud API `interactive` object for the types in the enum below. Use `buttons` / `quickReplies` for simple button replies (WhatsApp's `interactive.type: \"button\"`): the abstraction caps at 3 buttons and handles the auto-conversion for you. Use this field only for the types listed in the enum below. All interactive messages are session messages: they can only be sent inside the 24-hour customer service window opened by the user's last inbound message. Commerce types (`product`, `product_list`, `catalog_message`, and product carousels) require a Meta catalog connected to the WhatsApp Business Account in Commerce Manager. Media carousels (image/video cards) do not need a catalog. For `product`, `body` is optional (WhatsApp renders the product card itself) and `header` is not allowed (the product image is the header). For `product_list`, a `header` with `type: \"text\"` is required. For `carousel`, top-level `header`/`footer` are not supported; media goes on each card instead. For `voice_call`, the message renders WhatsApp's native call button; tapping it starts a voice call to your business number. Requires WhatsApp Business Calling to be enabled on the sending number. The optional `parameters.payload` string is echoed back on the `calls` webhook (as `cta_payload`) for attribution. For `location_request_message`, `action` may be omitted (we default it to `{ \"name\": \"send_location\" }`). WhatsApp renders a localized \"Send location\" button; the user's reply arrives as a regular location message in the conversation. For `request_contact_info`, `action` may be omitted (we default it to `{ \"name\": \"request_contact_info\" }`). WhatsApp renders a localized share button that cannot be relabelled, so put the reason for asking in `body.text`: this is a consent prompt, and a bare request converts badly. The reply arrives as an inbound `contacts` message with `metadata.contactsOrigin` set to `contact_request`, and we fold the shared number back into the contact automatically. A `contacts` message with origin `other` is a card the user picked from their address book and is NOT proof of their own number. For `catalog_message`, `action` may also be omitted (we default it to `{ \"name\": \"catalog_message\" }`). For `address_message`, `parameters.country` is required (Meta rejects the whole send without it); everything else in `parameters` (`values`, `saved_addresses`, `validation_errors`) is forwarded to Meta as-is. This is Meta's native structured shipping-address capture, generally available in India as of 2026-08; check Meta's documentation for current country availability before relying on it elsewhere. The submitted address arrives as an `nfm_reply` on the `message.received` webhook, same as a Flow submission, but with `metadata.nfmReplyName` set to `address_message` so you can tell the two apart. Tap events come back via the `message.received` webhook with `metadata.interactiveType` set to `list_reply` or `nfm_reply`. Carts submitted from commerce messages arrive as `metadata.order`; product inquiries arrive as `metadata.referredProduct`.
18
18
  class SendInboxMessageRequestInteractive < ApiModelBase
19
19
  # Which interactive layout to render.
20
20
  attr_accessor :type
@@ -143,7 +143,7 @@ module Zernio
143
143
  def valid?
144
144
  warn '[DEPRECATED] the `valid?` method is obsolete'
145
145
  return false if @type.nil?
146
- type_validator = EnumAttributeValidator.new('String', ["list", "cta_url", "flow", "location_request_message", "request_contact_info", "voice_call", "product", "product_list", "catalog_message", "carousel"])
146
+ type_validator = EnumAttributeValidator.new('String', ["list", "cta_url", "flow", "location_request_message", "request_contact_info", "voice_call", "product", "product_list", "catalog_message", "carousel", "address_message"])
147
147
  return false unless type_validator.valid?(@type)
148
148
  true
149
149
  end
@@ -151,7 +151,7 @@ module Zernio
151
151
  # Custom attribute writer method checking allowed values (enum).
152
152
  # @param [Object] type Object to be assigned
153
153
  def type=(type)
154
- validator = EnumAttributeValidator.new('String', ["list", "cta_url", "flow", "location_request_message", "request_contact_info", "voice_call", "product", "product_list", "catalog_message", "carousel"])
154
+ validator = EnumAttributeValidator.new('String', ["list", "cta_url", "flow", "location_request_message", "request_contact_info", "voice_call", "product", "product_list", "catalog_message", "carousel", "address_message"])
155
155
  unless validator.valid?(type)
156
156
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
157
157
  end
@@ -21,6 +21,7 @@ module Zernio
21
21
  [
22
22
  :'SendInboxMessageRequestInteractiveActionOneOf',
23
23
  :'SendInboxMessageRequestInteractiveActionOneOf1',
24
+ :'SendInboxMessageRequestInteractiveActionOneOf10',
24
25
  :'SendInboxMessageRequestInteractiveActionOneOf2',
25
26
  :'SendInboxMessageRequestInteractiveActionOneOf3',
26
27
  :'SendInboxMessageRequestInteractiveActionOneOf4',
@@ -0,0 +1,215 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
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 Zernio
17
+ # Address-request action. `type` on the parent must be `address_message`. Renders Meta's native structured address form in-chat (generally available in India as of 2026-08; check Meta's documentation for current country availability).
18
+ class SendInboxMessageRequestInteractiveActionOneOf10 < ApiModelBase
19
+ attr_accessor :name
20
+
21
+ attr_accessor :parameters
22
+
23
+ class EnumAttributeValidator
24
+ attr_reader :datatype
25
+ attr_reader :allowable_values
26
+
27
+ def initialize(datatype, allowable_values)
28
+ @allowable_values = allowable_values.map do |value|
29
+ case datatype.to_s
30
+ when /Integer/i
31
+ value.to_i
32
+ when /Float/i
33
+ value.to_f
34
+ else
35
+ value
36
+ end
37
+ end
38
+ end
39
+
40
+ def valid?(value)
41
+ !value || allowable_values.include?(value)
42
+ end
43
+ end
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'name' => :'name',
49
+ :'parameters' => :'parameters'
50
+ }
51
+ end
52
+
53
+ # Returns attribute mapping this model knows about
54
+ def self.acceptable_attribute_map
55
+ attribute_map
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ acceptable_attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'name' => :'String',
67
+ :'parameters' => :'SendInboxMessageRequestInteractiveActionOneOf10Parameters'
68
+ }
69
+ end
70
+
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([
74
+ ])
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::SendInboxMessageRequestInteractiveActionOneOf10` initialize method"
82
+ end
83
+
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ acceptable_attribute_map = self.class.acceptable_attribute_map
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!acceptable_attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::SendInboxMessageRequestInteractiveActionOneOf10`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'name')
94
+ self.name = attributes[:'name']
95
+ else
96
+ self.name = nil
97
+ end
98
+
99
+ if attributes.key?(:'parameters')
100
+ self.parameters = attributes[:'parameters']
101
+ else
102
+ self.parameters = nil
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
110
+ invalid_properties = Array.new
111
+ if @name.nil?
112
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
113
+ end
114
+
115
+ if @parameters.nil?
116
+ invalid_properties.push('invalid value for "parameters", parameters cannot be nil.')
117
+ end
118
+
119
+ invalid_properties
120
+ end
121
+
122
+ # Check to see if the all the properties in the model are valid
123
+ # @return true if the model is valid
124
+ def valid?
125
+ warn '[DEPRECATED] the `valid?` method is obsolete'
126
+ return false if @name.nil?
127
+ name_validator = EnumAttributeValidator.new('String', ["address_message"])
128
+ return false unless name_validator.valid?(@name)
129
+ return false if @parameters.nil?
130
+ true
131
+ end
132
+
133
+ # Custom attribute writer method checking allowed values (enum).
134
+ # @param [Object] name Object to be assigned
135
+ def name=(name)
136
+ validator = EnumAttributeValidator.new('String', ["address_message"])
137
+ unless validator.valid?(name)
138
+ fail ArgumentError, "invalid value for \"name\", must be one of #{validator.allowable_values}."
139
+ end
140
+ @name = name
141
+ end
142
+
143
+ # Custom attribute writer method with validation
144
+ # @param [Object] parameters Value to be assigned
145
+ def parameters=(parameters)
146
+ if parameters.nil?
147
+ fail ArgumentError, 'parameters cannot be nil'
148
+ end
149
+
150
+ @parameters = parameters
151
+ end
152
+
153
+ # Checks equality by comparing each attribute.
154
+ # @param [Object] Object to be compared
155
+ def ==(o)
156
+ return true if self.equal?(o)
157
+ self.class == o.class &&
158
+ name == o.name &&
159
+ parameters == o.parameters
160
+ end
161
+
162
+ # @see the `==` method
163
+ # @param [Object] Object to be compared
164
+ def eql?(o)
165
+ self == o
166
+ end
167
+
168
+ # Calculates hash code according to all attributes.
169
+ # @return [Integer] Hash code
170
+ def hash
171
+ [name, parameters].hash
172
+ end
173
+
174
+ # Builds the object from hash
175
+ # @param [Hash] attributes Model attributes in the form of hash
176
+ # @return [Object] Returns the model itself
177
+ def self.build_from_hash(attributes)
178
+ return nil unless attributes.is_a?(Hash)
179
+ attributes = attributes.transform_keys(&:to_sym)
180
+ transformed_hash = {}
181
+ openapi_types.each_pair do |key, type|
182
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
183
+ transformed_hash["#{key}"] = nil
184
+ elsif type =~ /\AArray<(.*)>/i
185
+ # check to ensure the input is an array given that the attribute
186
+ # is documented as an array but the input is not
187
+ if attributes[attribute_map[key]].is_a?(Array)
188
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
189
+ end
190
+ elsif !attributes[attribute_map[key]].nil?
191
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
192
+ end
193
+ end
194
+ new(transformed_hash)
195
+ end
196
+
197
+ # Returns the object in the form of hash
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ self.class.attribute_map.each_pair do |attr, param|
202
+ value = self.send(attr)
203
+ if value.nil?
204
+ is_nullable = self.class.openapi_nullable.include?(attr)
205
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
206
+ end
207
+
208
+ hash[param] = _to_hash(value)
209
+ end
210
+ hash
211
+ end
212
+
213
+ end
214
+
215
+ end
@@ -0,0 +1,201 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
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 Zernio
17
+ class SendInboxMessageRequestInteractiveActionOneOf10Parameters < ApiModelBase
18
+ # ISO 3166-1 alpha-2 country code Meta should localize the address form for (e.g. IN). Required: Meta rejects the send without it.
19
+ attr_accessor :country
20
+
21
+ # Optional pre-filled address field values.
22
+ attr_accessor :values
23
+
24
+ # Optional list of the recipient's previously saved addresses to offer as quick picks.
25
+ attr_accessor :saved_addresses
26
+
27
+ # Optional per-field error messages to show when re-prompting after a failed validation.
28
+ attr_accessor :validation_errors
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'country' => :'country',
34
+ :'values' => :'values',
35
+ :'saved_addresses' => :'saved_addresses',
36
+ :'validation_errors' => :'validation_errors'
37
+ }
38
+ end
39
+
40
+ # Returns attribute mapping this model knows about
41
+ def self.acceptable_attribute_map
42
+ attribute_map
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ acceptable_attribute_map.values
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ def self.openapi_types
52
+ {
53
+ :'country' => :'String',
54
+ :'values' => :'Hash<String, Object>',
55
+ :'saved_addresses' => :'Array<Hash<String, Object>>',
56
+ :'validation_errors' => :'Hash<String, String>'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ acceptable_attribute_map = self.class.acceptable_attribute_map
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!acceptable_attribute_map.key?(k.to_sym))
77
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
78
+ end
79
+ h[k.to_sym] = v
80
+ }
81
+
82
+ if attributes.key?(:'country')
83
+ self.country = attributes[:'country']
84
+ else
85
+ self.country = nil
86
+ end
87
+
88
+ if attributes.key?(:'values')
89
+ if (value = attributes[:'values']).is_a?(Hash)
90
+ self.values = value
91
+ end
92
+ end
93
+
94
+ if attributes.key?(:'saved_addresses')
95
+ if (value = attributes[:'saved_addresses']).is_a?(Array)
96
+ self.saved_addresses = value
97
+ end
98
+ end
99
+
100
+ if attributes.key?(:'validation_errors')
101
+ if (value = attributes[:'validation_errors']).is_a?(Hash)
102
+ self.validation_errors = value
103
+ end
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 @country.nil?
113
+ invalid_properties.push('invalid value for "country", country cannot be nil.')
114
+ end
115
+
116
+ invalid_properties
117
+ end
118
+
119
+ # Check to see if the all the properties in the model are valid
120
+ # @return true if the model is valid
121
+ def valid?
122
+ warn '[DEPRECATED] the `valid?` method is obsolete'
123
+ return false if @country.nil?
124
+ true
125
+ end
126
+
127
+ # Custom attribute writer method with validation
128
+ # @param [Object] country Value to be assigned
129
+ def country=(country)
130
+ if country.nil?
131
+ fail ArgumentError, 'country cannot be nil'
132
+ end
133
+
134
+ @country = country
135
+ end
136
+
137
+ # Checks equality by comparing each attribute.
138
+ # @param [Object] Object to be compared
139
+ def ==(o)
140
+ return true if self.equal?(o)
141
+ self.class == o.class &&
142
+ country == o.country &&
143
+ values == o.values &&
144
+ saved_addresses == o.saved_addresses &&
145
+ validation_errors == o.validation_errors
146
+ end
147
+
148
+ # @see the `==` method
149
+ # @param [Object] Object to be compared
150
+ def eql?(o)
151
+ self == o
152
+ end
153
+
154
+ # Calculates hash code according to all attributes.
155
+ # @return [Integer] Hash code
156
+ def hash
157
+ [country, values, saved_addresses, validation_errors].hash
158
+ end
159
+
160
+ # Builds the object from hash
161
+ # @param [Hash] attributes Model attributes in the form of hash
162
+ # @return [Object] Returns the model itself
163
+ def self.build_from_hash(attributes)
164
+ return nil unless attributes.is_a?(Hash)
165
+ attributes = attributes.transform_keys(&:to_sym)
166
+ transformed_hash = {}
167
+ openapi_types.each_pair do |key, type|
168
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
169
+ transformed_hash["#{key}"] = nil
170
+ elsif type =~ /\AArray<(.*)>/i
171
+ # check to ensure the input is an array given that the attribute
172
+ # is documented as an array but the input is not
173
+ if attributes[attribute_map[key]].is_a?(Array)
174
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
175
+ end
176
+ elsif !attributes[attribute_map[key]].nil?
177
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
178
+ end
179
+ end
180
+ new(transformed_hash)
181
+ end
182
+
183
+ # Returns the object in the form of hash
184
+ # @return [Hash] Returns the object in the form of hash
185
+ def to_hash
186
+ hash = {}
187
+ self.class.attribute_map.each_pair do |attr, param|
188
+ value = self.send(attr)
189
+ if value.nil?
190
+ is_nullable = self.class.openapi_nullable.include?(attr)
191
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
192
+ end
193
+
194
+ hash[param] = _to_hash(value)
195
+ end
196
+ hash
197
+ end
198
+
199
+ end
200
+
201
+ end
@@ -31,7 +31,7 @@ module Zernio
31
31
  # Callback data from an inline keyboard button tap (Telegram).
32
32
  attr_accessor :callback_data
33
33
 
34
- # WhatsApp only. Which kind of interactive reply the user sent: `button_reply` (tap on an interactive button), `list_reply` (tap on a list row), or `nfm_reply` (a WhatsApp Flow submission).
34
+ # WhatsApp only. Which kind of interactive reply the user sent: `button_reply` (tap on an interactive button), `list_reply` (tap on a list row), or `nfm_reply` (a WhatsApp Flow submission or an `address_message` submission, see `nfmReplyName`).
35
35
  attr_accessor :interactive_type
36
36
 
37
37
  # WhatsApp only. The `id` of the tapped button or list row, matching the `id` you supplied when the message was sent. Not set for Flow responses.
@@ -43,9 +43,12 @@ module Zernio
43
43
  # WhatsApp only. Raw `nfm_reply.response_json` string returned by a Flow submission. Useful if you need the exact wire payload; for typed access use `flowResponseData` instead.
44
44
  attr_accessor :flow_response_json
45
45
 
46
- # WhatsApp only. Parsed Flow response JSON. Populated when `flowResponseJson` is valid JSON; otherwise omitted. Keys and value types depend on the specific Flow that was submitted.
46
+ # WhatsApp only. Parsed Flow response JSON. Populated when `flowResponseJson` is valid JSON; otherwise omitted. Keys and value types depend on the specific Flow that was submitted. An `address_message` submission (`nfmReplyName: address_message`) carries the address fields (`name`, `address`, `city`, `state`, `in_pin_code`, ...), either at the top level or nested under `values`; read both.
47
47
  attr_accessor :flow_response_data
48
48
 
49
+ # WhatsApp only. `nfm_reply.name` as Meta sent it, e.g. `flow` or `address_message`. Address submissions share the `nfm_reply` envelope with Flow submissions and are otherwise indistinguishable in `flowResponseData`; use this field to tell them apart.
50
+ attr_accessor :nfm_reply_name
51
+
49
52
  attr_accessor :order
50
53
 
51
54
  attr_accessor :referred_product
@@ -103,6 +106,7 @@ module Zernio
103
106
  :'button_payload' => :'buttonPayload',
104
107
  :'flow_response_json' => :'flowResponseJson',
105
108
  :'flow_response_data' => :'flowResponseData',
109
+ :'nfm_reply_name' => :'nfmReplyName',
106
110
  :'order' => :'order',
107
111
  :'referred_product' => :'referredProduct',
108
112
  :'contacts' => :'contacts',
@@ -138,6 +142,7 @@ module Zernio
138
142
  :'button_payload' => :'String',
139
143
  :'flow_response_json' => :'String',
140
144
  :'flow_response_data' => :'Hash<String, Object>',
145
+ :'nfm_reply_name' => :'String',
141
146
  :'order' => :'WebhookPayloadMessageMetadataOrder',
142
147
  :'referred_product' => :'WebhookPayloadMessageMetadataReferredProduct',
143
148
  :'contacts' => :'Array<Hash<String, Object>>',
@@ -214,6 +219,10 @@ module Zernio
214
219
  end
215
220
  end
216
221
 
222
+ if attributes.key?(:'nfm_reply_name')
223
+ self.nfm_reply_name = attributes[:'nfm_reply_name']
224
+ end
225
+
217
226
  if attributes.key?(:'order')
218
227
  self.order = attributes[:'order']
219
228
  end
@@ -307,6 +316,7 @@ module Zernio
307
316
  button_payload == o.button_payload &&
308
317
  flow_response_json == o.flow_response_json &&
309
318
  flow_response_data == o.flow_response_data &&
319
+ nfm_reply_name == o.nfm_reply_name &&
310
320
  order == o.order &&
311
321
  referred_product == o.referred_product &&
312
322
  contacts == o.contacts &&
@@ -327,7 +337,7 @@ module Zernio
327
337
  # Calculates hash code according to all attributes.
328
338
  # @return [Integer] Hash code
329
339
  def hash
330
- [quoted_message_id, quick_reply_payload, postback_payload, postback_title, callback_data, interactive_type, interactive_id, button_payload, flow_response_json, flow_response_data, order, referred_product, contacts, contacts_origin, story_reply, is_story_mention, referral, unsupported, no_renderable_content].hash
340
+ [quoted_message_id, quick_reply_payload, postback_payload, postback_title, callback_data, interactive_type, interactive_id, button_payload, flow_response_json, flow_response_data, nfm_reply_name, order, referred_product, contacts, contacts_origin, story_reply, is_story_mention, referral, unsupported, no_renderable_content].hash
331
341
  end
332
342
 
333
343
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.744'
14
+ VERSION = '0.0.745'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -1269,6 +1269,8 @@ require 'zernio-sdk/models/send_inbox_message_request_interactive'
1269
1269
  require 'zernio-sdk/models/send_inbox_message_request_interactive_action'
1270
1270
  require 'zernio-sdk/models/send_inbox_message_request_interactive_action_one_of'
1271
1271
  require 'zernio-sdk/models/send_inbox_message_request_interactive_action_one_of1'
1272
+ require 'zernio-sdk/models/send_inbox_message_request_interactive_action_one_of10'
1273
+ require 'zernio-sdk/models/send_inbox_message_request_interactive_action_one_of10_parameters'
1272
1274
  require 'zernio-sdk/models/send_inbox_message_request_interactive_action_one_of1_parameters'
1273
1275
  require 'zernio-sdk/models/send_inbox_message_request_interactive_action_one_of2'
1274
1276
  require 'zernio-sdk/models/send_inbox_message_request_interactive_action_one_of2_parameters'
data/openapi.yaml CHANGED
@@ -3665,7 +3665,8 @@ components:
3665
3665
  description: |
3666
3666
  WhatsApp only. Which kind of interactive reply the user sent:
3667
3667
  `button_reply` (tap on an interactive button), `list_reply` (tap on a
3668
- list row), or `nfm_reply` (a WhatsApp Flow submission).
3668
+ list row), or `nfm_reply` (a WhatsApp Flow submission or an
3669
+ `address_message` submission, see `nfmReplyName`).
3669
3670
  interactiveId:
3670
3671
  type: string
3671
3672
  description: |
@@ -3689,7 +3690,17 @@ components:
3689
3690
  description: |
3690
3691
  WhatsApp only. Parsed Flow response JSON. Populated when
3691
3692
  `flowResponseJson` is valid JSON; otherwise omitted. Keys and
3692
- value types depend on the specific Flow that was submitted.
3693
+ value types depend on the specific Flow that was submitted. An
3694
+ `address_message` submission (`nfmReplyName: address_message`) carries
3695
+ the address fields (`name`, `address`, `city`, `state`, `in_pin_code`,
3696
+ ...), either at the top level or nested under `values`; read both.
3697
+ nfmReplyName:
3698
+ type: string
3699
+ description: |
3700
+ WhatsApp only. `nfm_reply.name` as Meta sent it, e.g. `flow` or
3701
+ `address_message`. Address submissions share the `nfm_reply`
3702
+ envelope with Flow submissions and are otherwise indistinguishable
3703
+ in `flowResponseData`; use this field to tell them apart.
3693
3704
  order:
3694
3705
  type: object
3695
3706
  description: |
@@ -26148,8 +26159,7 @@ paths:
26148
26159
  commerce messages (single product, product list, catalog, and
26149
26160
  carousel). When set, takes priority over `buttons` and
26150
26161
  `quickReplies`. The shape mirrors Meta's Cloud API `interactive`
26151
- object verbatim, so any payload that works against Meta directly
26152
- will also work here.
26162
+ object for the types in the enum below.
26153
26163
 
26154
26164
  Use `buttons` / `quickReplies` for simple button replies
26155
26165
  (WhatsApp's `interactive.type: "button"`): the abstraction caps at
@@ -26195,6 +26205,18 @@ paths:
26195
26205
  For `catalog_message`, `action` may also be omitted (we default it
26196
26206
  to `{ "name": "catalog_message" }`).
26197
26207
 
26208
+ For `address_message`, `parameters.country` is required (Meta
26209
+ rejects the whole send without it); everything else in
26210
+ `parameters` (`values`, `saved_addresses`, `validation_errors`)
26211
+ is forwarded to Meta as-is. This is Meta's native structured
26212
+ shipping-address capture, generally available in India as of
26213
+ 2026-08; check Meta's documentation for current country
26214
+ availability before relying on it elsewhere. The submitted
26215
+ address arrives as an `nfm_reply` on the `message.received`
26216
+ webhook, same as a Flow submission, but with
26217
+ `metadata.nfmReplyName` set to `address_message` so you can
26218
+ tell the two apart.
26219
+
26198
26220
  Tap events come back via the `message.received` webhook with
26199
26221
  `metadata.interactiveType` set to `list_reply` or `nfm_reply`.
26200
26222
  Carts submitted from commerce messages arrive as `metadata.order`;
@@ -26203,7 +26225,7 @@ paths:
26203
26225
  properties:
26204
26226
  type:
26205
26227
  type: string
26206
- enum: [list, cta_url, flow, location_request_message, request_contact_info, voice_call, product, product_list, catalog_message, carousel]
26228
+ enum: [list, cta_url, flow, location_request_message, request_contact_info, voice_call, product, product_list, catalog_message, carousel, address_message]
26207
26229
  description: Which interactive layout to render.
26208
26230
  header:
26209
26231
  type: object
@@ -26387,6 +26409,24 @@ paths:
26387
26409
  header: { type: object, description: "Media cards only, required. Carries the card's image or video." }
26388
26410
  body: { type: object, description: Optional card body text. }
26389
26411
  action: { type: object, description: "Product cards: `{ catalog_id, product_retailer_id }` (required). Media cards: the card's button action (e.g. `cta_url` with `parameters.display_text` and `parameters.url`)." }
26412
+ - type: object
26413
+ description: |
26414
+ Address-request action. `type` on the parent must be
26415
+ `address_message`. Renders Meta's native structured
26416
+ address form in-chat (generally available in India as
26417
+ of 2026-08; check Meta's documentation for current
26418
+ country availability).
26419
+ required: [name, parameters]
26420
+ properties:
26421
+ name: { type: string, enum: [address_message] }
26422
+ parameters:
26423
+ type: object
26424
+ required: [country]
26425
+ properties:
26426
+ country: { type: string, description: 'ISO 3166-1 alpha-2 country code Meta should localize the address form for (e.g. IN). Required: Meta rejects the send without it.' }
26427
+ values: { type: object, additionalProperties: true, description: Optional pre-filled address field values. }
26428
+ saved_addresses: { type: array, items: { type: object, additionalProperties: true }, description: Optional list of the recipient's previously saved addresses to offer as quick picks. }
26429
+ validation_errors: { type: object, additionalProperties: { type: string }, description: Optional per-field error messages to show when re-prompting after a failed validation. }
26390
26430
  replyMarkup:
26391
26431
  type: object
26392
26432
  description: Telegram-native keyboard markup. Ignored on other platforms.
@@ -0,0 +1,54 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters do
21
+ #let(:instance) { Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters.new }
22
+
23
+ describe 'test an instance of SendInboxMessageRequestInteractiveActionOneOf10Parameters' do
24
+ it 'should create an instance of SendInboxMessageRequestInteractiveActionOneOf10Parameters' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::SendInboxMessageRequestInteractiveActionOneOf10Parameters)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "country"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "values"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ describe 'test attribute "saved_addresses"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ describe 'test attribute "validation_errors"' do
49
+ it 'should work' do
50
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
51
+ end
52
+ end
53
+
54
+ end
@@ -0,0 +1,46 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::SendInboxMessageRequestInteractiveActionOneOf10
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::SendInboxMessageRequestInteractiveActionOneOf10 do
21
+ #let(:instance) { Zernio::SendInboxMessageRequestInteractiveActionOneOf10.new }
22
+
23
+ describe 'test an instance of SendInboxMessageRequestInteractiveActionOneOf10' do
24
+ it 'should create an instance of SendInboxMessageRequestInteractiveActionOneOf10' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::SendInboxMessageRequestInteractiveActionOneOf10)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "name"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["address_message"])
34
+ # validator.allowable_values.each do |value|
35
+ # expect { instance.name = value }.not_to raise_error
36
+ # end
37
+ end
38
+ end
39
+
40
+ describe 'test attribute "parameters"' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
43
+ end
44
+ end
45
+
46
+ end
@@ -30,7 +30,7 @@ describe Zernio::SendInboxMessageRequestInteractive do
30
30
  describe 'test attribute "type"' do
31
31
  it 'should work' do
32
32
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["list", "cta_url", "flow", "location_request_message", "request_contact_info", "voice_call", "product", "product_list", "catalog_message", "carousel"])
33
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["list", "cta_url", "flow", "location_request_message", "request_contact_info", "voice_call", "product", "product_list", "catalog_message", "carousel", "address_message"])
34
34
  # validator.allowable_values.each do |value|
35
35
  # expect { instance.type = value }.not_to raise_error
36
36
  # end
@@ -91,6 +91,12 @@ describe Zernio::WebhookPayloadMessageMetadata do
91
91
  end
92
92
  end
93
93
 
94
+ describe 'test attribute "nfm_reply_name"' do
95
+ it 'should work' do
96
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
97
+ end
98
+ end
99
+
94
100
  describe 'test attribute "order"' do
95
101
  it 'should work' do
96
102
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zernio-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.744
4
+ version: 0.0.745
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -1367,6 +1367,8 @@ files:
1367
1367
  - docs/SendInboxMessageRequestInteractiveAction.md
1368
1368
  - docs/SendInboxMessageRequestInteractiveActionOneOf.md
1369
1369
  - docs/SendInboxMessageRequestInteractiveActionOneOf1.md
1370
+ - docs/SendInboxMessageRequestInteractiveActionOneOf10.md
1371
+ - docs/SendInboxMessageRequestInteractiveActionOneOf10Parameters.md
1370
1372
  - docs/SendInboxMessageRequestInteractiveActionOneOf1Parameters.md
1371
1373
  - docs/SendInboxMessageRequestInteractiveActionOneOf2.md
1372
1374
  - docs/SendInboxMessageRequestInteractiveActionOneOf2Parameters.md
@@ -3169,6 +3171,8 @@ files:
3169
3171
  - lib/zernio-sdk/models/send_inbox_message_request_interactive_action.rb
3170
3172
  - lib/zernio-sdk/models/send_inbox_message_request_interactive_action_one_of.rb
3171
3173
  - lib/zernio-sdk/models/send_inbox_message_request_interactive_action_one_of1.rb
3174
+ - lib/zernio-sdk/models/send_inbox_message_request_interactive_action_one_of10.rb
3175
+ - lib/zernio-sdk/models/send_inbox_message_request_interactive_action_one_of10_parameters.rb
3172
3176
  - lib/zernio-sdk/models/send_inbox_message_request_interactive_action_one_of1_parameters.rb
3173
3177
  - lib/zernio-sdk/models/send_inbox_message_request_interactive_action_one_of2.rb
3174
3178
  - lib/zernio-sdk/models/send_inbox_message_request_interactive_action_one_of2_parameters.rb
@@ -4943,6 +4947,8 @@ files:
4943
4947
  - spec/models/send_inbox_message_request_contacts_inner_name_spec.rb
4944
4948
  - spec/models/send_inbox_message_request_contacts_inner_phones_inner_spec.rb
4945
4949
  - spec/models/send_inbox_message_request_contacts_inner_spec.rb
4950
+ - spec/models/send_inbox_message_request_interactive_action_one_of10_parameters_spec.rb
4951
+ - spec/models/send_inbox_message_request_interactive_action_one_of10_spec.rb
4946
4952
  - spec/models/send_inbox_message_request_interactive_action_one_of1_parameters_spec.rb
4947
4953
  - spec/models/send_inbox_message_request_interactive_action_one_of1_spec.rb
4948
4954
  - spec/models/send_inbox_message_request_interactive_action_one_of2_parameters_spec.rb
@@ -6530,6 +6536,7 @@ test_files:
6530
6536
  - spec/models/list_comment_automation_logs200_response_misses_samples_inner_spec.rb
6531
6537
  - spec/models/get_ad_insights_report200_response_paging_spec.rb
6532
6538
  - spec/models/list_broadcast_recipients200_response_summary_spec.rb
6539
+ - spec/models/send_inbox_message_request_interactive_action_one_of10_parameters_spec.rb
6533
6540
  - spec/models/create_voice_web_session200_response_spec.rb
6534
6541
  - spec/models/update_linked_in_organization_request_spec.rb
6535
6542
  - spec/models/create_blog_article201_response_spec.rb
@@ -6744,6 +6751,7 @@ test_files:
6744
6751
  - spec/models/get_linked_in_bid_pricing200_response_pricing_suggested_bid_spec.rb
6745
6752
  - spec/models/get_sequence200_response_spec.rb
6746
6753
  - spec/models/get_inbox_conversation_messages200_response_pagination_spec.rb
6754
+ - spec/models/send_inbox_message_request_interactive_action_one_of10_spec.rb
6747
6755
  - spec/models/validate_post_request_spec.rb
6748
6756
  - spec/models/create_discord_scheduled_event_request_entity_one_of1_spec.rb
6749
6757
  - spec/models/get_google_business_location_details200_response_service_items_inner_structured_service_item_spec.rb