late-sdk 0.0.1319 → 0.0.1321
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/IMessageApi.md +1 -1
- data/docs/ImessageSenderLifecycle.md +1 -1
- data/docs/ListAdSets200ResponseAdSetsInner.md +4 -4
- data/lib/zernio-sdk/api/i_message_api.rb +2 -2
- data/lib/zernio-sdk/models/imessage_sender_lifecycle.rb +3 -2
- data/lib/zernio-sdk/models/list_ad_sets200_response_ad_sets_inner.rb +4 -4
- data/lib/zernio-sdk/models/list_ad_sets200_response_ad_sets_inner_targeting.rb +1 -1
- data/lib/zernio-sdk/version.rb +1 -1
- data/openapi.yaml +1 -1
- data/spec/api/i_message_api_spec.rb +1 -1
- data/spec/models/imessage_sender_lifecycle_spec.rb +1 -1
- data/zernio-sdk-0.0.1321.gem +0 -0
- metadata +2 -2
- data/zernio-sdk-0.0.1319.gem +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2039fb55710ee3b225caaae57b3c82587792bc74f1b67d93445f0f4b163d2e05
|
|
4
|
+
data.tar.gz: 9e5d0c223a14d09b003b63835ed87a14caa29e97614ecdadb8d465ca6e4f528e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48655f64ade6e813ce9bde76b8283bdde365864ad63ff83886db7f73250738ada76afed5f646c3cbcda159828724c88f328ebf07b96b68e98422ed92f6e4f74c
|
|
7
|
+
data.tar.gz: 531408965964ef72c7df3842864f373c189ed26ee8a793b4291e47b70b1c5a29b8f54cbb88f4c408f6987932ade1d9151f38c1575cd581383acf1da224dfbae6
|
data/docs/IMessageApi.md
CHANGED
|
@@ -874,7 +874,7 @@ This endpoint does not need any parameter.
|
|
|
874
874
|
|
|
875
875
|
Order a new iMessage sender
|
|
876
876
|
|
|
877
|
-
Orders a NEW dedicated iMessage sender from the delivery provider (compare with POST /v1/imessage/senders, which registers a sender you already own). Activation is asynchronous (minutes to a few hours): the response is 202 with the lifecycle object; poll GET /v1/imessage/senders/{senderId} or subscribe to the account.connected webhook. Billing starts at activation (monthly per sender, no proration); when the account spend threshold is below the sender price, the first month is charged before the number is bought. Requires usage-based billing and a valid payment method. Pass purchaseIntentId to make retries idempotent — the provider-side order is never retried automatically. Ordered phone senders include SMS/RCS fallback with call forwarding and the ability to message contacts who have not written first (sending intervals still apply).
|
|
877
|
+
Orders a NEW dedicated iMessage sender from the delivery provider (compare with POST /v1/imessage/senders, which registers a sender you already own). Activation is asynchronous (minutes to a few hours): the response is 202 with the lifecycle object; poll GET /v1/imessage/senders/{senderId} or subscribe to the account.connected webhook. Billing starts at activation (monthly per sender, no proration); when the account spend threshold is below the sender price, the first month is charged before the number is bought; when the card's answer takes longer than this request, the order is returned as `status: awaiting_payment` and the number is ordered automatically once it is paid (usually under 5 minutes). Requires usage-based billing and a valid payment method. Pass purchaseIntentId to make retries idempotent — the provider-side order is never retried automatically. Ordered phone senders include SMS/RCS fallback with call forwarding and the ability to message contacts who have not written first (sending intervals still apply).
|
|
878
878
|
|
|
879
879
|
### Examples
|
|
880
880
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
| **region** | **String** | | [optional] |
|
|
10
10
|
| **handle** | **String** | The sender handle once activation assigns it | [optional] |
|
|
11
11
|
| **opt_in_link** | **String** | imessage:// deep link that opens Messages on this sender with a prefilled text. Share it so contacts message you first (Apple only lets a sender reach contacts who wrote to it first); null until the handle is assigned. | [optional] |
|
|
12
|
-
| **status** | **String** |
|
|
12
|
+
| **status** | **String** | `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes. | [optional] |
|
|
13
13
|
| **price_cents** | **Integer** | Monthly price billed while the sender is active | [optional] |
|
|
14
14
|
| **provider** | **String** | | [optional] |
|
|
15
15
|
| **profile_id** | **String** | | [optional] |
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
| **is_external** | **Boolean** | | [optional] |
|
|
21
21
|
| **platform_created_at** | **Time** | | [optional] |
|
|
22
22
|
| **status_read_at** | **Time** | Only with `live=true`. When `platformAdSetStatus` was read from the platform; null when this row was not read live. | [optional] |
|
|
23
|
-
| **optimization_goal** | **String** | The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS). On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT). | [optional] |
|
|
24
|
-
| **billing_event** | **String** | The ad set's billing event as last synced,
|
|
25
|
-
| **bid_strategy** | **String** | The bid strategy as last synced, in
|
|
26
|
-
| **bid_amount** | **Float** | Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none. | [optional] |
|
|
23
|
+
| **optimization_goal** | **String** | The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS; TikTok `optimization_goal`; Pinterest the conversion event of `optimization_goal_metadata`, for example CHECKOUT; X the line item `goal`; OpenAI the campaign `bidding_type`). Always null on Google, which has no per-ad-group optimization goal. On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT). | [optional] |
|
|
24
|
+
| **billing_event** | **String** | The ad set's billing event as last synced, in the platform's own enum (Meta `billing_event`, TikTok `billing_event`, Pinterest `billable_event`, X `pay_by`, OpenAI `bidding_config.billing_event_type`). Always null on Google, which reports none per ad group. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM). | [optional] |
|
|
25
|
+
| **bid_strategy** | **String** | The bid strategy as last synced, in Meta's vocabulary (LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS) on every platform that has an equivalent. On Meta under a campaign budget this is the campaign's strategy. TikTok maps bid_type / deep_bid_type, Pinterest AUTOMATIC_BID / MAX_BID / TARGET_AVG, X AUTO / MAX / TARGET, OpenAI Maximize Results / a max bid. Google bids at the campaign, so an ad group carries its campaign's strategy; one without a Meta equivalent (MANUAL_CPC, TARGET_IMPRESSION_SHARE, or a portfolio strategy's type such as TARGET_CPA) keeps Google's own name. Null on LinkedIn. | [optional] |
|
|
26
|
+
| **bid_amount** | **Float** | Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none (automatic bidding, ROAS targets, a Google portfolio strategy). On Google a campaign target CPA, a Maximize clicks ceiling, the ad group's own target CPA override, or its CPC bid under MANUAL_CPC. | [optional] |
|
|
27
27
|
| **promoted_object** | **Hash<String, Object>** | Meta only. The ad set's `promoted_object` verbatim (snake_case, for example pixel_id + custom_event_type, page_id, application_id), as last synced from its most recent ad. Null on other platforms and on an ad set with no ad yet; GET /v1/ads/accounts/live reads it live for every ad set. | [optional] |
|
|
28
28
|
| **native_settings** | **Hash<String, Object>** | TikTok only, only with `live=true` and only on rows read live. TikTok's adgroup/get record verbatim (snake_case, TikTok's own names and enums): operation_status, optimization_goal, optimization_event, billing_event, bid_type, bid_price, budget, budget_mode, pacing, schedule_type, schedule_start_time, schedule_end_time, dayparting, placement_type, placements, location_ids, age_groups, gender, languages, interest_category_ids, interest_keyword_ids, actions, audience_ids, excluded_audience_ids, operating_systems, frequency, frequency_schedule, smart_audience_enabled, smart_interest_behavior_enabled. schedule_start_time and schedule_end_time are UTC wall clocks (YYYY-MM-DD HH:MM:SS). location_ids holds TikTok's native location ids (GeoNames ids for countries); GET /v1/ads/targeting/search?dimension=geo returns them as `platformId` on country results. Plus advertiser_currency and advertiser_timezone from TikTok's advertiser/info. A field TikTok does not return is absent. | [optional] |
|
|
29
29
|
| **config_read_at** | **Time** | Only with `live=true`. When `nativeSettings` was read from the platform. Null on every row whose native settings were not read now (row past the cap, failed read, or a platform without a native read). | [optional] |
|
|
@@ -830,7 +830,7 @@ module Zernio
|
|
|
830
830
|
end
|
|
831
831
|
|
|
832
832
|
# Order a new iMessage sender
|
|
833
|
-
# Orders a NEW dedicated iMessage sender from the delivery provider (compare with POST /v1/imessage/senders, which registers a sender you already own). Activation is asynchronous (minutes to a few hours): the response is 202 with the lifecycle object; poll GET /v1/imessage/senders/{senderId} or subscribe to the account.connected webhook. Billing starts at activation (monthly per sender, no proration); when the account spend threshold is below the sender price, the first month is charged before the number is bought. Requires usage-based billing and a valid payment method. Pass purchaseIntentId to make retries idempotent — the provider-side order is never retried automatically. Ordered phone senders include SMS/RCS fallback with call forwarding and the ability to message contacts who have not written first (sending intervals still apply).
|
|
833
|
+
# Orders a NEW dedicated iMessage sender from the delivery provider (compare with POST /v1/imessage/senders, which registers a sender you already own). Activation is asynchronous (minutes to a few hours): the response is 202 with the lifecycle object; poll GET /v1/imessage/senders/{senderId} or subscribe to the account.connected webhook. Billing starts at activation (monthly per sender, no proration); when the account spend threshold is below the sender price, the first month is charged before the number is bought; when the card's answer takes longer than this request, the order is returned as `status: awaiting_payment` and the number is ordered automatically once it is paid (usually under 5 minutes). Requires usage-based billing and a valid payment method. Pass purchaseIntentId to make retries idempotent — the provider-side order is never retried automatically. Ordered phone senders include SMS/RCS fallback with call forwarding and the ability to message contacts who have not written first (sending intervals still apply).
|
|
834
834
|
# @param order_imessage_sender_request [OrderImessageSenderRequest]
|
|
835
835
|
# @param [Hash] opts the optional parameters
|
|
836
836
|
# @return [OrderImessageSender202Response]
|
|
@@ -840,7 +840,7 @@ module Zernio
|
|
|
840
840
|
end
|
|
841
841
|
|
|
842
842
|
# Order a new iMessage sender
|
|
843
|
-
# Orders a NEW dedicated iMessage sender from the delivery provider (compare with POST /v1/imessage/senders, which registers a sender you already own). Activation is asynchronous (minutes to a few hours): the response is 202 with the lifecycle object; poll GET /v1/imessage/senders/{senderId} or subscribe to the account.connected webhook. Billing starts at activation (monthly per sender, no proration); when the account spend threshold is below the sender price, the first month is charged before the number is bought. Requires usage-based billing and a valid payment method. Pass purchaseIntentId to make retries idempotent — the provider-side order is never retried automatically. Ordered phone senders include SMS/RCS fallback with call forwarding and the ability to message contacts who have not written first (sending intervals still apply).
|
|
843
|
+
# Orders a NEW dedicated iMessage sender from the delivery provider (compare with POST /v1/imessage/senders, which registers a sender you already own). Activation is asynchronous (minutes to a few hours): the response is 202 with the lifecycle object; poll GET /v1/imessage/senders/{senderId} or subscribe to the account.connected webhook. Billing starts at activation (monthly per sender, no proration); when the account spend threshold is below the sender price, the first month is charged before the number is bought; when the card's answer takes longer than this request, the order is returned as `status: awaiting_payment` and the number is ordered automatically once it is paid (usually under 5 minutes). Requires usage-based billing and a valid payment method. Pass purchaseIntentId to make retries idempotent — the provider-side order is never retried automatically. Ordered phone senders include SMS/RCS fallback with call forwarding and the ability to message contacts who have not written first (sending intervals still apply).
|
|
844
844
|
# @param order_imessage_sender_request [OrderImessageSenderRequest]
|
|
845
845
|
# @param [Hash] opts the optional parameters
|
|
846
846
|
# @return [Array<(OrderImessageSender202Response, Integer, Hash)>] OrderImessageSender202Response data, response status code and response headers
|
|
@@ -28,6 +28,7 @@ module Zernio
|
|
|
28
28
|
# imessage:// deep link that opens Messages on this sender with a prefilled text. Share it so contacts message you first (Apple only lets a sender reach contacts who wrote to it first); null until the handle is assigned.
|
|
29
29
|
attr_accessor :opt_in_link
|
|
30
30
|
|
|
31
|
+
# `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
|
|
31
32
|
attr_accessor :status
|
|
32
33
|
|
|
33
34
|
# Monthly price billed while the sender is active
|
|
@@ -213,7 +214,7 @@ module Zernio
|
|
|
213
214
|
return false unless kind_validator.valid?(@kind)
|
|
214
215
|
region_validator = EnumAttributeValidator.new('String', ["US", "GB"])
|
|
215
216
|
return false unless region_validator.valid?(@region)
|
|
216
|
-
status_validator = EnumAttributeValidator.new('String', ["ordering", "activating", "active", "suspended", "canceled", "failed"])
|
|
217
|
+
status_validator = EnumAttributeValidator.new('String', ["ordering", "awaiting_payment", "activating", "active", "suspended", "canceled", "failed"])
|
|
217
218
|
return false unless status_validator.valid?(@status)
|
|
218
219
|
true
|
|
219
220
|
end
|
|
@@ -241,7 +242,7 @@ module Zernio
|
|
|
241
242
|
# Custom attribute writer method checking allowed values (enum).
|
|
242
243
|
# @param [Object] status Object to be assigned
|
|
243
244
|
def status=(status)
|
|
244
|
-
validator = EnumAttributeValidator.new('String', ["ordering", "activating", "active", "suspended", "canceled", "failed"])
|
|
245
|
+
validator = EnumAttributeValidator.new('String', ["ordering", "awaiting_payment", "activating", "active", "suspended", "canceled", "failed"])
|
|
245
246
|
unless validator.valid?(status)
|
|
246
247
|
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
247
248
|
end
|
|
@@ -49,16 +49,16 @@ module Zernio
|
|
|
49
49
|
# Only with `live=true`. When `platformAdSetStatus` was read from the platform; null when this row was not read live.
|
|
50
50
|
attr_accessor :status_read_at
|
|
51
51
|
|
|
52
|
-
# The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS). On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
|
|
52
|
+
# The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS; TikTok `optimization_goal`; Pinterest the conversion event of `optimization_goal_metadata`, for example CHECKOUT; X the line item `goal`; OpenAI the campaign `bidding_type`). Always null on Google, which has no per-ad-group optimization goal. On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
|
|
53
53
|
attr_accessor :optimization_goal
|
|
54
54
|
|
|
55
|
-
# The ad set's billing event as last synced,
|
|
55
|
+
# The ad set's billing event as last synced, in the platform's own enum (Meta `billing_event`, TikTok `billing_event`, Pinterest `billable_event`, X `pay_by`, OpenAI `bidding_config.billing_event_type`). Always null on Google, which reports none per ad group. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM).
|
|
56
56
|
attr_accessor :billing_event
|
|
57
57
|
|
|
58
|
-
# The bid strategy as last synced, in
|
|
58
|
+
# The bid strategy as last synced, in Meta's vocabulary (LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS) on every platform that has an equivalent. On Meta under a campaign budget this is the campaign's strategy. TikTok maps bid_type / deep_bid_type, Pinterest AUTOMATIC_BID / MAX_BID / TARGET_AVG, X AUTO / MAX / TARGET, OpenAI Maximize Results / a max bid. Google bids at the campaign, so an ad group carries its campaign's strategy; one without a Meta equivalent (MANUAL_CPC, TARGET_IMPRESSION_SHARE, or a portfolio strategy's type such as TARGET_CPA) keeps Google's own name. Null on LinkedIn.
|
|
59
59
|
attr_accessor :bid_strategy
|
|
60
60
|
|
|
61
|
-
# Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none.
|
|
61
|
+
# Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none (automatic bidding, ROAS targets, a Google portfolio strategy). On Google a campaign target CPA, a Maximize clicks ceiling, the ad group's own target CPA override, or its CPC bid under MANUAL_CPC.
|
|
62
62
|
attr_accessor :bid_amount
|
|
63
63
|
|
|
64
64
|
# Meta only. The ad set's `promoted_object` verbatim (snake_case, for example pixel_id + custom_event_type, page_id, application_id), as last synced from its most recent ad. Null on other platforms and on an ad set with no ad yet; GET /v1/ads/accounts/live reads it live for every ad set.
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
|
-
# The audience this ad set delivers to, as the platform reports it at the last sync
|
|
17
|
+
# The audience this ad set delivers to, as the platform reports it at the last sync, in the platform's own shape. Every platform; null only for an ad set not re-synced yet, or when the platform's targeting read failed on every sync so far (a failed read keeps the last stored value). - Meta: the ad set's `targeting` verbatim (snake_case: geo_locations, age_min, custom_audiences, flexible_spec, ...), so it can be read, edited and sent back as is. - LinkedIn: `include` and `exclude` (below) are the campaign's `targetingCriteria` verbatim, without reconstructing them from our normalized targeting spec. - TikTok: the ad group's targeting fields from adgroup/get, verbatim (placement_type, placements, location_ids, age_groups, gender, languages, interest_category_ids, actions, audience_ids, excluded_audience_ids, operating_systems, ...). Only fields TikTok returned are present. - Google: `campaignCriteria` (LOCATION, LANGUAGE, PROXIMITY, DEVICE, AGE_RANGE, GENDER, USER_LIST, INCOME_RANGE, PARENTAL_STATUS) and `adGroupCriteria` (AGE_RANGE, GENDER, USER_LIST, USER_INTEREST, INCOME_RANGE, PARENTAL_STATUS), each a Google criterion verbatim (camelCase: resourceName, type, negative, bidModifier and the payload its type sets, for example `location.geoTargetConstant`). Most Google targeting lives on the campaign, so every ad group of a campaign carries the same `campaignCriteria`. Keywords are not included (they have their own endpoints). Synced on Google's slower keyword cycle. - Pinterest: the ad group's `targeting_spec` verbatim (GEO, AGE_BUCKET, GENDER, INTEREST, AUDIENCE_INCLUDE, LOCALE, ...). - X: `targeting_criteria`, the line item's criteria as X lists them (targeting_type, targeting_value, operator_type, name), the same shape X's batch create takes. - OpenAI: the campaign's `targeting` (OpenAI targets at the campaign), plus the ad group's `context_hints` when it has any.
|
|
18
18
|
class ListAdSets200ResponseAdSetsInnerTargeting < ApiModelBase
|
|
19
19
|
# LinkedIn `targetingCriteria.include`, verbatim (an `and` of `or` facet clauses).
|
|
20
20
|
attr_accessor :include
|
data/lib/zernio-sdk/version.rb
CHANGED