zernio-sdk 0.0.553 → 0.0.555

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: 2cb0f3bc4604dcf8646e158f9466a1acf7d5890cd902469ab2f19b2784eb70a4
4
- data.tar.gz: db93724947c7625d852a01d3626dd31c124211a62e604fac3e0ca3562c8b3579
3
+ metadata.gz: 030a3399a6d872a9f98f741053d87d2a129d70ee8a0d908a4137587e0fc17412
4
+ data.tar.gz: ff9c216ca793ff273f6b15fa7611b2373e2b3769805a7276b71ae693bc4d30a1
5
5
  SHA512:
6
- metadata.gz: bfb2a29d234e3bbdef08052bbb8ea2bbb741ed240e8f2522da70f6b43a80cc00eef9a51f233294159501f0f06a45b89e03fd4d5ab3339ae00c978315a8163447
7
- data.tar.gz: 9ae4916481ed0b33e538f918273b7eac8748c1192ff6b39242a5472fad038882c90d19125e7d454290ddad03ef39ab9cd255cab570573e4147e23670ae3bcaed
6
+ metadata.gz: 11075faf7b7f4287420dfc5a2f9afe06930daea2b55a8448420d407e757c1a2ebb1e475b381547fa8840d8b08188672fdae7d9ecc63bbac49af2ccdd0e9338af
7
+ data.tar.gz: 39262e6b6e4a464c1357872e4d01158c6f2df9e0fbe78081163d63fd06bf232c3e3e150a9b6e141e92b50631f1746e9bdf2ed29fbc5e0a031b6558f6ba2c40e0
@@ -4,7 +4,9 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **from_phone_number** | **String** | | [optional] |
7
+ | **id** | **String** | Opaque option id — pass as `reuseOptionId` on POST. Stable selection key (a phone number is not unique across verifications). | [optional] |
8
+ | **from_phone_number** | **String** | Display only — the number this verification was submitted for. Not a selection key. | [optional] |
9
+ | **instant** | **Boolean** | true = group-approved, a new order activates in minutes; false = documents are reused but the order still queues for carrier review (1-3 days). | [optional] |
8
10
  | **details** | [**Array<GetPhoneNumberKycForm200ResponseReusableDetailsInner>**](GetPhoneNumberKycForm200ResponseReusableDetailsInner.md) | | [optional] |
9
11
 
10
12
  ## Example
@@ -13,7 +15,9 @@
13
15
  require 'zernio-sdk'
14
16
 
15
17
  instance = Zernio::GetPhoneNumberKycForm200ResponseReusableOptionsInner.new(
18
+ id: null,
16
19
  from_phone_number: null,
20
+ instant: null,
17
21
  details: null
18
22
  )
