late-sdk 0.0.902 → 0.0.903

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: c5d379a91345746ce9ab4bc3c22ecbbc977cc6e833cd8b9b7932c74e21f54fef
4
- data.tar.gz: 0e55c12372464eb96a56137b75275a5220f33b844ec9669db8069288d8d97b22
3
+ metadata.gz: 6a44c184ab32f70baa94e8c71c5c0624a8c85f15950070dcaf774d6405f2221f
4
+ data.tar.gz: becc8336d74f782fcaa2c255d7b2c8ee9c7cc1089289eeed7a2582afe10cf69f
5
5
  SHA512:
6
- metadata.gz: ca4314c5de5fc549276e59842073bf1ee88b8a2ba1c18131af016e2592476b52550ac95e6586bbc65e2ba9c6a339fbd82edd748185c60cf54d04f26fb5e99550
7
- data.tar.gz: 3a5974028c63cb8ec3a1653c053bdbcfd843e2a9cee39601a807cb03150ebb3330ff7a19c03d7ee4c7b523f96814db91e11864a6e33a25a0a278008c73570c76
6
+ metadata.gz: 658132e4ecf5f3fb0b3030be63856e6f203fd1b2fab6f520600a8a8e19b1e16f6d08466cc94bbde9d184a8a4f973904f9ca41453e873efd47faeac0983bdb9e4
7
+ data.tar.gz: 52a072a538b01ac58a4cc0aba3d5be383be2ebe3c99e9cb7f216c68ee4772ddadc81c2bb567be596772fc817ad7f8323739d3e48a7506cdb20854980236b5018
data/README.md CHANGED
@@ -2681,6 +2681,7 @@ Class | Method | HTTP request | Description
2681
2681
  - [Zernio::WebhookPayloadMessageMessageSender](docs/WebhookPayloadMessageMessageSender.md)
2682
2682
  - [Zernio::WebhookPayloadMessageMessageSenderInstagramProfile](docs/WebhookPayloadMessageMessageSenderInstagramProfile.md)
2683
2683
  - [Zernio::WebhookPayloadMessageMetadata](docs/WebhookPayloadMessageMetadata.md)
2684
+ - [Zernio::WebhookPayloadMessageMetadataLocation](docs/WebhookPayloadMessageMetadataLocation.md)
2684
2685
  - [Zernio::WebhookPayloadMessageMetadataOrder](docs/WebhookPayloadMessageMetadataOrder.md)
2685
2686
  - [Zernio::WebhookPayloadMessageMetadataOrderProductItemsInner](docs/WebhookPayloadMessageMetadataOrderProductItemsInner.md)
2686
2687
  - [Zernio::WebhookPayloadMessageMetadataQuotedMessage](docs/WebhookPayloadMessageMetadataQuotedMessage.md)
@@ -2694,6 +2695,7 @@ Class | Method | HTTP request | Description
2694
2695
  - [Zernio::WebhookPayloadMessageSentMessageAttachmentsInner](docs/WebhookPayloadMessageSentMessageAttachmentsInner.md)
2695
2696
  - [Zernio::WebhookPayloadMessageSentMessageSender](docs/WebhookPayloadMessageSentMessageSender.md)
2696
2697
  - [Zernio::WebhookPayloadMessageSentMetadata](docs/WebhookPayloadMessageSentMetadata.md)
2698
+ - [Zernio::WebhookPayloadMessageSentMetadataLocation](docs/WebhookPayloadMessageSentMetadataLocation.md)
2697
2699
  - [Zernio::WebhookPayloadPhoneNumberStockAvailable](docs/WebhookPayloadPhoneNumberStockAvailable.md)
2698
2700
  - [Zernio::WebhookPayloadPhoneNumberStockAvailableStock](docs/WebhookPayloadPhoneNumberStockAvailableStock.md)
2699
2701
  - [Zernio::WebhookPayloadPhoneNumberStockAvailableStockTypesInner](docs/WebhookPayloadPhoneNumberStockAvailableStockTypesInner.md)
@@ -19,6 +19,7 @@
19
19
  | **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] |
20
20
  | **order** | [**WebhookPayloadMessageMetadataOrder**](WebhookPayloadMessageMetadataOrder.md) | | [optional] |
21
21
  | **referred_product** | [**WebhookPayloadMessageMetadataReferredProduct**](WebhookPayloadMessageMetadataReferredProduct.md) | | [optional] |
22
+ | **location** | [**WebhookPayloadMessageMetadataLocation**](WebhookPayloadMessageMetadataLocation.md) | | [optional] |
22
23
  | **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] |
