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 +4 -4
- data/docs/GetPhoneNumberKycForm200ResponseReusableOptionsInner.md +5 -1
- data/docs/SubmitPhoneNumberKycRequest.md +3 -1
- data/docs/SubmitWhatsAppNumberKycRequest.md +3 -1
- data/docs/UpdateAdSetRequest.md +3 -3
- data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable.rb +1 -1
- data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable_options_inner.rb +22 -1
- data/lib/zernio-sdk/models/submit_phone_number_kyc_request.rb +12 -2
- data/lib/zernio-sdk/models/submit_whats_app_number_kyc_request.rb +12 -2
- data/lib/zernio-sdk/models/update_ad_set_request.rb +3 -3
- data/lib/zernio-sdk/version.rb +1 -1
- data/openapi.yaml +23 -12
- data/spec/models/get_phone_number_kyc_form200_response_reusable_options_inner_spec.rb +12 -0
- data/spec/models/submit_phone_number_kyc_request_spec.rb +6 -0
- data/spec/models/submit_whats_app_number_kyc_request_spec.rb +6 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 030a3399a6d872a9f98f741053d87d2a129d70ee8a0d908a4137587e0fc17412
|
|
4
|
+
data.tar.gz: ff9c216ca793ff273f6b15fa7611b2373e2b3769805a7276b71ae693bc4d30a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 11075faf7b7f4287420dfc5a2f9afe06930daea2b55a8448420d407e757c1a2ebb1e475b381547fa8840d8b08188672fdae7d9ecc63bbac49af2ccdd0e9338af
|
|
7
|
+
data.tar.gz: 39262e6b6e4a464c1357872e4d01158c6f2df9e0fbe78081163d63fd06bf232c3e3e150a9b6e141e92b50631f1746e9bdf2ed29fbc5e0a031b6558f6ba2c40e0
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **
|
|
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
|
-
| **
|
|
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
|
-
| **
|
|
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,
|
data/docs/UpdateAdSetRequest.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
data/lib/zernio-sdk/version.rb
CHANGED
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
33972
|
-
|
|
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
|
-
'
|
|
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/
|