19
23
  ```
@@ -9,7 +9,8 @@
9
9
  | **submission_id** | **String** | Idempotency token for this submission attempt. A retry/double-submit with the same token returns the same number; omit and each call creates a new number. | [optional] |
10
10
  | **quantity** | **Integer** | Provision several same-country numbers from one submission (1-5). The single verification covers all of them; each number is billed only when it activates. Numbers that fail to order are skipped (best-effort). | [optional][default to 1] |
11
11
  | **reuse** | **Boolean** | Reuse a prior approved verification for this country (skips document/field collection; places the order immediately). | [optional] |
12
- | **reuse_from** | **String** | Which approved verification to reuse when several exist: the phone number it was originally approved for (GET reusable.options[].fromPhoneNumber). Omitted = newest. No match = 409. | [optional] |
12
+ | **reuse_option_id** | **String** | Which reusable verification to use (GET reusable.options[].id). The unambiguous selection key. Omitted = the approved default. No match = 409. | [optional] |
13
+ | **reuse_from** | **String** | Legacy fallback for `reuseOptionId`: the source phone number (GET reusable.options[].fromPhoneNumber). Ambiguous when a number labels two verifications — prefer `reuseOptionId`. Omitted = the approved default. No match = 409. | [optional] |
13
14
  | **end_user_first_name** | **String** | End user's legal first name. Required when the country has an action/ID-verification (Onfido) requirement. | [optional] |
14
15
  | **end_user_last_name** | **String** | End user's legal last name. Same condition as endUserFirstName. | [optional] |
15
16
  | **values** | **Hash<String, String>** | requirementId → textual value | [optional] |
@@ -27,6 +28,7 @@ instance = Zernio::SubmitPhoneNumberKycRequest.new(
27
28
  submission_id: null,
28
29
  quantity: null,
29
30
  reuse: null,
31
+ reuse_option_id: null,
30
32
  reuse_from: null,
31
33
  end_user_first_name: null,
32
34
  end_user_last_name: null,
@@ -9,7 +9,8 @@
9
9
  | **submission_id** | **String** | Idempotency token for this submission attempt. A retry/double-submit with the same token returns the same number; omit and each call creates a new number. | [optional] |
10
10
  | **quantity** | **Integer** | Provision several same-country numbers from one submission (1-5). The single verification covers all of them; each number is billed only when it activates. Numbers that fail to order are skipped (best-effort). | [optional][default to 1] |
11
11
  | **reuse** | **Boolean** | Reuse a prior approved verification for this country (skips document/field collection; places the order immediately). | [optional] |
12
- | **reuse_from** | **String** | Which approved verification to reuse when several exist: the phone number it was originally approved for (GET reusable.options[].fromPhoneNumber). Omitted = newest. No match = 409. | [optional] |
12
+ | **reuse_option_id** | **String** | Which reusable verification to use (GET reusable.options[].id). The unambiguous selection key. Omitted = the approved default. No match = 409. | [optional] |
13
+ | **reuse_from** | **String** | Legacy fallback for `reuseOptionId`: the source phone number (GET reusable.options[].fromPhoneNumber). Ambiguous when a number labels two verifications — prefer `reuseOptionId`. Omitted = the approved default. No match = 409. | [optional] |
13
14
  | **end_user_first_name** | **String** | End user's legal first name. Required when the country has an action/ID-verification (Onfido) requirement. | [optional] |
14
15
  | **end_user_last_name** | **String** | End user's legal last name. Same condition as endUserFirstName. | [optional] |
15
16
  | **values** | **Hash<String, String>** | requirementId → textual value | [optional] |
@@ -27,6 +28,7 @@ instance = Zernio::SubmitWhatsAppNumberKycRequest.new(
27
28
  submission_id: null,
28
29
  quantity: null,
29
30
  reuse: null,
31
+ reuse_option_id: null,
30
32
  reuse_from: null,
31
33
  end_user_first_name: null,
32
34
  end_user_last_name: null,
@@ -8,9 +8,9 @@
8
8
  | **budget** | [**UpdateAdSetRequestBudget**](UpdateAdSetRequestBudget.md) | | [optional] |
9
9
  | **status** | **String** | Omit if not toggling delivery state | [optional] |
10
10
  | **name** | **String** | Rename the ad set (Meta only; other platforms return 501). At least one of budget/status/bidStrategy/name is required. | [optional] |
11
- | **bid_strategy** | [**BidStrategy**](BidStrategy.md) | Ad-set-level bid strategy. Overrides the campaign-level default. Supported on Meta (facebook, instagram) and TikTok. On TikTok the Meta-style enum is mapped to bid_type / bid_price / deep_bid_type automatically. Other platforms (linkedin, pinterest, google, twitter) return 501 Not Implemented when bidStrategy is set. | [optional] |
12
- | **bid_amount** | **Float** | Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's smallest-denomination integer. | [optional] |
13
- | **roas_average_floor** | **Float** | Minimum ROAS as a decimal multiplier (2.0 = 2.0x). Required when bidStrategy is LOWEST_COST_WITH_MIN_ROAS. Sent to Meta as `bid_constraints.roas_average_floor` × 10000. | [optional] |
11
+ | **bid_strategy** | [**BidStrategy**](BidStrategy.md) | Ad-set-level bid strategy. Overrides the campaign-level default. Supported on Meta (facebook, instagram), TikTok, and OpenAI. On TikTok the Meta-style enum is mapped to bid_type / bid_price / deep_bid_type automatically. On OpenAI, LOWEST_COST_WITH_BID_CAP and COST_CAP both map to the ad group's `bidding_config.max_bid_micros` (one knob covers both); LOWEST_COST_WITH_MIN_ROAS is rejected with 422 (OpenAI has no ROAS-based bidding). Other platforms (linkedin, pinterest, google, twitter) return 501 Not Implemented when bidStrategy is set. | [optional] |
12
+ | **bid_amount** | **Float** | Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's smallest-denomination integer, or (on OpenAI) to micros (× 1,000,000). | [optional] |
13
+ | **roas_average_floor** | **Float** | Minimum ROAS as a decimal multiplier (2.0 = 2.0x). Required when bidStrategy is LOWEST_COST_WITH_MIN_ROAS. Sent to Meta as `bid_constraints.roas_average_floor` × 10000. Not supported on OpenAI (422). | [optional] |
14
14
  | **platform_specific_data** | [**UpdateAdSetRequestPlatformSpecificData**](UpdateAdSetRequestPlatformSpecificData.md) | | [optional] |
15
15
 
16
16
  ## Example
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Zernio
17
- # Present when this account already has an approved verification for the country that can be reused (skip the form). `fromPhoneNumber`/`details` mirror the newest option; `options` lists ALL approved verifications (agencies hold one per end client) pass the chosen option's `fromPhoneNumber` as `reuseFrom` on POST.
17
+ # Present when this account already has a reusable verification for the country (skip the form). `fromPhoneNumber`/`details` mirror the first option; `options` lists ALL reusable verifications (agencies hold one per end client), approved-first. Pass the chosen option's `id` as `reuseOptionId` on POST. Each option's `instant` says whether it activates in minutes (group-approved) or still queues for carrier review (1-3 days).
18
18
  class GetPhoneNumberKycForm200ResponseReusable < ApiModelBase
19
19
  attr_accessor :available
20
20
 
@@ -15,14 +15,23 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class GetPhoneNumberKycForm200ResponseReusableOptionsInner < ApiModelBase
18
+ # Opaque option id — pass as `reuseOptionId` on POST. Stable selection key (a phone number is not unique across verifications).
19
+ attr_accessor :id
20
+
21
+ # Display only — the number this verification was submitted for. Not a selection key.
18
22
  attr_accessor :from_phone_number
19
23
 
24
+ # true = group-approved, a new order activates in minutes; false = documents are reused but the order still queues for carrier review (1-3 days).
25
+ attr_accessor :instant
26
+
20
27
  attr_accessor :details
21
28
 
22
29
  # Attribute mapping from ruby-style variable name to JSON key.
23
30
  def self.attribute_map
24
31
  {
32
+ :'id' => :'id',
25
33
  :'from_phone_number' => :'fromPhoneNumber',
34
+ :'instant' => :'instant',
26
35
  :'details' => :'details'
27
36
  }
28
37
  end
@@ -40,7 +49,9 @@ module Zernio
40
49
  # Attribute type mapping.
41
50
  def self.openapi_types
42
51
  {
52
+ :'id' => :'String',
43
53
  :'from_phone_number' => :'String',
54
+ :'instant' => :'Boolean',
44
55
  :'details' => :'Array<GetPhoneNumberKycForm200ResponseReusableDetailsInner>'
45
56
  }
46
57
  end
@@ -67,10 +78,18 @@ module Zernio
67
78
  h[k.to_sym] = v
68
79
  }
69
80
 
81
+ if attributes.key?(:'id')
82
+ self.id = attributes[:'id']
83
+ end
84
+
70
85
  if attributes.key?(:'from_phone_number')
71
86
  self.from_phone_number = attributes[:'from_phone_number']
72
87
  end
73
88
 
89
+ if attributes.key?(:'instant')
90
+ self.instant = attributes[:'instant']
91
+ end
92
+
74
93
  if attributes.key?(:'details')
75
94
  if (value = attributes[:'details']).is_a?(Array)
76
95
  self.details = value
@@ -98,7 +117,9 @@ module Zernio
98
117
  def ==(o)
99
118
  return true if self.equal?(o)
100
119
  self.class == o.class &&
120
+ id == o.id &&
101
121
  from_phone_number == o.from_phone_number &&
122
+ instant == o.instant &&
102
123
  details == o.details
103
124
  end
104
125
 
@@ -111,7 +132,7 @@ module Zernio
111
132
  # Calculates hash code according to all attributes.
112
133
  # @return [Integer] Hash code
113
134
  def hash
114
- [from_phone_number, details].hash
135
+ [id, from_phone_number, instant, details].hash
115
136
  end
116
137
 
117
138
  # Builds the object from hash
@@ -28,7 +28,10 @@ module Zernio
28
28
  # Reuse a prior approved verification for this country (skips document/field collection; places the order immediately).
29
29
  attr_accessor :reuse
30
30
 
31
- # Which approved verification to reuse when several exist: the phone number it was originally approved for (GET reusable.options[].fromPhoneNumber). Omitted = newest. No match = 409.
31
+ # Which reusable verification to use (GET reusable.options[].id). The unambiguous selection key. Omitted = the approved default. No match = 409.
32
+ attr_accessor :reuse_option_id
33
+
34
+ # Legacy fallback for `reuseOptionId`: the source phone number (GET reusable.options[].fromPhoneNumber). Ambiguous when a number labels two verifications — prefer `reuseOptionId`. Omitted = the approved default. No match = 409.
32
35
  attr_accessor :reuse_from
33
36
 
34
37
  # End user's legal first name. Required when the country has an action/ID-verification (Onfido) requirement.
@@ -53,6 +56,7 @@ module Zernio
53
56
  :'submission_id' => :'submissionId',
54
57
  :'quantity' => :'quantity',
55
58
  :'reuse' => :'reuse',
59
+ :'reuse_option_id' => :'reuseOptionId',
56
60
  :'reuse_from' => :'reuseFrom',
57
61
  :'end_user_first_name' => :'endUserFirstName',
58
62
  :'end_user_last_name' => :'endUserLastName',
@@ -80,6 +84,7 @@ module Zernio
80
84
  :'submission_id' => :'String',
81
85
  :'quantity' => :'Integer',
82
86
  :'reuse' => :'Boolean',
87
+ :'reuse_option_id' => :'String',
83
88
  :'reuse_from' => :'String',
84
89
  :'end_user_first_name' => :'String',
85
90
  :'end_user_last_name' => :'String',
@@ -137,6 +142,10 @@ module Zernio
137
142
  self.reuse = attributes[:'reuse']
138
143
  end
139
144
 
145
+ if attributes.key?(:'reuse_option_id')
146
+ self.reuse_option_id = attributes[:'reuse_option_id']
147
+ end
148
+
140
149
  if attributes.key?(:'reuse_from')
141
150
  self.reuse_from = attributes[:'reuse_from']
142
151
  end
@@ -249,6 +258,7 @@ module Zernio
249
258
  submission_id == o.submission_id &&
250
259
  quantity == o.quantity &&
251
260
  reuse == o.reuse &&
261
+ reuse_option_id == o.reuse_option_id &&
252
262
  reuse_from == o.reuse_from &&
253
263
  end_user_first_name == o.end_user_first_name &&
254
264
  end_user_last_name == o.end_user_last_name &&
@@ -266,7 +276,7 @@ module Zernio
266
276
  # Calculates hash code according to all attributes.
267
277
  # @return [Integer] Hash code
268
278
  def hash
269
- [profile_id, country, submission_id, quantity, reuse, reuse_from, end_user_first_name, end_user_last_name, values, documents, address].hash
279
+ [profile_id, country, submission_id, quantity, reuse, reuse_option_id, reuse_from, end_user_first_name, end_user_last_name, values, documents, address].hash
270
280
  end
271
281
 
272
282
  # Builds the object from hash
@@ -28,7 +28,10 @@ module Zernio
28
28
  # Reuse a prior approved verification for this country (skips document/field collection; places the order immediately).
29
29
  attr_accessor :reuse
30
30
 
31
- # Which approved verification to reuse when several exist: the phone number it was originally approved for (GET reusable.options[].fromPhoneNumber). Omitted = newest. No match = 409.
31
+ # Which reusable verification to use (GET reusable.options[].id). The unambiguous selection key. Omitted = the approved default. No match = 409.
32
+ attr_accessor :reuse_option_id
33
+
34
+ # Legacy fallback for `reuseOptionId`: the source phone number (GET reusable.options[].fromPhoneNumber). Ambiguous when a number labels two verifications — prefer `reuseOptionId`. Omitted = the approved default. No match = 409.
32
35
  attr_accessor :reuse_from
33
36
 
34
37
  # End user's legal first name. Required when the country has an action/ID-verification (Onfido) requirement.
@@ -53,6 +56,7 @@ module Zernio
53
56
  :'submission_id' => :'submissionId',
54
57
  :'quantity' => :'quantity',
55
58
  :'reuse' => :'reuse',
59
+ :'reuse_option_id' => :'reuseOptionId',
56
60
  :'reuse_from' => :'reuseFrom',
57
61
  :'end_user_first_name' => :'endUserFirstName',
58
62
  :'end_user_last_name' => :'endUserLastName',
@@ -80,6 +84,7 @@ module Zernio
80
84
  :'submission_id' => :'String',
81
85
  :'quantity' => :'Integer',
82
86
  :'reuse' => :'Boolean',
87
+ :'reuse_option_id' => :'String',
83
88
  :'reuse_from' => :'String',
84
89
  :'end_user_first_name' => :'String',
85
90
  :'end_user_last_name' => :'String',
@@ -137,6 +142,10 @@ module Zernio
137
142
  self.reuse = attributes[:'reuse']
138
143
  end
139
144
 
145
+ if attributes.key?(:'reuse_option_id')
146
+ self.reuse_option_id = attributes[:'reuse_option_id']
147
+ end
148
+
140
149
  if attributes.key?(:'reuse_from')
141
150
  self.reuse_from = attributes[:'reuse_from']
142
151
  end
@@ -249,6 +258,7 @@ module Zernio
249
258
  submission_id == o.submission_id &&
250
259
  quantity == o.quantity &&
251
260
  reuse == o.reuse &&
261
+ reuse_option_id == o.reuse_option_id &&
252
262
  reuse_from == o.reuse_from &&
253
263
  end_user_first_name == o.end_user_first_name &&
254
264
  end_user_last_name == o.end_user_last_name &&
@@ -266,7 +276,7 @@ module Zernio
266
276
  # Calculates hash code according to all attributes.
267
277
  # @return [Integer] Hash code
268
278
  def hash
269
- [profile_id, country, submission_id, quantity, reuse, reuse_from, end_user_first_name, end_user_last_name, values, documents, address].hash
279
+ [profile_id, country, submission_id, quantity, reuse, reuse_option_id, reuse_from, end_user_first_name, end_user_last_name, values, documents, address].hash
270
280
  end
271
281
 
272
282
  # Builds the object from hash
@@ -25,13 +25,13 @@ module Zernio
25
25
  # Rename the ad set (Meta only; other platforms return 501). At least one of budget/status/bidStrategy/name is required.
26
26
  attr_accessor :name
27
27
 
28
- # Ad-set-level bid strategy. Overrides the campaign-level default. Supported on Meta (facebook, instagram) and TikTok. On TikTok the Meta-style enum is mapped to bid_type / bid_price / deep_bid_type automatically. Other platforms (linkedin, pinterest, google, twitter) return 501 Not Implemented when bidStrategy is set.
28
+ # Ad-set-level bid strategy. Overrides the campaign-level default. Supported on Meta (facebook, instagram), TikTok, and OpenAI. On TikTok the Meta-style enum is mapped to bid_type / bid_price / deep_bid_type automatically. On OpenAI, LOWEST_COST_WITH_BID_CAP and COST_CAP both map to the ad group's `bidding_config.max_bid_micros` (one knob covers both); LOWEST_COST_WITH_MIN_ROAS is rejected with 422 (OpenAI has no ROAS-based bidding). Other platforms (linkedin, pinterest, google, twitter) return 501 Not Implemented when bidStrategy is set.
29
29
  attr_accessor :bid_strategy
30
30
 
31
- # Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's smallest-denomination integer.
31
+ # Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's smallest-denomination integer, or (on OpenAI) to micros (× 1,000,000).
32
32
  attr_accessor :bid_amount
33
33
 
34
- # Minimum ROAS as a decimal multiplier (2.0 = 2.0x). Required when bidStrategy is LOWEST_COST_WITH_MIN_ROAS. Sent to Meta as `bid_constraints.roas_average_floor` × 10000.
34
+ # Minimum ROAS as a decimal multiplier (2.0 = 2.0x). Required when bidStrategy is LOWEST_COST_WITH_MIN_ROAS. Sent to Meta as `bid_constraints.roas_average_floor` × 10000. Not supported on OpenAI (422).
35
35
  attr_accessor :roas_average_floor
36
36
 
37
37
  attr_accessor :platform_specific_data
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.553'
14
+ VERSION = '0.0.555'
15
15
  end
data/openapi.yaml CHANGED
@@ -28469,7 +28469,7 @@ paths:
28469
28469
  localTo: { type: [string, "null"], description: ISO country the value must be local to }
28470
28470
  reusable:
28471
28471
  type: [object, "null"]
28472
- description: Present when this account already has an approved verification for the country that can be reused (skip the form). `fromPhoneNumber`/`details` mirror the newest option; `options` lists ALL approved verifications (agencies hold one per end client) pass the chosen option's `fromPhoneNumber` as `reuseFrom` on POST.
28472
+ description: 'Present when this account already has a reusable verification for the country (skip the form). `fromPhoneNumber`/`details` mirror the first option; `options` lists ALL reusable verifications (agencies hold one per end client), approved-first. Pass the chosen option''s `id` as `reuseOptionId` on POST. Each option''s `instant` says whether it activates in minutes (group-approved) or still queues for carrier review (1-3 days).'
28473
28473
  properties:
28474
28474
  available: { type: boolean }
28475
28475
  fromPhoneNumber: { type: string }
@@ -28487,7 +28487,9 @@ paths:
28487
28487
  items:
28488
28488
  type: object
28489
28489
  properties:
28490
- fromPhoneNumber: { type: string }
28490
+ id: { type: string, description: 'Opaque option id — pass as `reuseOptionId` on POST. Stable selection key (a phone number is not unique across verifications).' }
28491
+ fromPhoneNumber: { type: string, description: Display only — the number this verification was submitted for. Not a selection key. }
28492
+ instant: { type: boolean, description: 'true = group-approved, a new order activates in minutes; false = documents are reused but the order still queues for carrier review (1-3 days).' }
28491
28493
  details:
28492
28494
  type: array
28493
28495
  items:
@@ -28534,7 +28536,8 @@ paths:
28534
28536
  submissionId: { type: string, description: Idempotency token for this submission attempt. A retry/double-submit with the same token returns the same number; omit and each call creates a new number. }
28535
28537
  quantity: { type: integer, minimum: 1, maximum: 5, default: 1, description: 'Provision several same-country numbers from one submission (1-5). The single verification covers all of them; each number is billed only when it activates. Numbers that fail to order are skipped (best-effort).' }
28536
28538
  reuse: { type: boolean, description: Reuse a prior approved verification for this country (skips document/field collection; places the order immediately). }
28537
- reuseFrom: { type: string, description: 'Which approved verification to reuse when several exist: the phone number it was originally approved for (GET reusable.options[].fromPhoneNumber). Omitted = newest. No match = 409.' }
28539
+ reuseOptionId: { type: string, description: 'Which reusable verification to use (GET reusable.options[].id). The unambiguous selection key. Omitted = the approved default. No match = 409.' }
28540
+ reuseFrom: { type: string, description: 'Legacy fallback for `reuseOptionId`: the source phone number (GET reusable.options[].fromPhoneNumber). Ambiguous when a number labels two verifications — prefer `reuseOptionId`. Omitted = the approved default. No match = 409.' }
28538
28541
  endUserFirstName: { type: string, description: End user's legal first name. Required when the country has an action/ID-verification (Onfido) requirement. }
28539
28542
  endUserLastName: { type: string, description: End user's legal last name. Same condition as endUserFirstName. }
28540
28543
  values:
@@ -29274,7 +29277,7 @@ paths:
29274
29277
  audience: { type: [string, "null"], enum: [business, individual, null], description: 'When set, the requirement applies ONLY to this end-user type — provide it for that type and OMIT it for the other (e.g. Brazil: "Cartão CNPJ" is business-only, "CPF" and "ID/Passport Copy" are personal-only). Submitting both sets makes the regulator ask whether the number is for personal or business use and stalls the review. Pass `entityType` on POST so the server drops the inapplicable set.' }
29275
29278
  reusable:
29276
29279
  type: [object, "null"]
29277
- description: Present when this account already has an approved verification for the country that can be reused (skip the form). `fromPhoneNumber`/`details` mirror the newest option; `options` lists ALL approved verifications (agencies hold one per end client) pass the chosen option's `fromPhoneNumber` as `reuseFrom` on POST.
29280
+ description: 'Present when this account already has a reusable verification for the country (skip the form). `fromPhoneNumber`/`details` mirror the first option; `options` lists ALL reusable verifications (agencies hold one per end client), approved-first. Pass the chosen option''s `id` as `reuseOptionId` on POST. Each option''s `instant` says whether it activates in minutes (group-approved) or still queues for carrier review (1-3 days).'
29278
29281
  properties:
29279
29282
  available: { type: boolean }
29280
29283
  fromPhoneNumber: { type: string }
@@ -29292,7 +29295,9 @@ paths:
29292
29295
  items:
29293
29296
  type: object
29294
29297
  properties:
29295
- fromPhoneNumber: { type: string }
29298
+ id: { type: string, description: 'Opaque option id — pass as `reuseOptionId` on POST. Stable selection key (a phone number is not unique across verifications).' }
29299
+ fromPhoneNumber: { type: string, description: Display only — the number this verification was submitted for. Not a selection key. }
29300
+ instant: { type: boolean, description: 'true = group-approved, a new order activates in minutes; false = documents are reused but the order still queues for carrier review (1-3 days).' }
29296
29301
  details:
29297
29302
  type: array
29298
29303
  items:
@@ -29343,7 +29348,8 @@ paths:
29343
29348
  submissionId: { type: string, description: Idempotency token for this submission attempt. A retry/double-submit with the same token returns the same number; omit and each call creates a new number. }
29344
29349
  quantity: { type: integer, minimum: 1, maximum: 5, default: 1, description: 'Provision several same-country numbers from one submission (1-5). The single verification covers all of them; each number is billed only when it activates. Numbers that fail to order are skipped (best-effort).' }
29345
29350
  reuse: { type: boolean, description: Reuse a prior approved verification for this country (skips document/field collection; places the order immediately). }
29346
- reuseFrom: { type: string, description: 'Which approved verification to reuse when several exist: the phone number it was originally approved for (GET reusable.options[].fromPhoneNumber). Omitted = newest. No match = 409.' }
29351
+ reuseOptionId: { type: string, description: 'Which reusable verification to use (GET reusable.options[].id). The unambiguous selection key. Omitted = the approved default. No match = 409.' }
29352
+ reuseFrom: { type: string, description: 'Legacy fallback for `reuseOptionId`: the source phone number (GET reusable.options[].fromPhoneNumber). Ambiguous when a number labels two verifications — prefer `reuseOptionId`. Omitted = the approved default. No match = 409.' }
29347
29353
  endUserFirstName: { type: string, description: End user's legal first name. Required when the country has an action/ID-verification (Onfido) requirement. }
29348
29354
  endUserLastName: { type: string, description: End user's legal last name. Same condition as endUserFirstName. }
29349
29355
  values:
@@ -33921,7 +33927,7 @@ paths:
33921
33927
  put:
33922
33928
  operationId: updateAdSet
33923
33929
  tags: ["Ad Campaigns"]
33924
- x-platforms: ["meta", "tiktok"]
33930
+ x-platforms: ["meta", "tiktok", "openai"]
33925
33931
  summary: Update an ad set
33926
33932
  description: |
33927
33933
  Ad-set-level writes. Use this for ABO budget updates, ad-set-scoped
@@ -33966,21 +33972,25 @@ paths:
33966
33972
  allOf: [{ $ref: '#/components/schemas/BidStrategy' }]
33967
33973
  description: |
33968
33974
  Ad-set-level bid strategy. Overrides the campaign-level default.
33969
- Supported on Meta (facebook, instagram) and TikTok. On TikTok the
33975
+ Supported on Meta (facebook, instagram), TikTok, and OpenAI. On TikTok the
33970
33976
  Meta-style enum is mapped to bid_type / bid_price / deep_bid_type
33971
- automatically. Other platforms (linkedin, pinterest, google, twitter)
33972
- return 501 Not Implemented when bidStrategy is set.
33977
+ automatically. On OpenAI, LOWEST_COST_WITH_BID_CAP and COST_CAP both map to
33978
+ the ad group's `bidding_config.max_bid_micros` (one knob covers both);
33979
+ LOWEST_COST_WITH_MIN_ROAS is rejected with 422 (OpenAI has no ROAS-based
33980
+ bidding). Other platforms (linkedin, pinterest, google, twitter) return 501
33981
+ Not Implemented when bidStrategy is set.
33973
33982
  bidAmount:
33974
33983
  type: number
33975
33984
  description: |
33976
33985
  Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when
33977
33986
  bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's
33978
- smallest-denomination integer.
33987
+ smallest-denomination integer, or (on OpenAI) to micros (× 1,000,000).
33979
33988
  roasAverageFloor:
33980
33989
  type: number
33981
33990
  description: |
33982
33991
  Minimum ROAS as a decimal multiplier (2.0 = 2.0x). Required when bidStrategy is
33983
33992
  LOWEST_COST_WITH_MIN_ROAS. Sent to Meta as `bid_constraints.roas_average_floor` × 10000.
33993
+ Not supported on OpenAI (422).
33984
33994
  platformSpecificData:
33985
33995
  type: object
33986
33996
  description: |
@@ -34027,7 +34037,8 @@ paths:
34027
34037
  '401': { $ref: '#/components/responses/Unauthorized' }
34028
34038
  '404': { description: Ad set not found }
34029
34039
  '409': { description: "Campaign is CBO — route to /v1/ads/campaigns/{campaignId} instead" }
34030
- '501': { description: "bidStrategy not supported on the platform (Meta + TikTok only)" }
34040
+ '422': { description: "bidStrategy is LOWEST_COST_WITH_MIN_ROAS on OpenAI (unsupported: no ROAS-based bidding)" }
34041
+ '501': { description: "bidStrategy not supported on the platform (Meta, TikTok, and OpenAI only)" }
34031
34042
 
34032
34043
  /v1/ads/ad-sets/{adSetId}/status:
34033
34044
  put:
@@ -27,12 +27,24 @@ describe Zernio::GetPhoneNumberKycForm200ResponseReusableOptionsInner do
27
27
  end
28
28
  end
29
29
 
30
+ describe 'test attribute "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
+
30
36
  describe 'test attribute "from_phone_number"' do
31
37
  it 'should work' do
32
38
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
39
  end
34
40
  end
35
41
 
42
+ describe 'test attribute "instant"' 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
+
36
48
  describe 'test attribute "details"' do
37
49
  it 'should work' do
38
50
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
@@ -57,6 +57,12 @@ describe Zernio::SubmitPhoneNumberKycRequest do
57
57
  end
58
58
  end
59
59
 
60
+ describe 'test attribute "reuse_option_id"' do
61
+ it 'should work' do
62
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
63
+ end
64
+ end
65
+
60
66
  describe 'test attribute "reuse_from"' do
61
67
  it 'should work' do
62
68
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
@@ -57,6 +57,12 @@ describe Zernio::SubmitWhatsAppNumberKycRequest do
57
57
  end
58
58
  end
59
59
 
60
+ describe 'test attribute "reuse_option_id"' do
61
+ it 'should work' do
62
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
63
+ end
64
+ end
65
+
60
66
  describe 'test attribute "reuse_from"' do
61
67
  it 'should work' do
62
68
  # 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.553
4
+ version: 0.0.555
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator