zernio-sdk 0.0.544 → 0.0.545
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/README.md +52 -3
- data/docs/AdAudiencesApi.md +5 -5
- data/docs/AdCampaignsApi.md +142 -0
- data/docs/AdsApi.md +795 -37
- data/docs/CreateAdCampaign201Response.md +24 -0
- data/docs/CreateAdCampaignRequest.md +32 -0
- data/docs/CreateAdCreative201Response.md +20 -0
- data/docs/CreateAdCreativeRequest.md +40 -0
- data/docs/CreateAdCreativeRequestCarouselCardsInner.md +26 -0
- data/docs/CreateSmsSenderId200Response.md +22 -0
- data/docs/CreateSmsSenderIdRequest.md +18 -0
- data/docs/CreateStandaloneAd200Response.md +22 -0
- data/docs/CreateStandaloneAd200ResponseResultsInner.md +22 -0
- data/docs/CreateStandaloneAdRequest.md +4 -0
- data/docs/DeleteAdCreative200Response.md +20 -0
- data/docs/DeleteSmsSenderId200Response.md +18 -0
- data/docs/DiscordApi.md +153 -1
- data/docs/{ListDiscordGuildMembers200ResponseDataInner.md → DiscordGuildMember.md} +3 -3
- data/docs/{ListDiscordGuildMembers200ResponseDataInnerUser.md → DiscordGuildMemberUser.md} +2 -2
- data/docs/DuplicateAd200Response.md +22 -0
- data/docs/DuplicateAdRequest.md +28 -0
- data/docs/DuplicateAdSet200Response.md +22 -0
- data/docs/DuplicateAdSetRequest.md +36 -0
- data/docs/GetAdCreative200Response.md +18 -0
- data/docs/GetDiscordGuildMember200Response.md +18 -0
- data/docs/ListAdCreatives200Response.md +22 -0
- data/docs/ListAdImages200Response.md +22 -0
- data/docs/ListAdLabels200Response.md +22 -0
- data/docs/ListDiscordGuildMembers200Response.md +1 -1
- data/docs/ListHighDemandPeriods200Response.md +22 -0
- data/docs/ListMetaBusinesses200Response.md +20 -0
- data/docs/ListSmsSenderIds200Response.md +20 -0
- data/docs/ListSmsSenderIds200ResponseBudget.md +24 -0
- data/docs/ListSmsSenderIds200ResponseBudgetPendingRequest.md +22 -0
- data/docs/ListSmsSenderIds200ResponseSenderIdsInner.md +24 -0
- data/docs/RequestSmsSenderIdLimitIncrease200Response.md +20 -0
- data/docs/RequestSmsSenderIdLimitIncreaseRequest.md +20 -0
- data/docs/SMSApi.md +275 -0
- data/docs/SearchDiscordGuildMembers200Response.md +18 -0
- data/docs/UpdateAdCreative200Response.md +22 -0
- data/docs/UpdateAdCreativeRequest.md +20 -0
- data/lib/zernio-sdk/api/ad_audiences_api.rb +4 -4
- data/lib/zernio-sdk/api/ad_campaigns_api.rb +142 -0
- data/lib/zernio-sdk/api/ads_api.rb +829 -51
- data/lib/zernio-sdk/api/discord_api.rb +174 -2
- data/lib/zernio-sdk/api/sms_api.rb +254 -0
- data/lib/zernio-sdk/models/create_ad_campaign201_response.rb +210 -0
- data/lib/zernio-sdk/models/create_ad_campaign_request.rb +343 -0
- data/lib/zernio-sdk/models/create_ad_creative201_response.rb +157 -0
- data/lib/zernio-sdk/models/create_ad_creative_request.rb +424 -0
- data/lib/zernio-sdk/models/create_ad_creative_request_carousel_cards_inner.rb +255 -0
- data/lib/zernio-sdk/models/create_sms_sender_id200_response.rb +166 -0
- data/lib/zernio-sdk/models/create_sms_sender_id_request.rb +183 -0
- data/lib/zernio-sdk/models/create_standalone_ad200_response.rb +201 -0
- data/lib/zernio-sdk/models/create_standalone_ad200_response_results_inner.rb +212 -0
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +23 -1
- data/lib/zernio-sdk/models/delete_ad_creative200_response.rb +156 -0
- data/lib/zernio-sdk/models/delete_sms_sender_id200_response.rb +147 -0
- data/lib/zernio-sdk/models/{list_discord_guild_members200_response_data_inner.rb → discord_guild_member.rb} +5 -4
- data/lib/zernio-sdk/models/{list_discord_guild_members200_response_data_inner_user.rb → discord_guild_member_user.rb} +3 -3
- data/lib/zernio-sdk/models/duplicate_ad200_response.rb +200 -0
- data/lib/zernio-sdk/models/duplicate_ad_request.rb +243 -0
- data/lib/zernio-sdk/models/duplicate_ad_set200_response.rb +201 -0
- data/lib/zernio-sdk/models/duplicate_ad_set_request.rb +302 -0
- data/lib/zernio-sdk/models/get_ad_creative200_response.rb +148 -0
- data/lib/zernio-sdk/models/get_discord_guild_member200_response.rb +147 -0
- data/lib/zernio-sdk/models/list_ad_creatives200_response.rb +167 -0
- data/lib/zernio-sdk/models/list_ad_images200_response.rb +167 -0
- data/lib/zernio-sdk/models/list_ad_labels200_response.rb +167 -0
- data/lib/zernio-sdk/models/list_discord_guild_members200_response.rb +1 -1
- data/lib/zernio-sdk/models/list_high_demand_periods200_response.rb +168 -0
- data/lib/zernio-sdk/models/list_meta_businesses200_response.rb +158 -0
- data/lib/zernio-sdk/models/list_sms_sender_ids200_response.rb +158 -0
- data/lib/zernio-sdk/models/list_sms_sender_ids200_response_budget.rb +178 -0
- data/lib/zernio-sdk/models/list_sms_sender_ids200_response_budget_pending_request.rb +167 -0
- data/lib/zernio-sdk/models/list_sms_sender_ids200_response_sender_ids_inner.rb +175 -0
- data/lib/zernio-sdk/models/request_sms_sender_id_limit_increase200_response.rb +156 -0
- data/lib/zernio-sdk/models/request_sms_sender_id_limit_increase_request.rb +210 -0
- data/lib/zernio-sdk/models/search_discord_guild_members200_response.rb +149 -0
- data/lib/zernio-sdk/models/update_ad_creative200_response.rb +165 -0
- data/lib/zernio-sdk/models/update_ad_creative_request.rb +200 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +33 -2
- data/openapi.yaml +740 -27
- data/spec/api/ad_audiences_api_spec.rb +2 -2
- data/spec/api/ad_campaigns_api_spec.rb +25 -0
- data/spec/api/ads_api_spec.rb +143 -1
- data/spec/api/discord_api_spec.rb +30 -1
- data/spec/api/sms_api_spec.rb +46 -0
- data/spec/models/create_ad_campaign201_response_spec.rb +58 -0
- data/spec/models/create_ad_campaign_request_spec.rb +94 -0
- data/spec/models/create_ad_creative201_response_spec.rb +42 -0
- data/spec/models/create_ad_creative_request_carousel_cards_inner_spec.rb +60 -0
- data/spec/models/create_ad_creative_request_spec.rb +106 -0
- data/spec/models/create_sms_sender_id200_response_spec.rb +48 -0
- data/spec/models/create_sms_sender_id_request_spec.rb +36 -0
- data/spec/models/create_standalone_ad200_response_results_inner_spec.rb +56 -0
- data/spec/models/create_standalone_ad200_response_spec.rb +52 -0
- data/spec/models/create_standalone_ad_request_spec.rb +16 -0
- data/spec/models/delete_ad_creative200_response_spec.rb +42 -0
- data/spec/models/delete_sms_sender_id200_response_spec.rb +36 -0
- data/spec/models/{list_discord_guild_members200_response_data_inner_spec.rb → discord_guild_member_spec.rb} +6 -6
- data/spec/models/{list_discord_guild_members200_response_data_inner_user_spec.rb → discord_guild_member_user_spec.rb} +6 -6
- data/spec/models/duplicate_ad200_response_spec.rb +52 -0
- data/spec/models/duplicate_ad_request_spec.rb +74 -0
- data/spec/models/duplicate_ad_set200_response_spec.rb +52 -0
- data/spec/models/duplicate_ad_set_request_spec.rb +102 -0
- data/spec/models/get_ad_creative200_response_spec.rb +36 -0
- data/spec/models/get_discord_guild_member200_response_spec.rb +36 -0
- data/spec/models/list_ad_creatives200_response_spec.rb +48 -0
- data/spec/models/list_ad_images200_response_spec.rb +48 -0
- data/spec/models/list_ad_labels200_response_spec.rb +48 -0
- data/spec/models/list_high_demand_periods200_response_spec.rb +48 -0
- data/spec/models/list_meta_businesses200_response_spec.rb +42 -0
- data/spec/models/list_sms_sender_ids200_response_budget_pending_request_spec.rb +48 -0
- data/spec/models/list_sms_sender_ids200_response_budget_spec.rb +54 -0
- data/spec/models/list_sms_sender_ids200_response_sender_ids_inner_spec.rb +54 -0
- data/spec/models/list_sms_sender_ids200_response_spec.rb +42 -0
- data/spec/models/request_sms_sender_id_limit_increase200_response_spec.rb +42 -0
- data/spec/models/request_sms_sender_id_limit_increase_request_spec.rb +42 -0
- data/spec/models/search_discord_guild_members200_response_spec.rb +36 -0
- data/spec/models/update_ad_creative200_response_spec.rb +48 -0
- data/spec/models/update_ad_creative_request_spec.rb +42 -0
- metadata +133 -9
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Zernio::CreateAdCampaign201Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **ad_account_id** | **String** | | [optional] |
|
|
8
|
+
| **campaign_id** | **String** | Platform id of the new campaign | [optional] |
|
|
9
|
+
| **objective** | **String** | Resolved ODAX objective (e.g. OUTCOME_SALES). | [optional] |
|
|
10
|
+
| **status** | **String** | | [optional] |
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
require 'zernio-sdk'
|
|
16
|
+
|
|
17
|
+
instance = Zernio::CreateAdCampaign201Response.new(
|
|
18
|
+
ad_account_id: null,
|
|
19
|
+
campaign_id: null,
|
|
20
|
+
objective: null,
|
|
21
|
+
status: null
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Zernio::CreateAdCampaignRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
|
|
8
|
+
| **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
|
|
9
|
+
| **name** | **String** | | |
|
|
10
|
+
| **goal** | **String** | Mapped to the ODAX objective (same mapping as POST /v1/ads/create). | |
|
|
11
|
+
| **special_ad_categories** | **Array<String>** | | [optional] |
|
|
12
|
+
| **budget_amount** | **Float** | Campaign-level (CBO) budget in whole currency units. Requires budgetType. | [optional] |
|
|
13
|
+
| **budget_type** | **String** | | [optional] |
|
|
14
|
+
| **status** | **String** | | [optional][default to 'PAUSED'] |
|
|
15
|
+
|
|
16
|
+
## Example
|
|
17
|
+
|
|
18
|
+
```ruby
|
|
19
|
+
require 'zernio-sdk'
|
|
20
|
+
|
|
21
|
+
instance = Zernio::CreateAdCampaignRequest.new(
|
|
22
|
+
account_id: null,
|
|
23
|
+
ad_account_id: null,
|
|
24
|
+
name: null,
|
|
25
|
+
goal: null,
|
|
26
|
+
special_ad_categories: null,
|
|
27
|
+
budget_amount: null,
|
|
28
|
+
budget_type: null,
|
|
29
|
+
status: null
|
|
30
|
+
)
|
|
31
|
+
```
|
|
32
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Zernio::CreateAdCreative201Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **ad_account_id** | **String** | | [optional] |
|
|
8
|
+
| **creative_id** | **String** | Platform creative id, reusable via existingCreativeId. | [optional] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'zernio-sdk'
|
|
14
|
+
|
|
15
|
+
instance = Zernio::CreateAdCreative201Response.new(
|
|
16
|
+
ad_account_id: null,
|
|
17
|
+
creative_id: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Zernio::CreateAdCreativeRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token and Page. | |
|
|
8
|
+
| **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
|
|
9
|
+
| **headline** | **String** | | |
|
|
10
|
+
| **body** | **String** | Primary text | |
|
|
11
|
+
| **description** | **String** | Link description below the headline; omitted = Meta scrapes the destination's OG description. | [optional] |
|
|
12
|
+
| **call_to_action** | **String** | CTA type (same whitelist as POST /v1/ads/create). | [optional][default to 'LEARN_MORE'] |
|
|
13
|
+
| **link_url** | **String** | | |
|
|
14
|
+
| **image_url** | **String** | Publicly reachable image; uploaded to the account's library server-side. | [optional] |
|
|
15
|
+
| **image_hash** | **String** | Existing library image hash (POST /v1/ads/images or GET /v1/ads/images). | [optional] |
|
|
16
|
+
| **carousel_cards** | [**Array<CreateAdCreativeRequestCarouselCardsInner>**](CreateAdCreativeRequestCarouselCardsInner.md) | | [optional] |
|
|
17
|
+
| **url_tags** | **String** | Appended to every outbound URL (e.g. utm_source=fb). | [optional] |
|
|
18
|
+
| **creative_features** | **Hash<String, String>** | Advantage+ creative enhancements: partial map of Meta creative feature keys (snake_case) to enroll status, forwarded as degrees_of_freedom_spec.creative_features_spec. Unspecified features default to OPT_OUT. | [optional] |
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
```ruby
|
|
23
|
+
require 'zernio-sdk'
|
|
24
|
+
|
|
25
|
+
instance = Zernio::CreateAdCreativeRequest.new(
|
|
26
|
+
account_id: null,
|
|
27
|
+
ad_account_id: null,
|
|
28
|
+
headline: null,
|
|
29
|
+
body: null,
|
|
30
|
+
description: null,
|
|
31
|
+
call_to_action: null,
|
|
32
|
+
link_url: null,
|
|
33
|
+
image_url: null,
|
|
34
|
+
image_hash: null,
|
|
35
|
+
carousel_cards: null,
|
|
36
|
+
url_tags: null,
|
|
37
|
+
creative_features: null
|
|
38
|
+
)
|
|
39
|
+
```
|
|
40
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Zernio::CreateAdCreativeRequestCarouselCardsInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **image_url** | **String** | | |
|
|
8
|
+
| **link_url** | **String** | | |
|
|
9
|
+
| **headline** | **String** | | [optional] |
|
|
10
|
+
| **description** | **String** | | [optional] |
|
|
11
|
+
| **call_to_action** | **String** | | [optional] |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'zernio-sdk'
|
|
17
|
+
|
|
18
|
+
instance = Zernio::CreateAdCreativeRequestCarouselCardsInner.new(
|
|
19
|
+
image_url: null,
|
|
20
|
+
link_url: null,
|
|
21
|
+
headline: null,
|
|
22
|
+
description: null,
|
|
23
|
+
call_to_action: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Zernio::CreateSmsSenderId200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | Sender ID resource id. | [optional] |
|
|
8
|
+
| **sender_id** | **String** | | [optional] |
|
|
9
|
+
| **is_active** | **Boolean** | | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'zernio-sdk'
|
|
15
|
+
|
|
16
|
+
instance = Zernio::CreateSmsSenderId200Response.new(
|
|
17
|
+
id: null,
|
|
18
|
+
sender_id: null,
|
|
19
|
+
is_active: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Zernio::CreateSmsSenderIdRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **sender_id** | **String** | The sender ID recipients will see (3-11 letters/digits/spaces, at least one letter, no leading/trailing space). | |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'zernio-sdk'
|
|
13
|
+
|
|
14
|
+
instance = Zernio::CreateSmsSenderIdRequest.new(
|
|
15
|
+
sender_id: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Zernio::CreateStandaloneAd200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **validate_only** | **Boolean** | | [optional] |
|
|
8
|
+
| **results** | [**Array<CreateStandaloneAd200ResponseResultsInner>**](CreateStandaloneAd200ResponseResultsInner.md) | | [optional] |
|
|
9
|
+
| **message** | **String** | | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'zernio-sdk'
|
|
15
|
+
|
|
16
|
+
instance = Zernio::CreateStandaloneAd200Response.new(
|
|
17
|
+
validate_only: null,
|
|
18
|
+
results: null,
|
|
19
|
+
message: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Zernio::CreateStandaloneAd200ResponseResultsInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **node** | **String** | | [optional] |
|
|
8
|
+
| **status** | **String** | | [optional] |
|
|
9
|
+
| **reason** | **String** | Why the node could not be validated (only on skipped). | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'zernio-sdk'
|
|
15
|
+
|
|
16
|
+
instance = Zernio::CreateStandaloneAd200ResponseResultsInner.new(
|
|
17
|
+
node: null,
|
|
18
|
+
status: null,
|
|
19
|
+
reason: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -16,6 +16,8 @@
|
|
|
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] |
|
|
18
18
|
| **rf_prediction_id** | **String** | Meta only. The RESERVED prediction id the R&F ad set runs on (reserving mints a new id — pass that one). Requires buyingType RESERVED. | [optional] |
|
|
19
|
+
| **creative_features** | **Hash<String, String>** | Meta only. Advantage+ creative enhancements: a partial map of Meta creative feature keys (snake_case, e.g. enhance_cta, image_brightness_and_contrast, text_optimizations) to enroll status, forwarded as degrees_of_freedom_spec.creative_features_spec. Meta validates the keys; unspecified features default to OPT_OUT. The legacy standard_enhancements bundle is deprecated by Meta and rejected. | [optional] |
|
|
20
|
+
| **validate_only** | **Boolean** | Meta only, single standalone shape only (no creatives[], adSetId, or RESERVED). Dry-run: each node runs Meta's execution_options validate_only and NOTHING is created or persisted. Children need real parents, so a fresh tree validates the campaign + creative (the ad set needs its campaign to exist — pass existingCampaignId to validate it too; the ad itself is never validatable pre-create). A Meta validation failure returns the 400 verbatim; success returns 200 with per-node results instead of an ad. | [optional] |
|
|
19
21
|
| **budget_amount** | **Float** | Required on legacy + multi-creative shapes. Inherited on attach. | [optional] |
|
|
20
22
|
| **budget_type** | **String** | Required on legacy + multi-creative shapes. Inherited on attach. | [optional] |
|
|
21
23
|
| **status** | **String** | Meta and TikTok. Publish state of the created entities. Omitted or ACTIVE publishes live (default, back-compat); PAUSED creates them paused and skips activation, so you can review before they spend. On TikTok the whole campaign > ad group > ad hierarchy stays paused. | [optional] |
|
|
@@ -97,6 +99,8 @@ instance = Zernio::CreateStandaloneAdRequest.new(
|
|
|
97
99
|
billing_event: null,
|
|
98
100
|
buying_type: null,
|
|
99
101
|
rf_prediction_id: null,
|
|
102
|
+
creative_features: null,
|
|
103
|
+
validate_only: null,
|
|
100
104
|
budget_amount: null,
|
|
101
105
|
budget_type: null,
|
|
102
106
|
status: null,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Zernio::DeleteAdCreative200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **creative_id** | **String** | | [optional] |
|
|
8
|
+
| **message** | **String** | | [optional] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'zernio-sdk'
|
|
14
|
+
|
|
15
|
+
instance = Zernio::DeleteAdCreative200Response.new(
|
|
16
|
+
creative_id: null,
|
|
17
|
+
message: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Zernio::DeleteSmsSenderId200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **deleted** | **Boolean** | | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'zernio-sdk'
|
|
13
|
+
|
|
14
|
+
instance = Zernio::DeleteSmsSenderId200Response.new(
|
|
15
|
+
deleted: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
data/docs/DiscordApi.md
CHANGED
|
@@ -14,6 +14,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
14
14
|
| [**delete_discord_scheduled_event**](DiscordApi.md#delete_discord_scheduled_event) | **DELETE** /v1/discord/guilds/{guildId}/events/{eventId} | Delete a Discord scheduled event |
|
|
15
15
|
| [**edit_discord_guild_role**](DiscordApi.md#edit_discord_guild_role) | **PATCH** /v1/discord/guilds/{guildId}/roles/{roleId} | Edit a Discord guild role |
|
|
16
16
|
| [**get_discord_channels**](DiscordApi.md#get_discord_channels) | **GET** /v1/accounts/{accountId}/discord-channels | List Discord guild channels |
|
|
17
|
+
| [**get_discord_guild_member**](DiscordApi.md#get_discord_guild_member) | **GET** /v1/discord/guilds/{guildId}/members/{userId} | Get a Discord guild member |
|
|
17
18
|
| [**get_discord_scheduled_event**](DiscordApi.md#get_discord_scheduled_event) | **GET** /v1/discord/guilds/{guildId}/events/{eventId} | Get a Discord scheduled event |
|
|
18
19
|
| [**get_discord_settings**](DiscordApi.md#get_discord_settings) | **GET** /v1/accounts/{accountId}/discord-settings | Get Discord account settings |
|
|
19
20
|
| [**list_discord_guild_members**](DiscordApi.md#list_discord_guild_members) | **GET** /v1/discord/guilds/{guildId}/members | List Discord guild members |
|
|
@@ -22,6 +23,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
22
23
|
| [**list_discord_scheduled_events**](DiscordApi.md#list_discord_scheduled_events) | **GET** /v1/discord/guilds/{guildId}/events | List Discord scheduled events |
|
|
23
24
|
| [**pin_discord_message**](DiscordApi.md#pin_discord_message) | **PUT** /v1/discord/channels/{channelId}/pins/{messageId} | Pin a Discord message |
|
|
24
25
|
| [**remove_discord_member_role**](DiscordApi.md#remove_discord_member_role) | **DELETE** /v1/discord/guilds/{guildId}/members/{userId}/roles/{roleId} | Remove a role from a guild member |
|
|
26
|
+
| [**search_discord_guild_members**](DiscordApi.md#search_discord_guild_members) | **GET** /v1/discord/guilds/{guildId}/members/search | Search Discord guild members |
|
|
25
27
|
| [**send_discord_direct_message**](DiscordApi.md#send_discord_direct_message) | **POST** /v1/discord/dms | Send a Discord Direct Message |
|
|
26
28
|
| [**unpin_discord_message**](DiscordApi.md#unpin_discord_message) | **DELETE** /v1/discord/channels/{channelId}/pins/{messageId} | Unpin a Discord message |
|
|
27
29
|
| [**update_discord_scheduled_event**](DiscordApi.md#update_discord_scheduled_event) | **PATCH** /v1/discord/guilds/{guildId}/events/{eventId} | Update a Discord scheduled event |
|
|
@@ -756,6 +758,79 @@ end
|
|
|
756
758
|
- **Accept**: application/json
|
|
757
759
|
|
|
758
760
|
|
|
761
|
+
## get_discord_guild_member
|
|
762
|
+
|
|
763
|
+
> <GetDiscordGuildMember200Response> get_discord_guild_member(guild_id, user_id, account_id)
|
|
764
|
+
|
|
765
|
+
Get a Discord guild member
|
|
766
|
+
|
|
767
|
+
Fetch a single guild member by Discord user id. Does not require the privileged Server Members Intent, so this works even where the full member listing returns 403.
|
|
768
|
+
|
|
769
|
+
### Examples
|
|
770
|
+
|
|
771
|
+
```ruby
|
|
772
|
+
require 'time'
|
|
773
|
+
require 'zernio-sdk'
|
|
774
|
+
# setup authorization
|
|
775
|
+
Zernio.configure do |config|
|
|
776
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
777
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
778
|
+
end
|
|
779
|
+
|
|
780
|
+
api_instance = Zernio::DiscordApi.new
|
|
781
|
+
guild_id = 'guild_id_example' # String |
|
|
782
|
+
user_id = 'user_id_example' # String | Discord user snowflake.
|
|
783
|
+
account_id = 'account_id_example' # String |
|
|
784
|
+
|
|
785
|
+
begin
|
|
786
|
+
# Get a Discord guild member
|
|
787
|
+
result = api_instance.get_discord_guild_member(guild_id, user_id, account_id)
|
|
788
|
+
p result
|
|
789
|
+
rescue Zernio::ApiError => e
|
|
790
|
+
puts "Error when calling DiscordApi->get_discord_guild_member: #{e}"
|
|
791
|
+
end
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
#### Using the get_discord_guild_member_with_http_info variant
|
|
795
|
+
|
|
796
|
+
This returns an Array which contains the response data, status code and headers.
|
|
797
|
+
|
|
798
|
+
> <Array(<GetDiscordGuildMember200Response>, Integer, Hash)> get_discord_guild_member_with_http_info(guild_id, user_id, account_id)
|
|
799
|
+
|
|
800
|
+
```ruby
|
|
801
|
+
begin
|
|
802
|
+
# Get a Discord guild member
|
|
803
|
+
data, status_code, headers = api_instance.get_discord_guild_member_with_http_info(guild_id, user_id, account_id)
|
|
804
|
+
p status_code # => 2xx
|
|
805
|
+
p headers # => { ... }
|
|
806
|
+
p data # => <GetDiscordGuildMember200Response>
|
|
807
|
+
rescue Zernio::ApiError => e
|
|
808
|
+
puts "Error when calling DiscordApi->get_discord_guild_member_with_http_info: #{e}"
|
|
809
|
+
end
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
### Parameters
|
|
813
|
+
|
|
814
|
+
| Name | Type | Description | Notes |
|
|
815
|
+
| ---- | ---- | ----------- | ----- |
|
|
816
|
+
| **guild_id** | **String** | | |
|
|
817
|
+
| **user_id** | **String** | Discord user snowflake. | |
|
|
818
|
+
| **account_id** | **String** | | |
|
|
819
|
+
|
|
820
|
+
### Return type
|
|
821
|
+
|
|
822
|
+
[**GetDiscordGuildMember200Response**](GetDiscordGuildMember200Response.md)
|
|
823
|
+
|
|
824
|
+
### Authorization
|
|
825
|
+
|
|
826
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
827
|
+
|
|
828
|
+
### HTTP request headers
|
|
829
|
+
|
|
830
|
+
- **Content-Type**: Not defined
|
|
831
|
+
- **Accept**: application/json
|
|
832
|
+
|
|
833
|
+
|
|
759
834
|
## get_discord_scheduled_event
|
|
760
835
|
|
|
761
836
|
> <CreateDiscordScheduledEvent200Response> get_discord_scheduled_event(guild_id, event_id, account_id)
|
|
@@ -902,7 +977,7 @@ end
|
|
|
902
977
|
|
|
903
978
|
List Discord guild members
|
|
904
979
|
|
|
905
|
-
Cursor-paginated list of guild members. Returns Discord's raw member objects so callers can build community-ops automation (e.g. \"add role to all members joined in the last 7 days\") on the actual platform shape. **Important:** this endpoint requires the privileged \"Server Members Intent\"
|
|
980
|
+
Cursor-paginated list of guild members. Returns Discord's raw member objects so callers can build community-ops automation (e.g. \"add role to all members joined in the last 7 days\") on the actual platform shape. **Important:** this endpoint requires the privileged \"Server Members Intent\" on the Discord application. If the intent is not enabled, Discord rejects the call and this endpoint returns **403**. Single member lookup and prefix search (see the sibling endpoints) do not need the intent. Pagination: pass `after` = the last `user.id` from the previous page. Omit on the first call. Response includes a `nextCursor` and `hasMore` flag so callers don't need to know Discord's pagination shape.
|
|
906
981
|
|
|
907
982
|
### Examples
|
|
908
983
|
|
|
@@ -1338,6 +1413,83 @@ end
|
|
|
1338
1413
|
- **Accept**: application/json
|
|
1339
1414
|
|
|
1340
1415
|
|
|
1416
|
+
## search_discord_guild_members
|
|
1417
|
+
|
|
1418
|
+
> <SearchDiscordGuildMembers200Response> search_discord_guild_members(guild_id, account_id, query, opts)
|
|
1419
|
+
|
|
1420
|
+
Search Discord guild members
|
|
1421
|
+
|
|
1422
|
+
Search guild members whose username or nickname **starts with** the query (Discord matches prefixes only, not substrings). Does not require the privileged Server Members Intent, so this works even where the full member listing returns 403.
|
|
1423
|
+
|
|
1424
|
+
### Examples
|
|
1425
|
+
|
|
1426
|
+
```ruby
|
|
1427
|
+
require 'time'
|
|
1428
|
+
require 'zernio-sdk'
|
|
1429
|
+
# setup authorization
|
|
1430
|
+
Zernio.configure do |config|
|
|
1431
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
1432
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
1433
|
+
end
|
|
1434
|
+
|
|
1435
|
+
api_instance = Zernio::DiscordApi.new
|
|
1436
|
+
guild_id = 'guild_id_example' # String |
|
|
1437
|
+
account_id = 'account_id_example' # String |
|
|
1438
|
+
query = 'query_example' # String | Username or nickname prefix to match.
|
|
1439
|
+
opts = {
|
|
1440
|
+
limit: 56 # Integer |
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
begin
|
|
1444
|
+
# Search Discord guild members
|
|
1445
|
+
result = api_instance.search_discord_guild_members(guild_id, account_id, query, opts)
|
|
1446
|
+
p result
|
|
1447
|
+
rescue Zernio::ApiError => e
|
|
1448
|
+
puts "Error when calling DiscordApi->search_discord_guild_members: #{e}"
|
|
1449
|
+
end
|
|
1450
|
+
```
|
|
1451
|
+
|
|
1452
|
+
#### Using the search_discord_guild_members_with_http_info variant
|
|
1453
|
+
|
|
1454
|
+
This returns an Array which contains the response data, status code and headers.
|
|
1455
|
+
|
|
1456
|
+
> <Array(<SearchDiscordGuildMembers200Response>, Integer, Hash)> search_discord_guild_members_with_http_info(guild_id, account_id, query, opts)
|
|
1457
|
+
|
|
1458
|
+
```ruby
|
|
1459
|
+
begin
|
|
1460
|
+
# Search Discord guild members
|
|
1461
|
+
data, status_code, headers = api_instance.search_discord_guild_members_with_http_info(guild_id, account_id, query, opts)
|
|
1462
|
+
p status_code # => 2xx
|
|
1463
|
+
p headers # => { ... }
|
|
1464
|
+
p data # => <SearchDiscordGuildMembers200Response>
|
|
1465
|
+
rescue Zernio::ApiError => e
|
|
1466
|
+
puts "Error when calling DiscordApi->search_discord_guild_members_with_http_info: #{e}"
|
|
1467
|
+
end
|
|
1468
|
+
```
|
|
1469
|
+
|
|
1470
|
+
### Parameters
|
|
1471
|
+
|
|
1472
|
+
| Name | Type | Description | Notes |
|
|
1473
|
+
| ---- | ---- | ----------- | ----- |
|
|
1474
|
+
| **guild_id** | **String** | | |
|
|
1475
|
+
| **account_id** | **String** | | |
|
|
1476
|
+
| **query** | **String** | Username or nickname prefix to match. | |
|
|
1477
|
+
| **limit** | **Integer** | | [optional][default to 25] |
|
|
1478
|
+
|
|
1479
|
+
### Return type
|
|
1480
|
+
|
|
1481
|
+
[**SearchDiscordGuildMembers200Response**](SearchDiscordGuildMembers200Response.md)
|
|
1482
|
+
|
|
1483
|
+
### Authorization
|
|
1484
|
+
|
|
1485
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
1486
|
+
|
|
1487
|
+
### HTTP request headers
|
|
1488
|
+
|
|
1489
|
+
- **Content-Type**: Not defined
|
|
1490
|
+
- **Accept**: application/json
|
|
1491
|
+
|
|
1492
|
+
|
|
1341
1493
|
## send_discord_direct_message
|
|
1342
1494
|
|
|
1343
1495
|
> <SendDiscordDirectMessage200Response> send_discord_direct_message(send_discord_direct_message_request)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Zernio::
|
|
1
|
+
# Zernio::DiscordGuildMember
|
|
2
2
|
|
|
3
3
|
## Properties
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **user** | [**
|
|
7
|
+
| **user** | [**DiscordGuildMemberUser**](DiscordGuildMemberUser.md) | | [optional] |
|
|
8
8
|
| **nick** | **String** | Guild-specific nickname | [optional] |
|
|
9
9
|
| **roles** | **Array<String>** | Snowflake IDs of roles assigned to this member | [optional] |
|
|
10
10
|
| **joined_at** | **Time** | | [optional] |
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
```ruby
|
|
16
16
|
require 'zernio-sdk'
|
|
17
17
|
|
|
18
|
-
instance = Zernio::
|
|
18
|
+
instance = Zernio::DiscordGuildMember.new(
|
|
19
19
|
user: null,
|
|
20
20
|
nick: null,
|
|
21
21
|
roles: null,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Zernio::
|
|
1
|
+
# Zernio::DiscordGuildMemberUser
|
|
2
2
|
|
|
3
3
|
## Properties
|
|
4
4
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
```ruby
|
|
16
16
|
require 'zernio-sdk'
|
|
17
17
|
|
|
18
|
-
instance = Zernio::
|
|
18
|
+
instance = Zernio::DiscordGuildMemberUser.new(
|
|
19
19
|
id: null,
|
|
20
20
|
username: null,
|
|
21
21
|
discriminator: null,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Zernio::DuplicateAd200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **copied_ad_id** | **String** | Platform ID of the new ad | [optional] |
|
|
8
|
+
| **discovery** | **String** | | [optional] |
|
|
9
|
+
| **raw** | **Object** | | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'zernio-sdk'
|
|
15
|
+
|
|
16
|
+
instance = Zernio::DuplicateAd200Response.new(
|
|
17
|
+
copied_ad_id: null,
|
|
18
|
+
discovery: null,
|
|
19
|
+
raw: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Zernio::DuplicateAdRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **ad_set_id** | **String** | Destination platform ad set id (defaults to the source's ad set) | [optional] |
|
|
8
|
+
| **status_option** | **String** | | [optional][default to 'PAUSED'] |
|
|
9
|
+
| **rename_strategy** | **String** | | [optional] |
|
|
10
|
+
| **rename_prefix** | **String** | | [optional] |
|
|
11
|
+
| **rename_suffix** | **String** | | [optional] |
|
|
12
|
+
| **sync_after** | **Boolean** | | [optional][default to true] |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'zernio-sdk'
|
|
18
|
+
|
|
19
|
+
instance = Zernio::DuplicateAdRequest.new(
|
|
20
|
+
ad_set_id: null,
|
|
21
|
+
status_option: null,
|
|
22
|
+
rename_strategy: null,
|
|
23
|
+
rename_prefix: null,
|
|
24
|
+
rename_suffix: null,
|
|
25
|
+
sync_after: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Zernio::DuplicateAdSet200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **copied_ad_set_id** | **String** | Platform ID of the new ad set | [optional] |
|
|
8
|
+
| **discovery** | **String** | | [optional] |
|
|
9
|
+
| **raw** | **Object** | Meta's native copy response (includes ad_object_ids for child copies) | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'zernio-sdk'
|
|
15
|
+
|
|
16
|
+
instance = Zernio::DuplicateAdSet200Response.new(
|
|
17
|
+
copied_ad_set_id: null,
|
|
18
|
+
discovery: null,
|
|
19
|
+
raw: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Zernio::DuplicateAdSetRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **platform** | **String** | | |
|
|
8
|
+
| **campaign_id** | **String** | Destination platform campaign id (defaults to the source's campaign) | [optional] |
|
|
9
|
+
| **deep_copy** | **Boolean** | Copy child ads + creatives | [optional][default to true] |
|
|
10
|
+
| **status_option** | **String** | | [optional][default to 'PAUSED'] |
|
|
11
|
+
| **start_time** | **Time** | Reschedule the copy's start time | [optional] |
|
|
12
|
+
| **end_time** | **Time** | | [optional] |
|
|
13
|
+
| **rename_strategy** | **String** | | [optional] |
|
|
14
|
+
| **rename_prefix** | **String** | | [optional] |
|
|
15
|
+
| **rename_suffix** | **String** | | [optional] |
|
|
16
|
+
| **sync_after** | **Boolean** | | [optional][default to true] |
|
|
17
|
+
|
|
18
|
+
## Example
|
|
19
|
+
|
|
20
|
+
```ruby
|
|
21
|
+
require 'zernio-sdk'
|
|
22
|
+
|
|
23
|
+
instance = Zernio::DuplicateAdSetRequest.new(
|
|
24
|
+
platform: null,
|
|
25
|
+
campaign_id: null,
|
|
26
|
+
deep_copy: null,
|
|
27
|
+
status_option: null,
|
|
28
|
+
start_time: null,
|
|
29
|
+
end_time: null,
|
|
30
|
+
rename_strategy: null,
|
|
31
|
+
rename_prefix: null,
|
|
32
|
+
rename_suffix: null,
|
|
33
|
+
sync_after: null
|
|
34
|
+
)
|
|
35
|
+
```
|
|
36
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Zernio::GetAdCreative200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **creative** | **Object** | Raw Meta creative node | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'zernio-sdk'
|
|
13
|
+
|
|
14
|
+
instance = Zernio::GetAdCreative200Response.new(
|
|
15
|
+
creative: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Zernio::GetDiscordGuildMember200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **data** | [**DiscordGuildMember**](DiscordGuildMember.md) | | [optional] |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'zernio-sdk'
|
|
13
|
+
|
|
14
|
+
instance = Zernio::GetDiscordGuildMember200Response.new(
|
|
15
|
+
data: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|