23
24
  | **contacts_origin** | **String** | WhatsApp only. How the contact card was shared. `contact_request` means the user tapped a `request_contact_info` button, so the number is their own and consented. `other` means they picked a card from their address book: it may be anyone's, and must NOT be stored as the sender's identity. Omitted when Meta sends no origin. | [optional] |
24
25
  | **story_reply** | [**WebhookPayloadMessageMetadataStoryReply**](WebhookPayloadMessageMetadataStoryReply.md) | | [optional] |
@@ -48,6 +49,7 @@ instance = Zernio::WebhookPayloadMessageMetadata.new(
48
49
  nfm_reply_name: null,
49
50
  order: null,
50
51
  referred_product: null,
52
+ location: null,
51
53
  contacts: null,
52
54
  contacts_origin: null,
53
55
  story_reply: null,
@@ -0,0 +1,24 @@
1
+ # Zernio::WebhookPayloadMessageMetadataLocation
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **latitude** | **Float** | Latitude in decimal degrees. | [optional] |
8
+ | **longitude** | **Float** | Longitude in decimal degrees. | [optional] |
9
+ | **name** | **String** | Location name, when the user shared a named place. | [optional] |
10
+ | **address** | **String** | Street address, when Meta sends one. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::WebhookPayloadMessageMetadataLocation.new(
18
+ latitude: null,
19
+ longitude: null,
20
+ name: null,
21
+ address: null
22
+ )
23
+ ```
24
+
@@ -4,6 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
+ | **location** | [**WebhookPayloadMessageSentMetadataLocation**](WebhookPayloadMessageSentMetadataLocation.md) | | [optional] |
8
+ | **contacts** | **Array<Hash<String, Object>>** | WhatsApp only. The contact cards this message carries. On API sends this is the `contacts` array exactly as given to the inbox send API (`name`, `phones[].phone` / `type`, `emails[]`); on Coexistence echoes of a card shared from the WhatsApp Business app it is Meta's shape (`phones[].wa_id`, `vcard`). The message `text` is only the emoji preview (`👤 <name>`); the cards live here. | [optional] |
7
9
  | **quoted_message_id** | **String** | `platformMessageId` of the message this send is a quote-reply to. Present when the reply was sent through Zernio with `replyTo` on the inbox send API (WhatsApp and Telegram). A WhatsApp API send fires its `message.sent` off the delivery status, and the quote reference is forwarded from the stored send there, so it arrives on the same `message.sent` as any other WhatsApp send. Not delivered on Instagram echoes. Zernio forwards `reply_to.mid` whenever Meta puts it on an echo, but on Instagram Meta does not send it, so a reply the operator quoted in the Instagram app arrives with no `quotedMessageId`. Facebook Messenger rides a separate subscription (`message_echoes`) and has not been measured, so treat it as unverified rather than supported. Absent on WhatsApp Coexistence echoes. Meta omits the quote context from `smb_message_echoes`, so a reply the operator sent from the WhatsApp Business app arrives with no `quotedMessageId` even though WhatsApp shows it as a quote-reply. Do not read the absence of this field as \"not a reply\". | [optional] |
8
10
  | **thread_ts** | **String** | Slack only. Parent thread ts of the sent message. Pass it back as `replyTo` on the inbox send API to keep replying inside the thread. | [optional] |
9
11
 
@@ -13,6 +15,8 @@
13
15
  require 'zernio-sdk'
14
16
 
15
17
  instance = Zernio::WebhookPayloadMessageSentMetadata.new(
18
+ location: null,
19
+ contacts: null,
16
20
  quoted_message_id: null,
17
21
  thread_ts: null
18
22
  )
@@ -0,0 +1,24 @@
1
+ # Zernio::WebhookPayloadMessageSentMetadataLocation
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **latitude** | **Float** | Latitude in decimal degrees. | [optional] |
8
+ | **longitude** | **Float** | Longitude in decimal degrees. | [optional] |
9
+ | **name** | **String** | Location name, when one was given. | [optional] |
10
+ | **address** | **String** | Street address, when one was given. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::WebhookPayloadMessageSentMetadataLocation.new(
18
+ latitude: null,
19
+ longitude: null,
20
+ name: null,
21
+ address: null
22
+ )
23
+ ```
24
+
@@ -58,6 +58,8 @@ module Zernio
58
58
 
59
59
  attr_accessor :referred_product
60
60
 
61
+ attr_accessor :location
62
+
61
63
  # WhatsApp only. Contact cards the user shared, forwarded verbatim from Meta. Read `contactsOrigin` before treating any number here as the sender's own.
62
64
  attr_accessor :contacts
63
65
 
@@ -116,6 +118,7 @@ module Zernio
116
118
  :'nfm_reply_name' => :'nfmReplyName',
117
119
  :'order' => :'order',
118
120
  :'referred_product' => :'referredProduct',
121
+ :'location' => :'location',
119
122
  :'contacts' => :'contacts',
120
123
  :'contacts_origin' => :'contactsOrigin',
121
124
  :'story_reply' => :'storyReply',
@@ -154,6 +157,7 @@ module Zernio
154
157
  :'nfm_reply_name' => :'String',
155
158
  :'order' => :'WebhookPayloadMessageMetadataOrder',
156
159
  :'referred_product' => :'WebhookPayloadMessageMetadataReferredProduct',
160
+ :'location' => :'WebhookPayloadMessageMetadataLocation',
157
161
  :'contacts' => :'Array<Hash<String, Object>>',
158
162
  :'contacts_origin' => :'String',
159
163
  :'story_reply' => :'WebhookPayloadMessageMetadataStoryReply',
@@ -248,6 +252,10 @@ module Zernio
248
252
  self.referred_product = attributes[:'referred_product']
249
253
  end
250
254
 
255
+ if attributes.key?(:'location')
256
+ self.location = attributes[:'location']
257
+ end
258
+
251
259
  if attributes.key?(:'contacts')
252
260
  if (value = attributes[:'contacts']).is_a?(Array)
253
261
  self.contacts = value
@@ -338,6 +346,7 @@ module Zernio
338
346
  nfm_reply_name == o.nfm_reply_name &&
339
347
  order == o.order &&
340
348
  referred_product == o.referred_product &&
349
+ location == o.location &&
341
350
  contacts == o.contacts &&
342
351
  contacts_origin == o.contacts_origin &&
343
352
  story_reply == o.story_reply &&
@@ -356,7 +365,7 @@ module Zernio
356
365
  # Calculates hash code according to all attributes.
357
366
  # @return [Integer] Hash code
358
367
  def hash
359
- [standby, quoted_message_id, quoted_message, 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
368
+ [standby, quoted_message_id, quoted_message, 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, location, contacts, contacts_origin, story_reply, is_story_mention, referral, unsupported, no_renderable_content].hash
360
369
  end
361
370
 
362
371
  # Builds the object from hash
@@ -0,0 +1,179 @@
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
+ # WhatsApp only. The location pin the user shared, forwarded verbatim from Meta. The message `text` is only the emoji preview (`📍 <name>`); the coordinates live here.
18
+ class WebhookPayloadMessageMetadataLocation < ApiModelBase
19
+ # Latitude in decimal degrees.
20
+ attr_accessor :latitude
21
+
22
+ # Longitude in decimal degrees.
23
+ attr_accessor :longitude
24
+
25
+ # Location name, when the user shared a named place.
26
+ attr_accessor :name
27
+
28
+ # Street address, when Meta sends one.
29
+ attr_accessor :address
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'latitude' => :'latitude',
35
+ :'longitude' => :'longitude',
36
+ :'name' => :'name',
37
+ :'address' => :'address'
38
+ }
39
+ end
40
+
41
+ # Returns attribute mapping this model knows about
42
+ def self.acceptable_attribute_map
43
+ attribute_map
44
+ end
45
+
46
+ # Returns all the JSON keys this model knows about
47
+ def self.acceptable_attributes
48
+ acceptable_attribute_map.values
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ def self.openapi_types
53
+ {
54
+ :'latitude' => :'Float',
55
+ :'longitude' => :'Float',
56
+ :'name' => :'String',
57
+ :'address' => :'String'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::WebhookPayloadMessageMetadataLocation` initialize method"
72
+ end
73
+
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ acceptable_attribute_map = self.class.acceptable_attribute_map
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!acceptable_attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::WebhookPayloadMessageMetadataLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
82
+
83
+ if attributes.key?(:'latitude')
84
+ self.latitude = attributes[:'latitude']
85
+ end
86
+
87
+ if attributes.key?(:'longitude')
88
+ self.longitude = attributes[:'longitude']
89
+ end
90
+
91
+ if attributes.key?(:'name')
92
+ self.name = attributes[:'name']
93
+ end
94
+
95
+ if attributes.key?(:'address')
96
+ self.address = attributes[:'address']
97
+ end
98
+ end
99
+
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properties with the reasons
102
+ def list_invalid_properties
103
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
104
+ invalid_properties = Array.new
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ warn '[DEPRECATED] the `valid?` method is obsolete'
112
+ true
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param [Object] Object to be compared
117
+ def ==(o)
118
+ return true if self.equal?(o)
119
+ self.class == o.class &&
120
+ latitude == o.latitude &&
121
+ longitude == o.longitude &&
122
+ name == o.name &&
123
+ address == o.address
124
+ end
125
+
126
+ # @see the `==` method
127
+ # @param [Object] Object to be compared
128
+ def eql?(o)
129
+ self == o
130
+ end
131
+
132
+ # Calculates hash code according to all attributes.
133
+ # @return [Integer] Hash code
134
+ def hash
135
+ [latitude, longitude, name, address].hash
136
+ end
137
+
138
+ # Builds the object from hash
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ # @return [Object] Returns the model itself
141
+ def self.build_from_hash(attributes)
142
+ return nil unless attributes.is_a?(Hash)
143
+ attributes = attributes.transform_keys(&:to_sym)
144
+ transformed_hash = {}
145
+ openapi_types.each_pair do |key, type|
146
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
147
+ transformed_hash["#{key}"] = nil
148
+ elsif type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the attribute
150
+ # is documented as an array but the input is not
151
+ if attributes[attribute_map[key]].is_a?(Array)
152
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
153
+ end
154
+ elsif !attributes[attribute_map[key]].nil?
155
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
156
+ end
157
+ end
158
+ new(transformed_hash)
159
+ end
160
+
161
+ # Returns the object in the form of hash
162
+ # @return [Hash] Returns the object in the form of hash
163
+ def to_hash
164
+ hash = {}
165
+ self.class.attribute_map.each_pair do |attr, param|
166
+ value = self.send(attr)
167
+ if value.nil?
168
+ is_nullable = self.class.openapi_nullable.include?(attr)
169
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
170
+ end
171
+
172
+ hash[param] = _to_hash(value)
173
+ end
174
+ hash
175
+ end
176
+
177
+ end
178
+
179
+ end
@@ -14,8 +14,13 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Zernio
17
- # Platform-specific context for the sent message. The key is present only when the send carried some context, and absent otherwise: it is never null and never an empty object.
17
+ # Platform-specific context for the sent message: a quote-reply reference, a WhatsApp location pin or WhatsApp contact cards. The key is present only when the send carried some context, and absent otherwise: it is never null and never an empty object. Read it to tell a location or contact-card message from a text one without a GET on the message.
18
18
  class WebhookPayloadMessageSentMetadata < ApiModelBase
19
+ attr_accessor :location
20
+
21
+ # WhatsApp only. The contact cards this message carries. On API sends this is the `contacts` array exactly as given to the inbox send API (`name`, `phones[].phone` / `type`, `emails[]`); on Coexistence echoes of a card shared from the WhatsApp Business app it is Meta's shape (`phones[].wa_id`, `vcard`). The message `text` is only the emoji preview (`👤 <name>`); the cards live here.
22
+ attr_accessor :contacts
23
+
19
24
  # `platformMessageId` of the message this send is a quote-reply to. Present when the reply was sent through Zernio with `replyTo` on the inbox send API (WhatsApp and Telegram). A WhatsApp API send fires its `message.sent` off the delivery status, and the quote reference is forwarded from the stored send there, so it arrives on the same `message.sent` as any other WhatsApp send. Not delivered on Instagram echoes. Zernio forwards `reply_to.mid` whenever Meta puts it on an echo, but on Instagram Meta does not send it, so a reply the operator quoted in the Instagram app arrives with no `quotedMessageId`. Facebook Messenger rides a separate subscription (`message_echoes`) and has not been measured, so treat it as unverified rather than supported. Absent on WhatsApp Coexistence echoes. Meta omits the quote context from `smb_message_echoes`, so a reply the operator sent from the WhatsApp Business app arrives with no `quotedMessageId` even though WhatsApp shows it as a quote-reply. Do not read the absence of this field as \"not a reply\".
20
25
  attr_accessor :quoted_message_id
21
26
 
@@ -25,6 +30,8 @@ module Zernio
25
30
  # Attribute mapping from ruby-style variable name to JSON key.
26
31
  def self.attribute_map
27
32
  {
33
+ :'location' => :'location',
34
+ :'contacts' => :'contacts',
28
35
  :'quoted_message_id' => :'quotedMessageId',
29
36
  :'thread_ts' => :'threadTs'
30
37
  }
@@ -43,6 +50,8 @@ module Zernio
43
50
  # Attribute type mapping.
44
51
  def self.openapi_types
45
52
  {
53
+ :'location' => :'WebhookPayloadMessageSentMetadataLocation',
54
+ :'contacts' => :'Array<Hash<String, Object>>',
46
55
  :'quoted_message_id' => :'String',
47
56
  :'thread_ts' => :'String'
48
57
  }
@@ -70,6 +79,16 @@ module Zernio
70
79
  h[k.to_sym] = v
71
80
  }
72
81
 
82
+ if attributes.key?(:'location')
83
+ self.location = attributes[:'location']
84
+ end
85
+
86
+ if attributes.key?(:'contacts')
87
+ if (value = attributes[:'contacts']).is_a?(Array)
88
+ self.contacts = value
89
+ end
90
+ end
91
+
73
92
  if attributes.key?(:'quoted_message_id')
74
93
  self.quoted_message_id = attributes[:'quoted_message_id']
75
94
  end
@@ -99,6 +118,8 @@ module Zernio
99
118
  def ==(o)
100
119
  return true if self.equal?(o)
101
120
  self.class == o.class &&
121
+ location == o.location &&
122
+ contacts == o.contacts &&
102
123
  quoted_message_id == o.quoted_message_id &&
103
124
  thread_ts == o.thread_ts
104
125
  end
@@ -112,7 +133,7 @@ module Zernio
112
133
  # Calculates hash code according to all attributes.
113
134
  # @return [Integer] Hash code
114
135
  def hash
115
- [quoted_message_id, thread_ts].hash
136
+ [location, contacts, quoted_message_id, thread_ts].hash
116
137
  end
117
138
 
118
139
  # Builds the object from hash
@@ -0,0 +1,179 @@
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
+ # WhatsApp only. The location pin this message carries, in the same shape the inbox send API accepts. Present on API sends that passed `location`, and on Coexistence echoes of a pin shared from the WhatsApp Business app. The message `text` is only the emoji preview (`📍 <name>`); the pin itself lives here.
18
+ class WebhookPayloadMessageSentMetadataLocation < ApiModelBase
19
+ # Latitude in decimal degrees.
20
+ attr_accessor :latitude
21
+
22
+ # Longitude in decimal degrees.
23
+ attr_accessor :longitude
24
+
25
+ # Location name, when one was given.
26
+ attr_accessor :name
27
+
28
+ # Street address, when one was given.
29
+ attr_accessor :address
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'latitude' => :'latitude',
35
+ :'longitude' => :'longitude',
36
+ :'name' => :'name',
37
+ :'address' => :'address'
38
+ }
39
+ end
40
+
41
+ # Returns attribute mapping this model knows about
42
+ def self.acceptable_attribute_map
43
+ attribute_map
44
+ end
45
+
46
+ # Returns all the JSON keys this model knows about
47
+ def self.acceptable_attributes
48
+ acceptable_attribute_map.values
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ def self.openapi_types
53
+ {
54
+ :'latitude' => :'Float',
55
+ :'longitude' => :'Float',
56
+ :'name' => :'String',
57
+ :'address' => :'String'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::WebhookPayloadMessageSentMetadataLocation` initialize method"
72
+ end
73
+
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ acceptable_attribute_map = self.class.acceptable_attribute_map
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!acceptable_attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::WebhookPayloadMessageSentMetadataLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
82
+
83
+ if attributes.key?(:'latitude')
84
+ self.latitude = attributes[:'latitude']
85
+ end
86
+
87
+ if attributes.key?(:'longitude')
88
+ self.longitude = attributes[:'longitude']
89
+ end
90
+
91
+ if attributes.key?(:'name')
92
+ self.name = attributes[:'name']
93
+ end
94
+
95
+ if attributes.key?(:'address')
96
+ self.address = attributes[:'address']
97
+ end
98
+ end
99
+
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properties with the reasons
102
+ def list_invalid_properties
103
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
104
+ invalid_properties = Array.new
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ warn '[DEPRECATED] the `valid?` method is obsolete'
112
+ true
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param [Object] Object to be compared
117
+ def ==(o)
118
+ return true if self.equal?(o)
119
+ self.class == o.class &&
120
+ latitude == o.latitude &&
121
+ longitude == o.longitude &&
122
+ name == o.name &&
123
+ address == o.address
124
+ end
125
+
126
+ # @see the `==` method
127
+ # @param [Object] Object to be compared
128
+ def eql?(o)
129
+ self == o
130
+ end
131
+
132
+ # Calculates hash code according to all attributes.
133
+ # @return [Integer] Hash code
134
+ def hash
135
+ [latitude, longitude, name, address].hash
136
+ end
137
+
138
+ # Builds the object from hash
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ # @return [Object] Returns the model itself
141
+ def self.build_from_hash(attributes)
142
+ return nil unless attributes.is_a?(Hash)
143
+ attributes = attributes.transform_keys(&:to_sym)
144
+ transformed_hash = {}
145
+ openapi_types.each_pair do |key, type|
146
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
147
+ transformed_hash["#{key}"] = nil
148
+ elsif type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the attribute
150
+ # is documented as an array but the input is not
151
+ if attributes[attribute_map[key]].is_a?(Array)
152
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
153
+ end
154
+ elsif !attributes[attribute_map[key]].nil?
155
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
156
+ end
157
+ end
158
+ new(transformed_hash)
159
+ end
160
+
161
+ # Returns the object in the form of hash
162
+ # @return [Hash] Returns the object in the form of hash
163
+ def to_hash
164
+ hash = {}
165
+ self.class.attribute_map.each_pair do |attr, param|
166
+ value = self.send(attr)
167
+ if value.nil?
168
+ is_nullable = self.class.openapi_nullable.include?(attr)
169
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
170
+ end
171
+
172
+ hash[param] = _to_hash(value)
173
+ end
174
+ hash
175
+ end
176
+
177
+ end
178
+
179
+ end
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.902'
14
+ VERSION = '0.0.903'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -1910,6 +1910,7 @@ require 'zernio-sdk/models/webhook_payload_message_message_attachments_inner'
1910
1910
  require 'zernio-sdk/models/webhook_payload_message_message_sender'
1911
1911
  require 'zernio-sdk/models/webhook_payload_message_message_sender_instagram_profile'
1912
1912
  require 'zernio-sdk/models/webhook_payload_message_metadata'
1913
+ require 'zernio-sdk/models/webhook_payload_message_metadata_location'
1913
1914
  require 'zernio-sdk/models/webhook_payload_message_metadata_order'
1914
1915
  require 'zernio-sdk/models/webhook_payload_message_metadata_order_product_items_inner'
1915
1916
  require 'zernio-sdk/models/webhook_payload_message_metadata_quoted_message'
@@ -1923,6 +1924,7 @@ require 'zernio-sdk/models/webhook_payload_message_sent_message'
1923
1924
  require 'zernio-sdk/models/webhook_payload_message_sent_message_attachments_inner'
1924
1925
  require 'zernio-sdk/models/webhook_payload_message_sent_message_sender'
1925
1926
  require 'zernio-sdk/models/webhook_payload_message_sent_metadata'
1927
+ require 'zernio-sdk/models/webhook_payload_message_sent_metadata_location'
1926
1928
  require 'zernio-sdk/models/webhook_payload_phone_number_stock_available'
1927
1929
  require 'zernio-sdk/models/webhook_payload_phone_number_stock_available_stock'
1928
1930
  require 'zernio-sdk/models/webhook_payload_phone_number_stock_available_stock_types_inner'
data/openapi.yaml CHANGED
@@ -4123,6 +4123,17 @@ components:
4123
4123
  product_retailer_id:
4124
4124
  type: string
4125
4125
  description: Retailer ID (SKU) of the product being asked about.
4126
+ location:
4127
+ type: object
4128
+ description: |
4129
+ WhatsApp only. The location pin the user shared, forwarded
4130
+ verbatim from Meta. The message `text` is only the emoji preview
4131
+ (`📍 <name>`); the coordinates live here.
4132
+ properties:
4133
+ latitude: { type: number, description: Latitude in decimal degrees. }
4134
+ longitude: { type: number, description: Longitude in decimal degrees. }
4135
+ name: { type: string, description: 'Location name, when the user shared a named place.' }
4136
+ address: { type: string, description: 'Street address, when Meta sends one.' }
4126
4137
  contacts:
4127
4138
  type: array
4128
4139
  description: |
@@ -4412,8 +4423,34 @@ components:
4412
4423
  $ref: '#/components/schemas/InboxWebhookAccount'
4413
4424
  metadata:
4414
4425
  type: object
4415
- description: 'Platform-specific context for the sent message. The key is present only when the send carried some context, and absent otherwise: it is never null and never an empty object.'
4426
+ description: 'Platform-specific context for the sent message: a quote-reply reference, a WhatsApp location pin or WhatsApp contact cards. The key is present only when the send carried some context, and absent otherwise: it is never null and never an empty object. Read it to tell a location or contact-card message from a text one without a GET on the message.'
4416
4427
  properties:
4428
+ location:
4429
+ type: object
4430
+ description: |
4431
+ WhatsApp only. The location pin this message carries, in the same
4432
+ shape the inbox send API accepts. Present on API sends that passed
4433
+ `location`, and on Coexistence echoes of a pin shared from the
4434
+ WhatsApp Business app. The message `text` is only the emoji
4435
+ preview (`📍 <name>`); the pin itself lives here.
4436
+ properties:
4437
+ latitude: { type: number, description: Latitude in decimal degrees. }
4438
+ longitude: { type: number, description: Longitude in decimal degrees. }
4439
+ name: { type: string, description: 'Location name, when one was given.' }
4440
+ address: { type: string, description: 'Street address, when one was given.' }
4441
+ contacts:
4442
+ type: array
4443
+ description: |
4444
+ WhatsApp only. The contact cards this message carries. On API
4445
+ sends this is the `contacts` array exactly as given to the inbox
4446
+ send API (`name`, `phones[].phone` / `type`, `emails[]`); on
4447
+ Coexistence echoes of a card shared from the WhatsApp Business
4448
+ app it is Meta's shape (`phones[].wa_id`, `vcard`). The message
4449
+ `text` is only the emoji preview (`👤 <name>`); the cards live
4450
+ here.
4451
+ items:
4452
+ type: object
4453
+ additionalProperties: true
4417
4454
  quotedMessageId:
4418
4455
  type: string
4419
4456
  description: |
@@ -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::WebhookPayloadMessageMetadataLocation
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::WebhookPayloadMessageMetadataLocation do
21
+ #let(:instance) { Zernio::WebhookPayloadMessageMetadataLocation.new }
22
+
23
+ describe 'test an instance of WebhookPayloadMessageMetadataLocation' do
24
+ it 'should create an instance of WebhookPayloadMessageMetadataLocation' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::WebhookPayloadMessageMetadataLocation)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "latitude"' 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 "longitude"' 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 "name"' 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 "address"' 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
@@ -121,6 +121,12 @@ describe Zernio::WebhookPayloadMessageMetadata do
121
121
  end
122
122
  end
123
123
 
124
+ describe 'test attribute "location"' do
125
+ it 'should work' do
126
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
127
+ end
128
+ end
129
+
124
130
  describe 'test attribute "contacts"' do
125
131
  it 'should work' do
126
132
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
@@ -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::WebhookPayloadMessageSentMetadataLocation
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::WebhookPayloadMessageSentMetadataLocation do
21
+ #let(:instance) { Zernio::WebhookPayloadMessageSentMetadataLocation.new }
22
+
23
+ describe 'test an instance of WebhookPayloadMessageSentMetadataLocation' do
24
+ it 'should create an instance of WebhookPayloadMessageSentMetadataLocation' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::WebhookPayloadMessageSentMetadataLocation)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "latitude"' 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 "longitude"' 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 "name"' 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 "address"' 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
@@ -27,6 +27,18 @@ describe Zernio::WebhookPayloadMessageSentMetadata do
27
27
  end
