late-sdk 0.0.827 → 0.0.828

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.
@@ -0,0 +1,192 @@
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 SetWhatsAppFlowsEncryptionKeyRequest < ApiModelBase
18
+ # WhatsApp social account ID
19
+ attr_accessor :account_id
20
+
21
+ # RSA public key in PEM format. Rejected if it is a private key or not a valid RSA public key PEM.
22
+ attr_accessor :business_public_key
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'account_id' => :'accountId',
28
+ :'business_public_key' => :'businessPublicKey'
29
+ }
30
+ end
31
+
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ acceptable_attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'account_id' => :'String',
46
+ :'business_public_key' => :'String'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::SetWhatsAppFlowsEncryptionKeyRequest` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::SetWhatsAppFlowsEncryptionKeyRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'account_id')
73
+ self.account_id = attributes[:'account_id']
74
+ else
75
+ self.account_id = nil
76
+ end
77
+
78
+ if attributes.key?(:'business_public_key')
79
+ self.business_public_key = attributes[:'business_public_key']
80
+ else
81
+ self.business_public_key = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @account_id.nil?
91
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
92
+ end
93
+
94
+ if @business_public_key.nil?
95
+ invalid_properties.push('invalid value for "business_public_key", business_public_key cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @account_id.nil?
106
+ return false if @business_public_key.nil?
107
+ true
108
+ end
109
+
110
+ # Custom attribute writer method with validation
111
+ # @param [Object] account_id Value to be assigned
112
+ def account_id=(account_id)
113
+ if account_id.nil?
114
+ fail ArgumentError, 'account_id cannot be nil'
115
+ end
116
+
117
+ @account_id = account_id
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] business_public_key Value to be assigned
122
+ def business_public_key=(business_public_key)
123
+ if business_public_key.nil?
124
+ fail ArgumentError, 'business_public_key cannot be nil'
125
+ end
126
+
127
+ @business_public_key = business_public_key
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param [Object] Object to be compared
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ account_id == o.account_id &&
136
+ business_public_key == o.business_public_key
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] Object to be compared
141
+ def eql?(o)
142
+ self == o
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Integer] Hash code
147
+ def hash
148
+ [account_id, business_public_key].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def self.build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ attributes = attributes.transform_keys(&:to_sym)
157
+ transformed_hash = {}
158
+ openapi_types.each_pair do |key, type|
159
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
+ transformed_hash["#{key}"] = nil
161
+ elsif type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[attribute_map[key]].is_a?(Array)
165
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
166
+ end
167
+ elsif !attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
169
+ end
170
+ end
171
+ new(transformed_hash)
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ end
191
+
192
+ end
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.827'
14
+ VERSION = '0.0.828'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -784,6 +784,7 @@ require 'zernio-sdk/models/get_whats_app_flow200_response_flow_preview'
784
784
  require 'zernio-sdk/models/get_whats_app_flow_json200_response'
785
785
  require 'zernio-sdk/models/get_whats_app_flow_json200_response_assets_inner'
786
786
  require 'zernio-sdk/models/get_whats_app_flow_preview200_response'
787
+ require 'zernio-sdk/models/get_whats_app_flows_encryption_key200_response'
787
788
  require 'zernio-sdk/models/get_whats_app_group_chat200_response'
788
789
  require 'zernio-sdk/models/get_whats_app_group_chat200_response_group'
789
790
  require 'zernio-sdk/models/get_whats_app_group_chat200_response_group_participants_inner'
@@ -1360,6 +1361,7 @@ require 'zernio-sdk/models/set_messenger_menu_request'
1360
1361
  require 'zernio-sdk/models/set_reddit_post_flair_request'
1361
1362
  require 'zernio-sdk/models/set_telegram_commands_request'
1362
1363
  require 'zernio-sdk/models/set_telegram_commands_request_commands_inner'
1364
+ require 'zernio-sdk/models/set_whats_app_flows_encryption_key_request'
1363
1365
  require 'zernio-sdk/models/set_whatsapp_business_username200_response'
1364
1366
  require 'zernio-sdk/models/set_whatsapp_business_username_request'
1365
1367
  require 'zernio-sdk/models/share_sms_registration200_response'
data/openapi.yaml CHANGED
@@ -38227,6 +38227,85 @@ paths:
38227
38227
  '401': { $ref: '#/components/responses/Unauthorized' }
38228
38228
  '404': { description: WhatsApp account not found }
38229
38229
 
38230
+ /v1/whatsapp/flows/encryption-key:
38231
+ get:
38232
+ x-resource-group: "accounts"
38233
+ operationId: getWhatsAppFlowsEncryptionKey
38234
+ tags: [WhatsApp Flows]
38235
+ summary: Get Flows encryption key status
38236
+ description: |
38237
+ Read the RSA business public key registered on the phone number for WhatsApp Flows
38238
+ endpoint encryption. Only one key is active per phone number at a time. Flows that
38239
+ use flow_action: data_exchange (an endpoint-backed flow) stop working at runtime
38240
+ until the endpoint serves the matching private key, and Meta rejects publish with
38241
+ error code 139002 ("Missing Flows Signed Public Key") when no key is registered.
38242
+ `registered` reflects whether a key is present, never `signatureStatus` alone:
38243
+ Meta reports an unregistered key as MISMATCH rather than a null/absent value.
38244
+ security:
38245
+ - bearerAuth: []
38246
+ parameters:
38247
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
38248
+ responses:
38249
+ '200':
38250
+ description: Encryption key status retrieved
38251
+ content:
38252
+ application/json:
38253
+ schema:
38254
+ type: object
38255
+ properties:
38256
+ publicKey:
38257
+ type: [string, "null"]
38258
+ description: The registered RSA public key in PEM format, or null when none is registered.
38259
+ signatureStatus:
38260
+ type: [string, "null"]
38261
+ description: "VALID (key matches Meta's records) or MISMATCH (no key registered, or the key does not match); null when unknown."
38262
+ enum: [VALID, MISMATCH]
38263
+ registered:
38264
+ type: boolean
38265
+ description: Whether a key is currently registered. Derived from publicKey, not signatureStatus.
38266
+ '400': { $ref: '#/components/responses/BadRequest' }
38267
+ '401': { $ref: '#/components/responses/Unauthorized' }
38268
+ '403': { $ref: '#/components/responses/ResourceGroupForbidden' }
38269
+ '404': { description: WhatsApp account not found }
38270
+ '502': { description: Meta rejected the request }
38271
+ post:
38272
+ x-resource-group: "accounts"
38273
+ operationId: setWhatsAppFlowsEncryptionKey
38274
+ tags: [WhatsApp Flows]
38275
+ summary: Register a Flows encryption key
38276
+ description: |
38277
+ Register (or replace) the RSA business public key for WhatsApp Flows endpoint
38278
+ encryption on the phone number. Uploading a new key replaces the previous one:
38279
+ only one key is active per phone number. The corresponding private key must be
38280
+ served by the flow's endpoint, or endpoint-backed flows (flow_action:
38281
+ data_exchange) will fail at runtime even though the key is registered.
38282
+ security:
38283
+ - bearerAuth: []
38284
+ requestBody:
38285
+ required: true
38286
+ content:
38287
+ application/json:
38288
+ schema:
38289
+ type: object
38290
+ required: [accountId, businessPublicKey]
38291
+ properties:
38292
+ accountId: { type: string, description: WhatsApp social account ID }
38293
+ businessPublicKey: { type: string, description: RSA public key in PEM format. Rejected if it is a private key or not a valid RSA public key PEM. }
38294
+ responses:
38295
+ '200':
38296
+ description: Encryption key registered
38297
+ content:
38298
+ application/json:
38299
+ schema:
38300
+ type: object
38301
+ properties:
38302
+ success: { type: boolean }
38303
+ '400': { $ref: '#/components/responses/BadRequest' }
38304
+ '401': { $ref: '#/components/responses/Unauthorized' }
38305
+ '403': { $ref: '#/components/responses/ResourceGroupForbidden' }
38306
+ '404': { description: WhatsApp account not found }
38307
+ '502': { description: Meta rejected the request }
38308
+
38230
38309
  /v1/whatsapp/flows/send:
38231
38310
  post:
38232
38311
  x-resource-group: "messages"
@@ -111,6 +111,18 @@ describe 'WhatsAppFlowsApi' do
111
111
  end
112
112
  end
113
113
 
114
+ # unit tests for get_whats_app_flows_encryption_key
115
+ # Get Flows encryption key status
116
+ # Read the RSA business public key registered on the phone number for WhatsApp Flows endpoint encryption. Only one key is active per phone number at a time. Flows that use flow_action: data_exchange (an endpoint-backed flow) stop working at runtime until the endpoint serves the matching private key, and Meta rejects publish with error code 139002 (\&quot;Missing Flows Signed Public Key\&quot;) when no key is registered. &#x60;registered&#x60; reflects whether a key is present, never &#x60;signatureStatus&#x60; alone: Meta reports an unregistered key as MISMATCH rather than a null/absent value.
117
+ # @param account_id WhatsApp social account ID
118
+ # @param [Hash] opts the optional parameters
119
+ # @return [GetWhatsAppFlowsEncryptionKey200Response]
120
+ describe 'get_whats_app_flows_encryption_key test' do
121
+ it 'should work' do
122
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
123
+ end
124
+ end
125
+
114
126
  # unit tests for list_whats_app_flow_responses
115
127
  # List flow responses
116
128
  # List the responses customers submitted when completing a flow (parsed from the nfm_reply messages received via webhook), newest first. Scope to a single flow with &#x60;flowId&#x60; — this matches responses whose flow_token carries the &#x60;&lt;flowId&gt;:&#x60; prefix that Zernio stamps on auto-generated tokens at send time. Responses sent with a custom integrator-supplied flow_token are not attributed to a flow.
@@ -175,6 +187,18 @@ describe 'WhatsAppFlowsApi' do
175
187
  end
176
188
  end
177
189
 
190
+ # unit tests for set_whats_app_flows_encryption_key
191
+ # Register a Flows encryption key
192
+ # Register (or replace) the RSA business public key for WhatsApp Flows endpoint encryption on the phone number. Uploading a new key replaces the previous one: only one key is active per phone number. The corresponding private key must be served by the flow&#39;s endpoint, or endpoint-backed flows (flow_action: data_exchange) will fail at runtime even though the key is registered.
193
+ # @param set_whats_app_flows_encryption_key_request
194
+ # @param [Hash] opts the optional parameters
195
+ # @return [UpdateYoutubeDefaultPlaylist200Response]
196
+ describe 'set_whats_app_flows_encryption_key test' do
197
+ it 'should work' do
198
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
199
+ end
200
+ end
201
+
178
202
  # unit tests for update_whats_app_flow
179
203
  # Update flow
180
204
  # Update metadata (name, categories, endpointUri) of a DRAFT flow. Published flows are immutable.
@@ -0,0 +1,52 @@
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::GetWhatsAppFlowsEncryptionKey200Response
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::GetWhatsAppFlowsEncryptionKey200Response do
21
+ #let(:instance) { Zernio::GetWhatsAppFlowsEncryptionKey200Response.new }
22
+
23
+ describe 'test an instance of GetWhatsAppFlowsEncryptionKey200Response' do
24
+ it 'should create an instance of GetWhatsAppFlowsEncryptionKey200Response' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::GetWhatsAppFlowsEncryptionKey200Response)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "public_key"' 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 "signature_status"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["VALID", "MISMATCH"])
40
+ # validator.allowable_values.each do |value|
41
+ # expect { instance.signature_status = value }.not_to raise_error
42
+ # end
43
+ end
44
+ end
45
+
46
+ describe 'test attribute "registered"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
49
+ end
50
+ end
51
+
52
+ end
@@ -0,0 +1,42 @@
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::SetWhatsAppFlowsEncryptionKeyRequest
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::SetWhatsAppFlowsEncryptionKeyRequest do
21
+ #let(:instance) { Zernio::SetWhatsAppFlowsEncryptionKeyRequest.new }
22
+
23
+ describe 'test an instance of SetWhatsAppFlowsEncryptionKeyRequest' do
24
+ it 'should create an instance of SetWhatsAppFlowsEncryptionKeyRequest' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::SetWhatsAppFlowsEncryptionKeyRequest)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "account_id"' 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 "business_public_key"' 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
+ end
Binary file