late-sdk 0.0.677 → 0.0.679
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/CreateStandaloneAdRequest.md +1 -1
- data/docs/CreateStandaloneAdRequestPromotedObject.md +2 -0
- data/docs/SendInboxMessageRequest.md +1 -1
- data/docs/UpdateAdSetRequestPlatformSpecificDataPromotedObject.md +2 -0
- data/docs/WebhookPayloadMessageMetadata.md +2 -0
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +1 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_promoted_object.rb +12 -2
- data/lib/zernio-sdk/models/send_inbox_message_request.rb +1 -1
- data/lib/zernio-sdk/models/update_ad_set_request_platform_specific_data_promoted_object.rb +11 -1
- data/lib/zernio-sdk/models/webhook_payload_message_metadata.rb +12 -2
- data/lib/zernio-sdk/version.rb +1 -1
- data/openapi.yaml +23 -5
- data/spec/models/create_standalone_ad_request_promoted_object_spec.rb +6 -0
- data/spec/models/update_ad_set_request_platform_specific_data_promoted_object_spec.rb +6 -0
- data/spec/models/webhook_payload_message_metadata_spec.rb +6 -0
- data/zernio-sdk-0.0.679.gem +0 -0
- metadata +2 -2
- data/zernio-sdk-0.0.677.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: b041b3a2662b2ecb5b099a332812c40a5e92dcc57c4948a1edf278591c384f75
|
|
4
|
+
data.tar.gz: 8655f7c7e11ff53f19a0323212ff8d9cda3573ce9117e497a46d7e2f6587d63d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f8a4d1b8078e37fd6d4f98d85d0effa04d1159c4ef10ca129189fff0020fb218d5276fddfa58e1d134bc0aae95ca974ccd84641903bad2489ba3c96ec1b9093a
|
|
7
|
+
data.tar.gz: 0a6f62e1cdef7a37542127ce0745c662084a8c86d9e8cc16bc7283215f20ad43ad63f10b53af9bde7e50e6dc0f091dec261b1567ce9a3721d344647493f1d232
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| **ad_set_name** | **String** | Meta only. Exact ad set name. Overrides the default `<name> - Ad Set`. (For per-ad names on the multi-creative shape, set `name` on each `creatives[]` entry.) | [optional] |
|
|
12
12
|
| **ad_name** | **String** | Meta only. Exact ad name (the single-creative ad object's name). Overrides the default, which is `name`. (For per-ad names on the multi-creative shape, set `name` on each `creatives[]` entry instead.) | [optional] |
|
|
13
13
|
| **tracking** | [**CreateStandaloneAdRequestTracking**](CreateStandaloneAdRequestTracking.md) | | [optional] |
|
|
14
|
-
| **goal** | **String** | Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform. **Meta** - `conversions`: OUTCOME_SALES. Requires `promotedObject.pixelId` and `promotedObject.customEventType` with a commerce event such as PURCHASE or START_TRIAL, or `promotedObject.customConversionId` to optimise against a Custom Conversion
|
|
14
|
+
| **goal** | **String** | Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform. **Meta** - `conversions`: OUTCOME_SALES. Requires `promotedObject.pixelId` and `promotedObject.customEventType` with a commerce event such as PURCHASE or START_TRIAL, or `promotedObject.customConversionId` to optimise against a Custom Conversion, or `customEventType: OTHER` + `customEventStr` to optimise against a pixel custom event. - `lead_conversion`: OUTCOME_LEADS optimizing website pixel leads. Same pixel and event fields, but with a leads-class event such as LEAD, SUBMIT_APPLICATION, SCHEDULE or CONTACT (or `promotedObject.customConversionId` to optimise against a Custom Conversion instead). Meta gates conversion events by objective, so leads-class events are rejected under `conversions`. - `lead_generation`: OUTCOME_LEADS with instant forms. Requires `leadGenFormId`. `promotedObject.pageId` is optional and auto-filled from the connected Page. - `app_promotion`: requires `promotedObject.applicationId` and `promotedObject.objectStoreUrl`. - `catalog_sales`: Advantage+ catalog ads, for example vehicle inventory. Requires `promotedObject.productSetId`, `promotedObject.pixelId` and `promotedObject.customEventType`. Builds a catalog TEMPLATE creative from the copy fields, which may carry template tags like {{product.name}} or {{vehicle.make}}. No imageUrl or video is sent; Meta renders the visuals per catalog item. Discover catalogs via GET /v1/ads/catalogs and product sets via GET /v1/ads/catalogs/{catalogId}/product-sets. Single shape only, no creatives[], adSetId, dynamicCreative or placementAssets. **TikTok** - `conversions`: website-conversion ad group. Requires `promotedObject.pixelId`, your TikTok Pixel ID. Accepts an optional `promotedObject.customEventType` with a TikTok optimization_event code your pixel tracks (newer pixels use e.g. SHOPPING for purchase events; legacy pixels use ON_WEB_ORDER, INITIATE_ORDER, ON_WEB_REGISTER or FORM). To inherit pixel and event from an existing ad group, pass `adSetId` instead. **LinkedIn** - `engagement`, `traffic`, `awareness` and `video_views` create standalone Direct Sponsored Content ads. `traffic` requires `linkUrl`; `video_views` requires `video`. - `job_applicants` requires a `platformSpecificData.jobs` creative. - For `lead_generation` or `conversions` on LinkedIn, or to promote an existing post, use POST /v1/ads/boost. **OpenAI Ads** - Only `traffic`, `awareness`, and `conversions` are supported (other goals return 400). Maps to OpenAI's `bidding_type` (clicks, impressions, conversions respectively). `conversions` requires an active conversion event setting on the account; create a tracking tag with `defaultEventType` via the tracking-tags API (`POST /v1/accounts/{accountId}/tracking-tags`), or configure a conversion event in OpenAI Ads Manager, or the request returns 422. | [optional] |
|
|
15
15
|
| **optimization_goal** | **String** | Meta only. Explicit ad-set `optimization_goal` (e.g. `LANDING_PAGE_VIEWS`, `LINK_CLICKS`, `REACH`, `IMPRESSIONS`, `OFFSITE_CONVERSIONS`, `THRUPLAY`, `LEAD_GENERATION`). Overrides the default derived from `goal` (e.g. `traffic` defaults to `LINK_CLICKS`). Forwarded verbatim to Meta, which validates compatibility with the campaign objective and rejects incompatible combinations. | [optional] |
|
|
16
16
|
| **billing_event** | **String** | Meta only. Explicit ad-set `billing_event`. Defaults to `IMPRESSIONS`. Forwarded verbatim to Meta, which validates compatibility with the optimization goal. | [optional] |
|
|
17
17
|
| **buying_type** | **String** | Meta only. RESERVED = Reach & Frequency: requires `rfPredictionId` (a RESERVED prediction from /v1/ads/rf-predictions + /reserve). Budget, schedule and pricing come from the reservation, so budgetAmount/budgetType are not required and bid fields are ignored. Only the plain single-ad shape (no creatives[], adSetId, existingCampaignId or dynamicCreative). | [optional] |
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **pixel_id** | **String** | Pixel ID. **Meta:** Facebook Pixel ID, required for `goal: conversions`. **TikTok:** TikTok Pixel ID, required for `goal: conversions`. To discover the pixels an ad account can use, call `GET /v1/accounts/{accountId}/tracking-tags?adAccountId=act_...` (each entry carries `kind` and `ownerAdAccountId`), or `GET /v1/accounts/{accountId}/conversion-destinations`. Note this is a different resource from `GET /v1/ads/{adId}/tracking-tags`, which reads an ad's click-URL params (`url_tags`), not pixels. | [optional] |
|
|
8
8
|
| **custom_event_type** | **String** | The event the campaign/ad group optimises against. **Meta:** standard event like `PURCHASE`, `LEAD`, `COMPLETE_REGISTRATION`, `ADD_TO_CART`. Uppercased internally so callers can pass any case. Required for `goal: conversions`. **TikTok:** an `optimization_event` code (UPPER_SNAKE, not Meta's vocabulary and not PascalCase), OR the exact event name shown in TikTok Events Manager (auto-resolved to its code). Must be one of the event types your TikTok Pixel tracks; custom events are not optimizable. Current taxonomy: `SHOPPING` (Purchase), `ON_WEB_CART` (Add to Cart), `INITIATE_ORDER` (Initiate Checkout), `FORM` (Lead), `ON_WEB_REGISTER` (Complete Registration), `ON_WEB_DETAIL` (View Content). `ON_WEB_ORDER` is deprecated. On rejection the error lists the event types your pixel actually tracks. Optional for `goal: conversions`. | [optional] |
|
|
9
|
+
| **custom_event_str** | **String** | Meta only. Pixel custom-event name to optimise against (Meta's `custom_event_str`), exactly as it appears in Events Manager and in your CAPI payloads (case-sensitive, not uppercased). Requires `customEventType: OTHER`, and `OTHER` requires this field (400 either way). The same as picking a custom event in Ads Manager's conversion-event dropdown. For rule-based Custom Conversions use `customConversionId` instead. | [optional] |
|
|
9
10
|
| **page_id** | **String** | Facebook Page ID. Used by `goal: lead_generation`. Auto-filled from the connected Page when omitted. | [optional] |
|
|
10
11
|
| **application_id** | **String** | App ID. Required for `goal: app_promotion`. | [optional] |
|
|
11
12
|
| **object_store_url** | **String** | App Store / Play Store listing URL. Required for `goal: app_promotion`. | [optional] |
|
|
@@ -23,6 +24,7 @@ require 'zernio-sdk'
|
|
|
23
24
|
instance = Zernio::CreateStandaloneAdRequestPromotedObject.new(
|
|
24
25
|
pixel_id: null,
|
|
25
26
|
custom_event_type: null,
|
|
27
|
+
custom_event_str: null,
|
|
26
28
|
page_id: null,
|
|
27
29
|
application_id: null,
|
|
28
30
|
object_store_url: null,
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
| **reply_markup** | [**SendInboxMessageRequestReplyMarkup**](SendInboxMessageRequestReplyMarkup.md) | | [optional] |
|
|
19
19
|
| **messaging_type** | **String** | Facebook messaging type. Required when using messageTag. | [optional] |
|
|
20
20
|
| **message_tag** | **String** | Facebook message tag for messaging outside 24h window. Requires messagingType MESSAGE_TAG. Instagram only supports HUMAN_AGENT. | [optional] |
|
|
21
|
-
| **reply_to** | **String** | Platform message ID to quote-reply to. For WhatsApp, pass the wamid (available in message.platformMessageId from webhooks).
|
|
21
|
+
| **reply_to** | **String** | Platform message ID to quote-reply to. For WhatsApp, pass the wamid; for Telegram, the Telegram message ID; for Instagram, the Meta mid (all available in message.platformMessageId from webhooks or the list-messages endpoint). On Slack it threads the reply (thread_ts) instead of quoting. Silently ignored on platforms without reply support, including Facebook Messenger (Meta's Messenger Send API has no reply_to). | [optional] |
|
|
22
22
|
| **location** | [**SendInboxMessageRequestLocation**](SendInboxMessageRequestLocation.md) | | [optional] |
|
|
23
23
|
| **contacts** | [**Array<SendInboxMessageRequestContactsInner>**](SendInboxMessageRequestContactsInner.md) | WhatsApp-only. Send one or more contact cards. | [optional] |
|
|
24
24
|
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **pixel_id** | **String** | | [optional] |
|
|
8
8
|
| **custom_event_type** | **String** | | [optional] |
|
|
9
|
+
| **custom_event_str** | **String** | Pixel custom-event name (custom_event_str); requires customEventType OTHER. Same pairing rules as /v1/ads/create. | [optional] |
|
|
9
10
|
| **page_id** | **String** | | [optional] |
|
|
10
11
|
| **application_id** | **String** | | [optional] |
|
|
11
12
|
| **object_store_url** | **String** | | [optional] |
|
|
@@ -23,6 +24,7 @@ require 'zernio-sdk'
|
|
|
23
24
|
instance = Zernio::UpdateAdSetRequestPlatformSpecificDataPromotedObject.new(
|
|
24
25
|
pixel_id: null,
|
|
25
26
|
custom_event_type: null,
|
|
27
|
+
custom_event_str: null,
|
|
26
28
|
page_id: null,
|
|
27
29
|
application_id: null,
|
|
28
30
|
object_store_url: null,
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **quoted_message_id** | **String** | platformMessageId of the message this one is a quote-reply to. WhatsApp (`context.id`), Instagram and Facebook Messenger (`reply_to.mid`). On `message.sent` echoes (operator replied from the native app) this is the only metadata field populated. | [optional] |
|
|
7
8
|
| **quick_reply_payload** | **String** | Payload from a quick reply tap (Facebook/Instagram Messenger). | [optional] |
|
|
8
9
|
| **postback_payload** | **String** | Payload from a postback button tap (Facebook/Instagram Messenger). | [optional] |
|
|
9
10
|
| **postback_title** | **String** | Title of the tapped postback button (Facebook/Instagram Messenger). | [optional] |
|
|
@@ -27,6 +28,7 @@
|
|
|
27
28
|
require 'zernio-sdk'
|
|
28
29
|
|
|
29
30
|
instance = Zernio::WebhookPayloadMessageMetadata.new(
|
|
31
|
+
quoted_message_id: null,
|
|
30
32
|
quick_reply_payload: null,
|
|
31
33
|
postback_payload: null,
|
|
32
34
|
postback_title: null,
|
|
@@ -32,7 +32,7 @@ module Zernio
|
|
|
32
32
|
|
|
33
33
|
attr_accessor :tracking
|
|
34
34
|
|
|
35
|
-
# Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform. **Meta** - `conversions`: OUTCOME_SALES. Requires `promotedObject.pixelId` and `promotedObject.customEventType` with a commerce event such as PURCHASE or START_TRIAL, or `promotedObject.customConversionId` to optimise against a Custom Conversion
|
|
35
|
+
# Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform. **Meta** - `conversions`: OUTCOME_SALES. Requires `promotedObject.pixelId` and `promotedObject.customEventType` with a commerce event such as PURCHASE or START_TRIAL, or `promotedObject.customConversionId` to optimise against a Custom Conversion, or `customEventType: OTHER` + `customEventStr` to optimise against a pixel custom event. - `lead_conversion`: OUTCOME_LEADS optimizing website pixel leads. Same pixel and event fields, but with a leads-class event such as LEAD, SUBMIT_APPLICATION, SCHEDULE or CONTACT (or `promotedObject.customConversionId` to optimise against a Custom Conversion instead). Meta gates conversion events by objective, so leads-class events are rejected under `conversions`. - `lead_generation`: OUTCOME_LEADS with instant forms. Requires `leadGenFormId`. `promotedObject.pageId` is optional and auto-filled from the connected Page. - `app_promotion`: requires `promotedObject.applicationId` and `promotedObject.objectStoreUrl`. - `catalog_sales`: Advantage+ catalog ads, for example vehicle inventory. Requires `promotedObject.productSetId`, `promotedObject.pixelId` and `promotedObject.customEventType`. Builds a catalog TEMPLATE creative from the copy fields, which may carry template tags like {{product.name}} or {{vehicle.make}}. No imageUrl or video is sent; Meta renders the visuals per catalog item. Discover catalogs via GET /v1/ads/catalogs and product sets via GET /v1/ads/catalogs/{catalogId}/product-sets. Single shape only, no creatives[], adSetId, dynamicCreative or placementAssets. **TikTok** - `conversions`: website-conversion ad group. Requires `promotedObject.pixelId`, your TikTok Pixel ID. Accepts an optional `promotedObject.customEventType` with a TikTok optimization_event code your pixel tracks (newer pixels use e.g. SHOPPING for purchase events; legacy pixels use ON_WEB_ORDER, INITIATE_ORDER, ON_WEB_REGISTER or FORM). To inherit pixel and event from an existing ad group, pass `adSetId` instead. **LinkedIn** - `engagement`, `traffic`, `awareness` and `video_views` create standalone Direct Sponsored Content ads. `traffic` requires `linkUrl`; `video_views` requires `video`. - `job_applicants` requires a `platformSpecificData.jobs` creative. - For `lead_generation` or `conversions` on LinkedIn, or to promote an existing post, use POST /v1/ads/boost. **OpenAI Ads** - Only `traffic`, `awareness`, and `conversions` are supported (other goals return 400). Maps to OpenAI's `bidding_type` (clicks, impressions, conversions respectively). `conversions` requires an active conversion event setting on the account; create a tracking tag with `defaultEventType` via the tracking-tags API (`POST /v1/accounts/{accountId}/tracking-tags`), or configure a conversion event in OpenAI Ads Manager, or the request returns 422.
|
|
36
36
|
attr_accessor :goal
|
|
37
37
|
|
|
38
38
|
# Meta only. Explicit ad-set `optimization_goal` (e.g. `LANDING_PAGE_VIEWS`, `LINK_CLICKS`, `REACH`, `IMPRESSIONS`, `OFFSITE_CONVERSIONS`, `THRUPLAY`, `LEAD_GENERATION`). Overrides the default derived from `goal` (e.g. `traffic` defaults to `LINK_CLICKS`). Forwarded verbatim to Meta, which validates compatibility with the campaign objective and rejects incompatible combinations.
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
|
-
# What the ad optimises against. Behaviour depends on the platform. **Meta**: forwarded to the ad set's `promoted_object` (snake-cased). Required for goals whose ad-set optimization_goal points at a specific event/page/app (without it Meta rejects the ad-set create with `error_subcode: 1815430` \"Please select a promoted object for your ad set\"): - `goal: conversions` / `lead_conversion` (OFFSITE_CONVERSIONS): requires `pixelId` + `customEventType`, or `customConversionId` when optimising against a Custom Conversion (the conversion carries its own event definition) - `goal: app_promotion` (APP_INSTALLS): requires `applicationId` + `objectStoreUrl` - `goal: lead_generation` (LEAD_GENERATION): `pageId` is auto-filled from the connected Page when omitted Other Meta goals (engagement, traffic, awareness, video_views) ignore this field. **TikTok**: only `goal: conversions` uses it. - `pixelId` maps to the ad group's `pixel_id`. Required: a TikTok website-conversion ad group without a pixel is rejected with `40002: Please select a pixel`. - `customEventType` maps to the ad group's `optimization_event` (the pixel event to optimise for). Optional: TikTok accepts a pixel-only auto-bid conversion ad group. See the `customEventType` field below for the valid TikTok codes. The remaining `promotedObject.*` fields are Meta-only. Platforms other than Meta and TikTok ignore `promotedObject` entirely.
|
|
17
|
+
# What the ad optimises against. Behaviour depends on the platform. **Meta**: forwarded to the ad set's `promoted_object` (snake-cased). Required for goals whose ad-set optimization_goal points at a specific event/page/app (without it Meta rejects the ad-set create with `error_subcode: 1815430` \"Please select a promoted object for your ad set\"): - `goal: conversions` / `lead_conversion` (OFFSITE_CONVERSIONS): requires `pixelId` + `customEventType`, or `customConversionId` when optimising against a Custom Conversion (the conversion carries its own event definition). For a pixel CUSTOM event (one you named yourself in CAPI/Events Manager), send `customEventType: OTHER` + `customEventStr` with the event name. - `goal: app_promotion` (APP_INSTALLS): requires `applicationId` + `objectStoreUrl` - `goal: lead_generation` (LEAD_GENERATION): `pageId` is auto-filled from the connected Page when omitted Other Meta goals (engagement, traffic, awareness, video_views) ignore this field. **TikTok**: only `goal: conversions` uses it. - `pixelId` maps to the ad group's `pixel_id`. Required: a TikTok website-conversion ad group without a pixel is rejected with `40002: Please select a pixel`. - `customEventType` maps to the ad group's `optimization_event` (the pixel event to optimise for). Optional: TikTok accepts a pixel-only auto-bid conversion ad group. See the `customEventType` field below for the valid TikTok codes. The remaining `promotedObject.*` fields are Meta-only. Platforms other than Meta and TikTok ignore `promotedObject` entirely.
|
|
18
18
|
class CreateStandaloneAdRequestPromotedObject < ApiModelBase
|
|
19
19
|
# Pixel ID. **Meta:** Facebook Pixel ID, required for `goal: conversions`. **TikTok:** TikTok Pixel ID, required for `goal: conversions`. To discover the pixels an ad account can use, call `GET /v1/accounts/{accountId}/tracking-tags?adAccountId=act_...` (each entry carries `kind` and `ownerAdAccountId`), or `GET /v1/accounts/{accountId}/conversion-destinations`. Note this is a different resource from `GET /v1/ads/{adId}/tracking-tags`, which reads an ad's click-URL params (`url_tags`), not pixels.
|
|
20
20
|
attr_accessor :pixel_id
|
|
@@ -22,6 +22,9 @@ module Zernio
|
|
|
22
22
|
# The event the campaign/ad group optimises against. **Meta:** standard event like `PURCHASE`, `LEAD`, `COMPLETE_REGISTRATION`, `ADD_TO_CART`. Uppercased internally so callers can pass any case. Required for `goal: conversions`. **TikTok:** an `optimization_event` code (UPPER_SNAKE, not Meta's vocabulary and not PascalCase), OR the exact event name shown in TikTok Events Manager (auto-resolved to its code). Must be one of the event types your TikTok Pixel tracks; custom events are not optimizable. Current taxonomy: `SHOPPING` (Purchase), `ON_WEB_CART` (Add to Cart), `INITIATE_ORDER` (Initiate Checkout), `FORM` (Lead), `ON_WEB_REGISTER` (Complete Registration), `ON_WEB_DETAIL` (View Content). `ON_WEB_ORDER` is deprecated. On rejection the error lists the event types your pixel actually tracks. Optional for `goal: conversions`.
|
|
23
23
|
attr_accessor :custom_event_type
|
|
24
24
|
|
|
25
|
+
# Meta only. Pixel custom-event name to optimise against (Meta's `custom_event_str`), exactly as it appears in Events Manager and in your CAPI payloads (case-sensitive, not uppercased). Requires `customEventType: OTHER`, and `OTHER` requires this field (400 either way). The same as picking a custom event in Ads Manager's conversion-event dropdown. For rule-based Custom Conversions use `customConversionId` instead.
|
|
26
|
+
attr_accessor :custom_event_str
|
|
27
|
+
|
|
25
28
|
# Facebook Page ID. Used by `goal: lead_generation`. Auto-filled from the connected Page when omitted.
|
|
26
29
|
attr_accessor :page_id
|
|
27
30
|
|
|
@@ -51,6 +54,7 @@ module Zernio
|
|
|
51
54
|
{
|
|
52
55
|
:'pixel_id' => :'pixelId',
|
|
53
56
|
:'custom_event_type' => :'customEventType',
|
|
57
|
+
:'custom_event_str' => :'customEventStr',
|
|
54
58
|
:'page_id' => :'pageId',
|
|
55
59
|
:'application_id' => :'applicationId',
|
|
56
60
|
:'object_store_url' => :'objectStoreUrl',
|
|
@@ -77,6 +81,7 @@ module Zernio
|
|
|
77
81
|
{
|
|
78
82
|
:'pixel_id' => :'String',
|
|
79
83
|
:'custom_event_type' => :'String',
|
|
84
|
+
:'custom_event_str' => :'String',
|
|
80
85
|
:'page_id' => :'String',
|
|
81
86
|
:'application_id' => :'String',
|
|
82
87
|
:'object_store_url' => :'String',
|
|
@@ -118,6 +123,10 @@ module Zernio
|
|
|
118
123
|
self.custom_event_type = attributes[:'custom_event_type']
|
|
119
124
|
end
|
|
120
125
|
|
|
126
|
+
if attributes.key?(:'custom_event_str')
|
|
127
|
+
self.custom_event_str = attributes[:'custom_event_str']
|
|
128
|
+
end
|
|
129
|
+
|
|
121
130
|
if attributes.key?(:'page_id')
|
|
122
131
|
self.page_id = attributes[:'page_id']
|
|
123
132
|
end
|
|
@@ -173,6 +182,7 @@ module Zernio
|
|
|
173
182
|
self.class == o.class &&
|
|
174
183
|
pixel_id == o.pixel_id &&
|
|
175
184
|
custom_event_type == o.custom_event_type &&
|
|
185
|
+
custom_event_str == o.custom_event_str &&
|
|
176
186
|
page_id == o.page_id &&
|
|
177
187
|
application_id == o.application_id &&
|
|
178
188
|
object_store_url == o.object_store_url &&
|
|
@@ -192,7 +202,7 @@ module Zernio
|
|
|
192
202
|
# Calculates hash code according to all attributes.
|
|
193
203
|
# @return [Integer] Hash code
|
|
194
204
|
def hash
|
|
195
|
-
[pixel_id, custom_event_type, page_id, application_id, object_store_url, custom_conversion_id, product_catalog_id, product_set_id, offline_conversion_data_set_id, whatsapp_phone_number].hash
|
|
205
|
+
[pixel_id, custom_event_type, custom_event_str, page_id, application_id, object_store_url, custom_conversion_id, product_catalog_id, product_set_id, offline_conversion_data_set_id, whatsapp_phone_number].hash
|
|
196
206
|
end
|
|
197
207
|
|
|
198
208
|
# Builds the object from hash
|
|
@@ -54,7 +54,7 @@ module Zernio
|
|
|
54
54
|
# Facebook message tag for messaging outside 24h window. Requires messagingType MESSAGE_TAG. Instagram only supports HUMAN_AGENT.
|
|
55
55
|
attr_accessor :message_tag
|
|
56
56
|
|
|
57
|
-
# Platform message ID to quote-reply to. For WhatsApp, pass the wamid (available in message.platformMessageId from webhooks).
|
|
57
|
+
# Platform message ID to quote-reply to. For WhatsApp, pass the wamid; for Telegram, the Telegram message ID; for Instagram, the Meta mid (all available in message.platformMessageId from webhooks or the list-messages endpoint). On Slack it threads the reply (thread_ts) instead of quoting. Silently ignored on platforms without reply support, including Facebook Messenger (Meta's Messenger Send API has no reply_to).
|
|
58
58
|
attr_accessor :reply_to
|
|
59
59
|
|
|
60
60
|
attr_accessor :location
|
|
@@ -20,6 +20,9 @@ module Zernio
|
|
|
20
20
|
|
|
21
21
|
attr_accessor :custom_event_type
|
|
22
22
|
|
|
23
|
+
# Pixel custom-event name (custom_event_str); requires customEventType OTHER. Same pairing rules as /v1/ads/create.
|
|
24
|
+
attr_accessor :custom_event_str
|
|
25
|
+
|
|
23
26
|
attr_accessor :page_id
|
|
24
27
|
|
|
25
28
|
attr_accessor :application_id
|
|
@@ -41,6 +44,7 @@ module Zernio
|
|
|
41
44
|
{
|
|
42
45
|
:'pixel_id' => :'pixelId',
|
|
43
46
|
:'custom_event_type' => :'customEventType',
|
|
47
|
+
:'custom_event_str' => :'customEventStr',
|
|
44
48
|
:'page_id' => :'pageId',
|
|
45
49
|
:'application_id' => :'applicationId',
|
|
46
50
|
:'object_store_url' => :'objectStoreUrl',
|
|
@@ -67,6 +71,7 @@ module Zernio
|
|
|
67
71
|
{
|
|
68
72
|
:'pixel_id' => :'String',
|
|
69
73
|
:'custom_event_type' => :'String',
|
|
74
|
+
:'custom_event_str' => :'String',
|
|
70
75
|
:'page_id' => :'String',
|
|
71
76
|
:'application_id' => :'String',
|
|
72
77
|
:'object_store_url' => :'String',
|
|
@@ -108,6 +113,10 @@ module Zernio
|
|
|
108
113
|
self.custom_event_type = attributes[:'custom_event_type']
|
|
109
114
|
end
|
|
110
115
|
|
|
116
|
+
if attributes.key?(:'custom_event_str')
|
|
117
|
+
self.custom_event_str = attributes[:'custom_event_str']
|
|
118
|
+
end
|
|
119
|
+
|
|
111
120
|
if attributes.key?(:'page_id')
|
|
112
121
|
self.page_id = attributes[:'page_id']
|
|
113
122
|
end
|
|
@@ -163,6 +172,7 @@ module Zernio
|
|
|
163
172
|
self.class == o.class &&
|
|
164
173
|
pixel_id == o.pixel_id &&
|
|
165
174
|
custom_event_type == o.custom_event_type &&
|
|
175
|
+
custom_event_str == o.custom_event_str &&
|
|
166
176
|
page_id == o.page_id &&
|
|
167
177
|
application_id == o.application_id &&
|
|
168
178
|
object_store_url == o.object_store_url &&
|
|
@@ -182,7 +192,7 @@ module Zernio
|
|
|
182
192
|
# Calculates hash code according to all attributes.
|
|
183
193
|
# @return [Integer] Hash code
|
|
184
194
|
def hash
|
|
185
|
-
[pixel_id, custom_event_type, page_id, application_id, object_store_url, custom_conversion_id, product_catalog_id, product_set_id, offline_conversion_data_set_id, whatsapp_phone_number].hash
|
|
195
|
+
[pixel_id, custom_event_type, custom_event_str, page_id, application_id, object_store_url, custom_conversion_id, product_catalog_id, product_set_id, offline_conversion_data_set_id, whatsapp_phone_number].hash
|
|
186
196
|
end
|
|
187
197
|
|
|
188
198
|
# Builds the object from hash
|
|
@@ -14,8 +14,11 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
|
-
#
|
|
17
|
+
# Platform-specific message context (present when the message is a quick reply tap, postback button tap, inline keyboard callback, or a quote-reply to an earlier message)
|
|
18
18
|
class WebhookPayloadMessageMetadata < ApiModelBase
|
|
19
|
+
# platformMessageId of the message this one is a quote-reply to. WhatsApp (`context.id`), Instagram and Facebook Messenger (`reply_to.mid`). On `message.sent` echoes (operator replied from the native app) this is the only metadata field populated.
|
|
20
|
+
attr_accessor :quoted_message_id
|
|
21
|
+
|
|
19
22
|
# Payload from a quick reply tap (Facebook/Instagram Messenger).
|
|
20
23
|
attr_accessor :quick_reply_payload
|
|
21
24
|
|
|
@@ -85,6 +88,7 @@ module Zernio
|
|
|
85
88
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
86
89
|
def self.attribute_map
|
|
87
90
|
{
|
|
91
|
+
:'quoted_message_id' => :'quotedMessageId',
|
|
88
92
|
:'quick_reply_payload' => :'quickReplyPayload',
|
|
89
93
|
:'postback_payload' => :'postbackPayload',
|
|
90
94
|
:'postback_title' => :'postbackTitle',
|
|
@@ -117,6 +121,7 @@ module Zernio
|
|
|
117
121
|
# Attribute type mapping.
|
|
118
122
|
def self.openapi_types
|
|
119
123
|
{
|
|
124
|
+
:'quoted_message_id' => :'String',
|
|
120
125
|
:'quick_reply_payload' => :'String',
|
|
121
126
|
:'postback_payload' => :'String',
|
|
122
127
|
:'postback_title' => :'String',
|
|
@@ -158,6 +163,10 @@ module Zernio
|
|
|
158
163
|
h[k.to_sym] = v
|
|
159
164
|
}
|
|
160
165
|
|
|
166
|
+
if attributes.key?(:'quoted_message_id')
|
|
167
|
+
self.quoted_message_id = attributes[:'quoted_message_id']
|
|
168
|
+
end
|
|
169
|
+
|
|
161
170
|
if attributes.key?(:'quick_reply_payload')
|
|
162
171
|
self.quick_reply_payload = attributes[:'quick_reply_payload']
|
|
163
172
|
end
|
|
@@ -271,6 +280,7 @@ module Zernio
|
|
|
271
280
|
def ==(o)
|
|
272
281
|
return true if self.equal?(o)
|
|
273
282
|
self.class == o.class &&
|
|
283
|
+
quoted_message_id == o.quoted_message_id &&
|
|
274
284
|
quick_reply_payload == o.quick_reply_payload &&
|
|
275
285
|
postback_payload == o.postback_payload &&
|
|
276
286
|
postback_title == o.postback_title &&
|
|
@@ -298,7 +308,7 @@ module Zernio
|
|
|
298
308
|
# Calculates hash code according to all attributes.
|
|
299
309
|
# @return [Integer] Hash code
|
|
300
310
|
def hash
|
|
301
|
-
[quick_reply_payload, postback_payload, postback_title, callback_data, interactive_type, interactive_id, button_payload, flow_response_json, flow_response_data, order, referred_product, contacts, contacts_origin, story_reply, is_story_mention, referral].hash
|
|
311
|
+
[quoted_message_id, quick_reply_payload, postback_payload, postback_title, callback_data, interactive_type, interactive_id, button_payload, flow_response_json, flow_response_data, order, referred_product, contacts, contacts_origin, story_reply, is_story_mention, referral].hash
|
|
302
312
|
end
|
|
303
313
|
|
|
304
314
|
# Builds the object from hash
|
data/lib/zernio-sdk/version.rb
CHANGED
data/openapi.yaml
CHANGED
|
@@ -3342,8 +3342,15 @@ components:
|
|
|
3342
3342
|
$ref: '#/components/schemas/InboxWebhookAccount'
|
|
3343
3343
|
metadata:
|
|
3344
3344
|
type: [object, "null"]
|
|
3345
|
-
description:
|
|
3345
|
+
description: 'Platform-specific message context (present when the message is a quick reply tap, postback button tap, inline keyboard callback, or a quote-reply to an earlier message)'
|
|
3346
3346
|
properties:
|
|
3347
|
+
quotedMessageId:
|
|
3348
|
+
type: string
|
|
3349
|
+
description: |
|
|
3350
|
+
platformMessageId of the message this one is a quote-reply to.
|
|
3351
|
+
WhatsApp (`context.id`), Instagram and Facebook Messenger
|
|
3352
|
+
(`reply_to.mid`). On `message.sent` echoes (operator replied
|
|
3353
|
+
from the native app) this is the only metadata field populated.
|
|
3347
3354
|
quickReplyPayload:
|
|
3348
3355
|
type: string
|
|
3349
3356
|
description: Payload from a quick reply tap (Facebook/Instagram Messenger).
|
|
@@ -24475,7 +24482,7 @@ paths:
|
|
|
24475
24482
|
description: Facebook message tag for messaging outside 24h window. Requires messagingType MESSAGE_TAG. Instagram only supports HUMAN_AGENT.
|
|
24476
24483
|
replyTo:
|
|
24477
24484
|
type: string
|
|
24478
|
-
description: Platform message ID to quote-reply to. For WhatsApp, pass the wamid (available in message.platformMessageId from webhooks).
|
|
24485
|
+
description: 'Platform message ID to quote-reply to. For WhatsApp, pass the wamid; for Telegram, the Telegram message ID; for Instagram, the Meta mid (all available in message.platformMessageId from webhooks or the list-messages endpoint). On Slack it threads the reply (thread_ts) instead of quoting. Silently ignored on platforms without reply support, including Facebook Messenger (Meta''s Messenger Send API has no reply_to).'
|
|
24479
24486
|
location:
|
|
24480
24487
|
type: object
|
|
24481
24488
|
description: WhatsApp-only. Send a location pin.
|
|
@@ -24544,7 +24551,7 @@ paths:
|
|
|
24544
24551
|
description: Message tag (requires messagingType MESSAGE_TAG)
|
|
24545
24552
|
replyTo:
|
|
24546
24553
|
type: string
|
|
24547
|
-
description: Platform message ID to quote-reply to. For WhatsApp, pass the wamid (available in message.platformMessageId from webhooks).
|
|
24554
|
+
description: 'Platform message ID to quote-reply to. For WhatsApp, pass the wamid; for Telegram, the Telegram message ID; for Instagram, the Meta mid (all available in message.platformMessageId from webhooks or the list-messages endpoint). On Slack it threads the reply (thread_ts) instead of quoting. Silently ignored on platforms without reply support, including Facebook Messenger (Meta''s Messenger Send API has no reply_to).'
|
|
24548
24555
|
voiceNote:
|
|
24549
24556
|
type: string
|
|
24550
24557
|
enum: ['true']
|
|
@@ -36793,6 +36800,7 @@ paths:
|
|
|
36793
36800
|
properties:
|
|
36794
36801
|
pixelId: { type: string }
|
|
36795
36802
|
customEventType: { type: string }
|
|
36803
|
+
customEventStr: { type: string, description: 'Pixel custom-event name (custom_event_str); requires customEventType OTHER. Same pairing rules as /v1/ads/create.' }
|
|
36796
36804
|
pageId: { type: string }
|
|
36797
36805
|
applicationId: { type: string }
|
|
36798
36806
|
objectStoreUrl: { type: string }
|
|
@@ -39322,7 +39330,7 @@ paths:
|
|
|
39322
39330
|
Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform.
|
|
39323
39331
|
|
|
39324
39332
|
**Meta**
|
|
39325
|
-
- `conversions`: OUTCOME_SALES. Requires `promotedObject.pixelId` and `promotedObject.customEventType` with a commerce event such as PURCHASE or START_TRIAL, or `promotedObject.customConversionId` to optimise against a Custom Conversion
|
|
39333
|
+
- `conversions`: OUTCOME_SALES. Requires `promotedObject.pixelId` and `promotedObject.customEventType` with a commerce event such as PURCHASE or START_TRIAL, or `promotedObject.customConversionId` to optimise against a Custom Conversion, or `customEventType: OTHER` + `customEventStr` to optimise against a pixel custom event.
|
|
39326
39334
|
- `lead_conversion`: OUTCOME_LEADS optimizing website pixel leads. Same pixel and event fields, but with a leads-class event such as LEAD, SUBMIT_APPLICATION, SCHEDULE or CONTACT (or `promotedObject.customConversionId` to optimise against a Custom Conversion instead). Meta gates conversion events by objective, so leads-class events are rejected under `conversions`.
|
|
39327
39335
|
- `lead_generation`: OUTCOME_LEADS with instant forms. Requires `leadGenFormId`. `promotedObject.pageId` is optional and auto-filled from the connected Page.
|
|
39328
39336
|
- `app_promotion`: requires `promotedObject.applicationId` and `promotedObject.objectStoreUrl`.
|
|
@@ -40016,7 +40024,7 @@ paths:
|
|
|
40016
40024
|
Required for goals whose ad-set optimization_goal points at a specific
|
|
40017
40025
|
event/page/app (without it Meta rejects the ad-set create with
|
|
40018
40026
|
`error_subcode: 1815430` "Please select a promoted object for your ad set"):
|
|
40019
|
-
- `goal: conversions` / `lead_conversion` (OFFSITE_CONVERSIONS): requires `pixelId` + `customEventType`, or `customConversionId` when optimising against a Custom Conversion (the conversion carries its own event definition)
|
|
40027
|
+
- `goal: conversions` / `lead_conversion` (OFFSITE_CONVERSIONS): requires `pixelId` + `customEventType`, or `customConversionId` when optimising against a Custom Conversion (the conversion carries its own event definition). For a pixel CUSTOM event (one you named yourself in CAPI/Events Manager), send `customEventType: OTHER` + `customEventStr` with the event name.
|
|
40020
40028
|
- `goal: app_promotion` (APP_INSTALLS): requires `applicationId` + `objectStoreUrl`
|
|
40021
40029
|
- `goal: lead_generation` (LEAD_GENERATION): `pageId` is auto-filled from the connected Page when omitted
|
|
40022
40030
|
|
|
@@ -40061,6 +40069,16 @@ paths:
|
|
|
40061
40069
|
Registration), `ON_WEB_DETAIL` (View Content). `ON_WEB_ORDER` is
|
|
40062
40070
|
deprecated. On rejection the error lists the event types your pixel
|
|
40063
40071
|
actually tracks. Optional for `goal: conversions`.
|
|
40072
|
+
customEventStr:
|
|
40073
|
+
type: string
|
|
40074
|
+
description: |
|
|
40075
|
+
Meta only. Pixel custom-event name to optimise against (Meta's
|
|
40076
|
+
`custom_event_str`), exactly as it appears in Events Manager and in your
|
|
40077
|
+
CAPI payloads (case-sensitive, not uppercased). Requires
|
|
40078
|
+
`customEventType: OTHER`, and `OTHER` requires this field (400 either way).
|
|
40079
|
+
The same as picking a custom event in Ads Manager's conversion-event
|
|
40080
|
+
dropdown. For rule-based Custom Conversions use `customConversionId`
|
|
40081
|
+
instead.
|
|
40064
40082
|
pageId:
|
|
40065
40083
|
type: string
|
|
40066
40084
|
description: |
|
|
@@ -39,6 +39,12 @@ describe Zernio::CreateStandaloneAdRequestPromotedObject do
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
describe 'test attribute "custom_event_str"' 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
|
+
|
|
42
48
|
describe 'test attribute "page_id"' do
|
|
43
49
|
it 'should work' do
|
|
44
50
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -39,6 +39,12 @@ describe Zernio::UpdateAdSetRequestPlatformSpecificDataPromotedObject do
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
describe 'test attribute "custom_event_str"' 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
|
+
|
|
42
48
|
describe 'test attribute "page_id"' do
|
|
43
49
|
it 'should work' do
|
|
44
50
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -27,6 +27,12 @@ describe Zernio::WebhookPayloadMessageMetadata do
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
+
describe 'test attribute "quoted_message_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 "quick_reply_payload"' do
|
|
31
37
|
it 'should work' do
|
|
32
38
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: late-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.679
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -4985,7 +4985,7 @@ files:
|
|
|
4985
4985
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
4986
4986
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
4987
4987
|
- spec/spec_helper.rb
|
|
4988
|
-
- zernio-sdk-0.0.
|
|
4988
|
+
- zernio-sdk-0.0.679.gem
|
|
4989
4989
|
- zernio-sdk.gemspec
|
|
4990
4990
|
homepage: https://openapi-generator.tech
|
|
4991
4991
|
licenses:
|
data/zernio-sdk-0.0.677.gem
DELETED
|
Binary file
|