28
28
  end
29
29
 
30
+ describe 'test attribute "location"' 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 "contacts"' 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
+
30
42
  describe 'test attribute "quoted_message_id"' do
31
43
  it 'should work' do
32
44
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.902
4
+ version: 0.0.903
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -2020,6 +2020,7 @@ files:
2020
2020
  - docs/WebhookPayloadMessageMessageSender.md
2021
2021
  - docs/WebhookPayloadMessageMessageSenderInstagramProfile.md
2022
2022
  - docs/WebhookPayloadMessageMetadata.md
2023
+ - docs/WebhookPayloadMessageMetadataLocation.md
2023
2024
  - docs/WebhookPayloadMessageMetadataOrder.md
2024
2025
  - docs/WebhookPayloadMessageMetadataOrderProductItemsInner.md
2025
2026
  - docs/WebhookPayloadMessageMetadataQuotedMessage.md
@@ -2033,6 +2034,7 @@ files:
2033
2034
  - docs/WebhookPayloadMessageSentMessageAttachmentsInner.md
2034
2035
  - docs/WebhookPayloadMessageSentMessageSender.md
2035
2036
  - docs/WebhookPayloadMessageSentMetadata.md
2037
+ - docs/WebhookPayloadMessageSentMetadataLocation.md
2036
2038
  - docs/WebhookPayloadPhoneNumberStockAvailable.md
2037
2039
  - docs/WebhookPayloadPhoneNumberStockAvailableStock.md
2038
2040
  - docs/WebhookPayloadPhoneNumberStockAvailableStockTypesInner.md
@@ -4099,6 +4101,7 @@ files:
4099
4101
  - lib/zernio-sdk/models/webhook_payload_message_message_sender.rb
4100
4102
  - lib/zernio-sdk/models/webhook_payload_message_message_sender_instagram_profile.rb
4101
4103
  - lib/zernio-sdk/models/webhook_payload_message_metadata.rb
4104
+ - lib/zernio-sdk/models/webhook_payload_message_metadata_location.rb
4102
4105
  - lib/zernio-sdk/models/webhook_payload_message_metadata_order.rb
4103
4106
  - lib/zernio-sdk/models/webhook_payload_message_metadata_order_product_items_inner.rb
4104
4107
  - lib/zernio-sdk/models/webhook_payload_message_metadata_quoted_message.rb
@@ -4112,6 +4115,7 @@ files:
4112
4115
  - lib/zernio-sdk/models/webhook_payload_message_sent_message_attachments_inner.rb
4113
4116
  - lib/zernio-sdk/models/webhook_payload_message_sent_message_sender.rb
4114
4117
  - lib/zernio-sdk/models/webhook_payload_message_sent_metadata.rb
4118
+ - lib/zernio-sdk/models/webhook_payload_message_sent_metadata_location.rb
4115
4119
  - lib/zernio-sdk/models/webhook_payload_phone_number_stock_available.rb
4116
4120
  - lib/zernio-sdk/models/webhook_payload_phone_number_stock_available_stock.rb
4117
4121
  - lib/zernio-sdk/models/webhook_payload_phone_number_stock_available_stock_types_inner.rb
@@ -6161,6 +6165,7 @@ files:
6161
6165
  - spec/models/webhook_payload_message_message_sender_instagram_profile_spec.rb
6162
6166
  - spec/models/webhook_payload_message_message_sender_spec.rb
6163
6167
  - spec/models/webhook_payload_message_message_spec.rb
6168
+ - spec/models/webhook_payload_message_metadata_location_spec.rb
6164
6169
  - spec/models/webhook_payload_message_metadata_order_product_items_inner_spec.rb
6165
6170
  - spec/models/webhook_payload_message_metadata_order_spec.rb
6166
6171
  - spec/models/webhook_payload_message_metadata_quoted_message_spec.rb
@@ -6173,6 +6178,7 @@ files:
6173
6178
  - spec/models/webhook_payload_message_sent_message_attachments_inner_spec.rb
6174
6179
  - spec/models/webhook_payload_message_sent_message_sender_spec.rb
6175
6180
  - spec/models/webhook_payload_message_sent_message_spec.rb
6181
+ - spec/models/webhook_payload_message_sent_metadata_location_spec.rb
6176
6182
  - spec/models/webhook_payload_message_sent_metadata_spec.rb
6177
6183
  - spec/models/webhook_payload_message_sent_spec.rb
6178
6184
  - spec/models/webhook_payload_message_spec.rb
@@ -6268,7 +6274,7 @@ files:
6268
6274
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
6269
6275
  - spec/models/you_tube_video_retention_response_spec.rb
6270
6276
  - spec/spec_helper.rb
6271
- - zernio-sdk-0.0.902.gem
6277
+ - zernio-sdk-0.0.903.gem
6272
6278
  - zernio-sdk.gemspec
6273
6279
  homepage: https://openapi-generator.tech
6274
6280
  licenses:
@@ -7939,6 +7945,7 @@ test_files:
7939
7945
  - spec/models/get_whats_app_number_kyc_form200_response_fields_inner_spec.rb
7940
7946
  - spec/models/select_snapchat_profile200_response_spec.rb
7941
7947
  - spec/models/webhook_payload_call_failed_spec.rb
7948
+ - spec/models/webhook_payload_message_metadata_location_spec.rb
7942
7949
  - spec/models/follower_stats_response_stats_value_inner_spec.rb
7943
7950
  - spec/models/webhook_payload_analytics_synced_account_spec.rb
7944
7951
  - spec/models/follow_user_request_spec.rb
@@ -8166,6 +8173,7 @@ test_files:
8166
8173
  - spec/models/create_ad_creative_request_spec.rb
8167
8174
  - spec/models/create_whats_app_flow_request_spec.rb
8168
8175
  - spec/models/usage_metering_scope_one_of_spec.rb
8176
+ - spec/models/webhook_payload_message_sent_metadata_location_spec.rb
8169
8177
  - spec/models/delete_google_business_review_reply200_response_spec.rb
8170
8178
  - spec/models/send_conversions_request_consent_spec.rb
8171
8179
  - spec/models/get_google_business_search_keywords200_response_keywords_inner_spec.rb
Binary file