late-sdk 0.0.931 → 0.0.933
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 +4 -0
- data/docs/ConnectApi.md +140 -0
- data/docs/GetPageWebhookSubscription200Response.md +26 -0
- data/docs/PlatformTarget.md +1 -1
- data/docs/ResyncPageWebhookSubscription200Response.md +28 -0
- data/lib/zernio-sdk/api/connect_api.rb +126 -0
- data/lib/zernio-sdk/models/get_page_webhook_subscription200_response.rb +189 -0
- data/lib/zernio-sdk/models/platform_target.rb +1 -1
- data/lib/zernio-sdk/models/resync_page_webhook_subscription200_response.rb +195 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +2 -0
- data/openapi.yaml +68 -1
- data/spec/api/connect_api_spec.rb +24 -0
- data/spec/models/get_page_webhook_subscription200_response_spec.rb +60 -0
- data/spec/models/resync_page_webhook_subscription200_response_spec.rb +66 -0
- data/zernio-sdk-0.0.933.gem +0 -0
- metadata +10 -2
- data/zernio-sdk-0.0.931.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: 577f60080523c601a6cad0ac41d3bc547398ee2ae7b293796635aa3fbb70e48d
|
|
4
|
+
data.tar.gz: 07d828c29fe8d4bc2061eb7c51e3054822fc8cefdbb16bd1d7e567e393e56606
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 55905f243f15ac2e7e68f229b5b37f329f36495913cb5bb0ea84780c6ce553db881005273ce28292031f4c81c67fe8e6bc749bdb1c60efc201360e3fd1277f75
|
|
7
|
+
data.tar.gz: c38cb22921b12adae3179f4197f05d8b7e8ac8df9a5757458217d0a629252e9164919033315c668b2f624b3268eaf88fc16812b4f32bd94187c0abf043dc3588
|
data/README.md
CHANGED
|
@@ -383,6 +383,7 @@ Class | Method | HTTP request | Description
|
|
|
383
383
|
*Zernio::ConnectApi* | [**get_facebook_pages**](docs/ConnectApi.md#get_facebook_pages) | **GET** /v1/accounts/{accountId}/facebook-page | List Facebook pages
|
|
384
384
|
*Zernio::ConnectApi* | [**get_gmb_locations**](docs/ConnectApi.md#get_gmb_locations) | **GET** /v1/accounts/{accountId}/gmb-locations | List Google Business Profile locations
|
|
385
385
|
*Zernio::ConnectApi* | [**get_linked_in_organizations**](docs/ConnectApi.md#get_linked_in_organizations) | **GET** /v1/accounts/{accountId}/linkedin-organizations | List LinkedIn orgs
|
|
386
|
+
*Zernio::ConnectApi* | [**get_page_webhook_subscription**](docs/ConnectApi.md#get_page_webhook_subscription) | **GET** /v1/accounts/{accountId}/webhook-subscription | Read a Facebook Page's webhook subscription
|
|
386
387
|
*Zernio::ConnectApi* | [**get_pending_o_auth_data**](docs/ConnectApi.md#get_pending_o_auth_data) | **GET** /v1/connect/pending-data | Get pending OAuth data
|
|
387
388
|
*Zernio::ConnectApi* | [**get_pinterest_boards**](docs/ConnectApi.md#get_pinterest_boards) | **GET** /v1/accounts/{accountId}/pinterest-boards | List Pinterest boards
|
|
388
389
|
*Zernio::ConnectApi* | [**get_reddit_flairs**](docs/ConnectApi.md#get_reddit_flairs) | **GET** /v1/accounts/{accountId}/reddit-flairs | List subreddit flairs
|
|
@@ -403,6 +404,7 @@ Class | Method | HTTP request | Description
|
|
|
403
404
|
*Zernio::ConnectApi* | [**list_slack_channels**](docs/ConnectApi.md#list_slack_channels) | **GET** /v1/connect/slack | List Slack channels for the channel picker
|
|
404
405
|
*Zernio::ConnectApi* | [**list_snapchat_profiles**](docs/ConnectApi.md#list_snapchat_profiles) | **GET** /v1/connect/snapchat/select-profile | List Snapchat profiles
|
|
405
406
|
*Zernio::ConnectApi* | [**list_whats_app_phone_numbers**](docs/ConnectApi.md#list_whats_app_phone_numbers) | **GET** /v1/connect/whatsapp/select-phone-number | List numbers for selection
|
|
407
|
+
*Zernio::ConnectApi* | [**resync_page_webhook_subscription**](docs/ConnectApi.md#resync_page_webhook_subscription) | **POST** /v1/accounts/{accountId}/webhook-subscription | Re-subscribe a Facebook Page to Zernio's webhooks
|
|
406
408
|
*Zernio::ConnectApi* | [**select_facebook_page**](docs/ConnectApi.md#select_facebook_page) | **POST** /v1/connect/facebook/select-page | Select Facebook page
|
|
407
409
|
*Zernio::ConnectApi* | [**select_google_business_location**](docs/ConnectApi.md#select_google_business_location) | **POST** /v1/connect/googlebusiness/select-location | Select Google Business Profile location
|
|
408
410
|
*Zernio::ConnectApi* | [**select_instagram_account**](docs/ConnectApi.md#select_instagram_account) | **POST** /v1/connect/instagram/select-account | Select the Page whose Instagram account to connect
|
|
@@ -1568,6 +1570,7 @@ Class | Method | HTTP request | Description
|
|
|
1568
1570
|
- [Zernio::GetMediaPresignedUrlRequest](docs/GetMediaPresignedUrlRequest.md)
|
|
1569
1571
|
- [Zernio::GetMessageAttachment200Response](docs/GetMessageAttachment200Response.md)
|
|
1570
1572
|
- [Zernio::GetMessengerMenu200Response](docs/GetMessengerMenu200Response.md)
|
|
1573
|
+
- [Zernio::GetPageWebhookSubscription200Response](docs/GetPageWebhookSubscription200Response.md)
|
|
1571
1574
|
- [Zernio::GetPendingOAuthData200Response](docs/GetPendingOAuthData200Response.md)
|
|
1572
1575
|
- [Zernio::GetPendingOAuthData200ResponseOrganizationsInner](docs/GetPendingOAuthData200ResponseOrganizationsInner.md)
|
|
1573
1576
|
- [Zernio::GetPhoneNumber200Response](docs/GetPhoneNumber200Response.md)
|
|
@@ -2178,6 +2181,7 @@ Class | Method | HTTP request | Description
|
|
|
2178
2181
|
- [Zernio::RespondToSmsRegistrationReviewRequest](docs/RespondToSmsRegistrationReviewRequest.md)
|
|
2179
2182
|
- [Zernio::RestoreWorkflowVersion200Response](docs/RestoreWorkflowVersion200Response.md)
|
|
2180
2183
|
- [Zernio::RestoreWorkflowVersion200ResponseWorkflow](docs/RestoreWorkflowVersion200ResponseWorkflow.md)
|
|
2184
|
+
- [Zernio::ResyncPageWebhookSubscription200Response](docs/ResyncPageWebhookSubscription200Response.md)
|
|
2181
2185
|
- [Zernio::RetryPost207Response](docs/RetryPost207Response.md)
|
|
2182
2186
|
- [Zernio::RetweetPost200Response](docs/RetweetPost200Response.md)
|
|
2183
2187
|
- [Zernio::RetweetPostRequest](docs/RetweetPostRequest.md)
|
data/docs/ConnectApi.md
CHANGED
|
@@ -22,6 +22,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
22
22
|
| [**get_facebook_pages**](ConnectApi.md#get_facebook_pages) | **GET** /v1/accounts/{accountId}/facebook-page | List Facebook pages |
|
|
23
23
|
| [**get_gmb_locations**](ConnectApi.md#get_gmb_locations) | **GET** /v1/accounts/{accountId}/gmb-locations | List Google Business Profile locations |
|
|
24
24
|
| [**get_linked_in_organizations**](ConnectApi.md#get_linked_in_organizations) | **GET** /v1/accounts/{accountId}/linkedin-organizations | List LinkedIn orgs |
|
|
25
|
+
| [**get_page_webhook_subscription**](ConnectApi.md#get_page_webhook_subscription) | **GET** /v1/accounts/{accountId}/webhook-subscription | Read a Facebook Page's webhook subscription |
|
|
25
26
|
| [**get_pending_o_auth_data**](ConnectApi.md#get_pending_o_auth_data) | **GET** /v1/connect/pending-data | Get pending OAuth data |
|
|
26
27
|
| [**get_pinterest_boards**](ConnectApi.md#get_pinterest_boards) | **GET** /v1/accounts/{accountId}/pinterest-boards | List Pinterest boards |
|
|
27
28
|
| [**get_reddit_flairs**](ConnectApi.md#get_reddit_flairs) | **GET** /v1/accounts/{accountId}/reddit-flairs | List subreddit flairs |
|
|
@@ -42,6 +43,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
42
43
|
| [**list_slack_channels**](ConnectApi.md#list_slack_channels) | **GET** /v1/connect/slack | List Slack channels for the channel picker |
|
|
43
44
|
| [**list_snapchat_profiles**](ConnectApi.md#list_snapchat_profiles) | **GET** /v1/connect/snapchat/select-profile | List Snapchat profiles |
|
|
44
45
|
| [**list_whats_app_phone_numbers**](ConnectApi.md#list_whats_app_phone_numbers) | **GET** /v1/connect/whatsapp/select-phone-number | List numbers for selection |
|
|
46
|
+
| [**resync_page_webhook_subscription**](ConnectApi.md#resync_page_webhook_subscription) | **POST** /v1/accounts/{accountId}/webhook-subscription | Re-subscribe a Facebook Page to Zernio's webhooks |
|
|
45
47
|
| [**select_facebook_page**](ConnectApi.md#select_facebook_page) | **POST** /v1/connect/facebook/select-page | Select Facebook page |
|
|
46
48
|
| [**select_google_business_location**](ConnectApi.md#select_google_business_location) | **POST** /v1/connect/googlebusiness/select-location | Select Google Business Profile location |
|
|
47
49
|
| [**select_instagram_account**](ConnectApi.md#select_instagram_account) | **POST** /v1/connect/instagram/select-account | Select the Page whose Instagram account to connect |
|
|
@@ -1362,6 +1364,75 @@ end
|
|
|
1362
1364
|
- **Accept**: application/json
|
|
1363
1365
|
|
|
1364
1366
|
|
|
1367
|
+
## get_page_webhook_subscription
|
|
1368
|
+
|
|
1369
|
+
> <GetPageWebhookSubscription200Response> get_page_webhook_subscription(account_id)
|
|
1370
|
+
|
|
1371
|
+
Read a Facebook Page's webhook subscription
|
|
1372
|
+
|
|
1373
|
+
Returns the webhook fields Zernio's app is subscribed to on the connected Page, read live from Meta. Use it to confirm `leadgen` is present: a Page missing it keeps delivering every other event while lead ads stop arriving, with nothing to indicate it.
|
|
1374
|
+
|
|
1375
|
+
### Examples
|
|
1376
|
+
|
|
1377
|
+
```ruby
|
|
1378
|
+
require 'time'
|
|
1379
|
+
require 'zernio-sdk'
|
|
1380
|
+
# setup authorization
|
|
1381
|
+
Zernio.configure do |config|
|
|
1382
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
1383
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
1384
|
+
end
|
|
1385
|
+
|
|
1386
|
+
api_instance = Zernio::ConnectApi.new
|
|
1387
|
+
account_id = 'account_id_example' # String |
|
|
1388
|
+
|
|
1389
|
+
begin
|
|
1390
|
+
# Read a Facebook Page's webhook subscription
|
|
1391
|
+
result = api_instance.get_page_webhook_subscription(account_id)
|
|
1392
|
+
p result
|
|
1393
|
+
rescue Zernio::ApiError => e
|
|
1394
|
+
puts "Error when calling ConnectApi->get_page_webhook_subscription: #{e}"
|
|
1395
|
+
end
|
|
1396
|
+
```
|
|
1397
|
+
|
|
1398
|
+
#### Using the get_page_webhook_subscription_with_http_info variant
|
|
1399
|
+
|
|
1400
|
+
This returns an Array which contains the response data, status code and headers.
|
|
1401
|
+
|
|
1402
|
+
> <Array(<GetPageWebhookSubscription200Response>, Integer, Hash)> get_page_webhook_subscription_with_http_info(account_id)
|
|
1403
|
+
|
|
1404
|
+
```ruby
|
|
1405
|
+
begin
|
|
1406
|
+
# Read a Facebook Page's webhook subscription
|
|
1407
|
+
data, status_code, headers = api_instance.get_page_webhook_subscription_with_http_info(account_id)
|
|
1408
|
+
p status_code # => 2xx
|
|
1409
|
+
p headers # => { ... }
|
|
1410
|
+
p data # => <GetPageWebhookSubscription200Response>
|
|
1411
|
+
rescue Zernio::ApiError => e
|
|
1412
|
+
puts "Error when calling ConnectApi->get_page_webhook_subscription_with_http_info: #{e}"
|
|
1413
|
+
end
|
|
1414
|
+
```
|
|
1415
|
+
|
|
1416
|
+
### Parameters
|
|
1417
|
+
|
|
1418
|
+
| Name | Type | Description | Notes |
|
|
1419
|
+
| ---- | ---- | ----------- | ----- |
|
|
1420
|
+
| **account_id** | **String** | | |
|
|
1421
|
+
|
|
1422
|
+
### Return type
|
|
1423
|
+
|
|
1424
|
+
[**GetPageWebhookSubscription200Response**](GetPageWebhookSubscription200Response.md)
|
|
1425
|
+
|
|
1426
|
+
### Authorization
|
|
1427
|
+
|
|
1428
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
1429
|
+
|
|
1430
|
+
### HTTP request headers
|
|
1431
|
+
|
|
1432
|
+
- **Content-Type**: Not defined
|
|
1433
|
+
- **Accept**: application/json
|
|
1434
|
+
|
|
1435
|
+
|
|
1365
1436
|
## get_pending_o_auth_data
|
|
1366
1437
|
|
|
1367
1438
|
> <GetPendingOAuthData200Response> get_pending_o_auth_data(token)
|
|
@@ -2822,6 +2893,75 @@ end
|
|
|
2822
2893
|
- **Accept**: application/json
|
|
2823
2894
|
|
|
2824
2895
|
|
|
2896
|
+
## resync_page_webhook_subscription
|
|
2897
|
+
|
|
2898
|
+
> <ResyncPageWebhookSubscription200Response> resync_page_webhook_subscription(account_id)
|
|
2899
|
+
|
|
2900
|
+
Re-subscribe a Facebook Page to Zernio's webhooks
|
|
2901
|
+
|
|
2902
|
+
Re-sends the full field set to Meta and returns the subscription read back afterwards. Meta only honours the field set sent at subscribe time, so a Page connected before a field existed stays without it until this runs. The response reflects what Meta actually granted, not what was requested.
|
|
2903
|
+
|
|
2904
|
+
### Examples
|
|
2905
|
+
|
|
2906
|
+
```ruby
|
|
2907
|
+
require 'time'
|
|
2908
|
+
require 'zernio-sdk'
|
|
2909
|
+
# setup authorization
|
|
2910
|
+
Zernio.configure do |config|
|
|
2911
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
2912
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
2913
|
+
end
|
|
2914
|
+
|
|
2915
|
+
api_instance = Zernio::ConnectApi.new
|
|
2916
|
+
account_id = 'account_id_example' # String |
|
|
2917
|
+
|
|
2918
|
+
begin
|
|
2919
|
+
# Re-subscribe a Facebook Page to Zernio's webhooks
|
|
2920
|
+
result = api_instance.resync_page_webhook_subscription(account_id)
|
|
2921
|
+
p result
|
|
2922
|
+
rescue Zernio::ApiError => e
|
|
2923
|
+
puts "Error when calling ConnectApi->resync_page_webhook_subscription: #{e}"
|
|
2924
|
+
end
|
|
2925
|
+
```
|
|
2926
|
+
|
|
2927
|
+
#### Using the resync_page_webhook_subscription_with_http_info variant
|
|
2928
|
+
|
|
2929
|
+
This returns an Array which contains the response data, status code and headers.
|
|
2930
|
+
|
|
2931
|
+
> <Array(<ResyncPageWebhookSubscription200Response>, Integer, Hash)> resync_page_webhook_subscription_with_http_info(account_id)
|
|
2932
|
+
|
|
2933
|
+
```ruby
|
|
2934
|
+
begin
|
|
2935
|
+
# Re-subscribe a Facebook Page to Zernio's webhooks
|
|
2936
|
+
data, status_code, headers = api_instance.resync_page_webhook_subscription_with_http_info(account_id)
|
|
2937
|
+
p status_code # => 2xx
|
|
2938
|
+
p headers # => { ... }
|
|
2939
|
+
p data # => <ResyncPageWebhookSubscription200Response>
|
|
2940
|
+
rescue Zernio::ApiError => e
|
|
2941
|
+
puts "Error when calling ConnectApi->resync_page_webhook_subscription_with_http_info: #{e}"
|
|
2942
|
+
end
|
|
2943
|
+
```
|
|
2944
|
+
|
|
2945
|
+
### Parameters
|
|
2946
|
+
|
|
2947
|
+
| Name | Type | Description | Notes |
|
|
2948
|
+
| ---- | ---- | ----------- | ----- |
|
|
2949
|
+
| **account_id** | **String** | | |
|
|
2950
|
+
|
|
2951
|
+
### Return type
|
|
2952
|
+
|
|
2953
|
+
[**ResyncPageWebhookSubscription200Response**](ResyncPageWebhookSubscription200Response.md)
|
|
2954
|
+
|
|
2955
|
+
### Authorization
|
|
2956
|
+
|
|
2957
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
2958
|
+
|
|
2959
|
+
### HTTP request headers
|
|
2960
|
+
|
|
2961
|
+
- **Content-Type**: Not defined
|
|
2962
|
+
- **Accept**: application/json
|
|
2963
|
+
|
|
2964
|
+
|
|
2825
2965
|
## select_facebook_page
|
|
2826
2966
|
|
|
2827
2967
|
> <SelectFacebookPage200Response> select_facebook_page(select_facebook_page_request)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Zernio::GetPageWebhookSubscription200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **page_id** | **String** | | [optional] |
|
|
8
|
+
| **app_subscribed** | **Boolean** | False when the Page carries no subscription for our app at all. | [optional] |
|
|
9
|
+
| **leadgen** | **Boolean** | Whether lead ads submitted on this Page reach Zernio in real time. | [optional] |
|
|
10
|
+
| **subscribed_fields** | **Array<String>** | | [optional] |
|
|
11
|
+
| **warning** | **String** | Present only when leadgen is missing. | [optional] |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'zernio-sdk'
|
|
17
|
+
|
|
18
|
+
instance = Zernio::GetPageWebhookSubscription200Response.new(
|
|
19
|
+
page_id: null,
|
|
20
|
+
app_subscribed: null,
|
|
21
|
+
leadgen: null,
|
|
22
|
+
subscribed_fields: null,
|
|
23
|
+
warning: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
data/docs/PlatformTarget.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
| **is_trial_reel** | **Boolean** | Present and true only when this Instagram reel was launched as a Trial through Zernio (created with platformSpecificData.trialParams). Use it to segment trial reels in analytics. Note: Instagram's Graph API exposes no readable trial field, so this reflects creation-time intent only. It indicates the reel STARTED as a trial, not whether or when it graduated. | [optional] |
|
|
19
19
|
| **trial_graduation_strategy** | **String** | Graduation strategy the trial reel was launched with. Present only when isTrialReel is true. | [optional] |
|
|
20
20
|
| **error_message** | **String** | Human-readable error message when status is failed. Contains platform-specific error details explaining why the publish failed. | [optional] |
|
|
21
|
-
| **error_category** | **String** | Error category for programmatic handling: auth_expired (token expired/revoked), user_content (wrong format/too long), user_abuse (rate limits/spam), account_issue (config problems), platform_rejected (policy violation), platform_error (5xx/maintenance), platform_rate_limit (platform throttling, retried automatically), quota_exhausted (shared
|
|
21
|
+
| **error_category** | **String** | Error category for programmatic handling: auth_expired (token expired/revoked), user_content (wrong format/too long), user_abuse (rate limits/spam), account_issue (config problems), platform_rejected (policy violation), platform_error (5xx/maintenance), platform_rate_limit (platform throttling, retried automatically), quota_exhausted (a shared quota pool the integration draws on is empty, including our own capacity gate in front of one; not caused by your content or account, and safe to retry once the pool frees up), system_error (Zernio infra), unknown | [optional] |
|
|
22
22
|
| **error_source** | **String** | Who caused the error: user (fix content/reconnect), platform (outage/API change), system (Zernio issue, rare) | [optional] |
|
|
23
23
|
|
|
24
24
|
## Example
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Zernio::ResyncPageWebhookSubscription200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **resubscribed** | **Boolean** | | [optional] |
|
|
8
|
+
| **page_id** | **String** | | [optional] |
|
|
9
|
+
| **app_subscribed** | **Boolean** | | [optional] |
|
|
10
|
+
| **leadgen** | **Boolean** | | [optional] |
|
|
11
|
+
| **subscribed_fields** | **Array<String>** | | [optional] |
|
|
12
|
+
| **warning** | **String** | | [optional] |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'zernio-sdk'
|
|
18
|
+
|
|
19
|
+
instance = Zernio::ResyncPageWebhookSubscription200Response.new(
|
|
20
|
+
resubscribed: null,
|
|
21
|
+
page_id: null,
|
|
22
|
+
app_subscribed: null,
|
|
23
|
+
leadgen: null,
|
|
24
|
+
subscribed_fields: null,
|
|
25
|
+
warning: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -1364,6 +1364,69 @@ module Zernio
|
|
|
1364
1364
|
return data, status_code, headers
|
|
1365
1365
|
end
|
|
1366
1366
|
|
|
1367
|
+
# Read a Facebook Page's webhook subscription
|
|
1368
|
+
# Returns the webhook fields Zernio's app is subscribed to on the connected Page, read live from Meta. Use it to confirm `leadgen` is present: a Page missing it keeps delivering every other event while lead ads stop arriving, with nothing to indicate it.
|
|
1369
|
+
# @param account_id [String]
|
|
1370
|
+
# @param [Hash] opts the optional parameters
|
|
1371
|
+
# @return [GetPageWebhookSubscription200Response]
|
|
1372
|
+
def get_page_webhook_subscription(account_id, opts = {})
|
|
1373
|
+
data, _status_code, _headers = get_page_webhook_subscription_with_http_info(account_id, opts)
|
|
1374
|
+
data
|
|
1375
|
+
end
|
|
1376
|
+
|
|
1377
|
+
# Read a Facebook Page's webhook subscription
|
|
1378
|
+
# Returns the webhook fields Zernio's app is subscribed to on the connected Page, read live from Meta. Use it to confirm `leadgen` is present: a Page missing it keeps delivering every other event while lead ads stop arriving, with nothing to indicate it.
|
|
1379
|
+
# @param account_id [String]
|
|
1380
|
+
# @param [Hash] opts the optional parameters
|
|
1381
|
+
# @return [Array<(GetPageWebhookSubscription200Response, Integer, Hash)>] GetPageWebhookSubscription200Response data, response status code and response headers
|
|
1382
|
+
def get_page_webhook_subscription_with_http_info(account_id, opts = {})
|
|
1383
|
+
if @api_client.config.debugging
|
|
1384
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.get_page_webhook_subscription ...'
|
|
1385
|
+
end
|
|
1386
|
+
# verify the required parameter 'account_id' is set
|
|
1387
|
+
if @api_client.config.client_side_validation && account_id.nil?
|
|
1388
|
+
fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.get_page_webhook_subscription"
|
|
1389
|
+
end
|
|
1390
|
+
# resource path
|
|
1391
|
+
local_var_path = '/v1/accounts/{accountId}/webhook-subscription'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
|
|
1392
|
+
|
|
1393
|
+
# query parameters
|
|
1394
|
+
query_params = opts[:query_params] || {}
|
|
1395
|
+
|
|
1396
|
+
# header parameters
|
|
1397
|
+
header_params = opts[:header_params] || {}
|
|
1398
|
+
# HTTP header 'Accept' (if needed)
|
|
1399
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
1400
|
+
|
|
1401
|
+
# form parameters
|
|
1402
|
+
form_params = opts[:form_params] || {}
|
|
1403
|
+
|
|
1404
|
+
# http body (model)
|
|
1405
|
+
post_body = opts[:debug_body]
|
|
1406
|
+
|
|
1407
|
+
# return_type
|
|
1408
|
+
return_type = opts[:debug_return_type] || 'GetPageWebhookSubscription200Response'
|
|
1409
|
+
|
|
1410
|
+
# auth_names
|
|
1411
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
1412
|
+
|
|
1413
|
+
new_options = opts.merge(
|
|
1414
|
+
:operation => :"ConnectApi.get_page_webhook_subscription",
|
|
1415
|
+
:header_params => header_params,
|
|
1416
|
+
:query_params => query_params,
|
|
1417
|
+
:form_params => form_params,
|
|
1418
|
+
:body => post_body,
|
|
1419
|
+
:auth_names => auth_names,
|
|
1420
|
+
:return_type => return_type
|
|
1421
|
+
)
|
|
1422
|
+
|
|
1423
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
1424
|
+
if @api_client.config.debugging
|
|
1425
|
+
@api_client.config.logger.debug "API called: ConnectApi#get_page_webhook_subscription\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1426
|
+
end
|
|
1427
|
+
return data, status_code, headers
|
|
1428
|
+
end
|
|
1429
|
+
|
|
1367
1430
|
# Get pending OAuth data
|
|
1368
1431
|
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Google Business Profile locations, Slack channels, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook and other platforms pass selection state directly via URL query params on the redirect (`profileId`, `tempToken`, `step`), no pending record is created, so this endpoint will return 404 for those flows. Use the platform-specific selection endpoint instead (e.g. `/v1/connect/whatsapp/select-phone-number`). Reading the token does not consume it, so this fetch is repeatable until the token expires 1 hour after issuance. Completing the platform selection deletes the pending record, so the token stops working from then on. No authentication required.
|
|
1369
1432
|
# @param token [String] The pending data token from the OAuth redirect URL (pendingDataToken parameter)
|
|
@@ -2775,6 +2838,69 @@ module Zernio
|
|
|
2775
2838
|
return data, status_code, headers
|
|
2776
2839
|
end
|
|
2777
2840
|
|
|
2841
|
+
# Re-subscribe a Facebook Page to Zernio's webhooks
|
|
2842
|
+
# Re-sends the full field set to Meta and returns the subscription read back afterwards. Meta only honours the field set sent at subscribe time, so a Page connected before a field existed stays without it until this runs. The response reflects what Meta actually granted, not what was requested.
|
|
2843
|
+
# @param account_id [String]
|
|
2844
|
+
# @param [Hash] opts the optional parameters
|
|
2845
|
+
# @return [ResyncPageWebhookSubscription200Response]
|
|
2846
|
+
def resync_page_webhook_subscription(account_id, opts = {})
|
|
2847
|
+
data, _status_code, _headers = resync_page_webhook_subscription_with_http_info(account_id, opts)
|
|
2848
|
+
data
|
|
2849
|
+
end
|
|
2850
|
+
|
|
2851
|
+
# Re-subscribe a Facebook Page to Zernio's webhooks
|
|
2852
|
+
# Re-sends the full field set to Meta and returns the subscription read back afterwards. Meta only honours the field set sent at subscribe time, so a Page connected before a field existed stays without it until this runs. The response reflects what Meta actually granted, not what was requested.
|
|
2853
|
+
# @param account_id [String]
|
|
2854
|
+
# @param [Hash] opts the optional parameters
|
|
2855
|
+
# @return [Array<(ResyncPageWebhookSubscription200Response, Integer, Hash)>] ResyncPageWebhookSubscription200Response data, response status code and response headers
|
|
2856
|
+
def resync_page_webhook_subscription_with_http_info(account_id, opts = {})
|
|
2857
|
+
if @api_client.config.debugging
|
|
2858
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.resync_page_webhook_subscription ...'
|
|
2859
|
+
end
|
|
2860
|
+
# verify the required parameter 'account_id' is set
|
|
2861
|
+
if @api_client.config.client_side_validation && account_id.nil?
|
|
2862
|
+
fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.resync_page_webhook_subscription"
|
|
2863
|
+
end
|
|
2864
|
+
# resource path
|
|
2865
|
+
local_var_path = '/v1/accounts/{accountId}/webhook-subscription'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
|
|
2866
|
+
|
|
2867
|
+
# query parameters
|
|
2868
|
+
query_params = opts[:query_params] || {}
|
|
2869
|
+
|
|
2870
|
+
# header parameters
|
|
2871
|
+
header_params = opts[:header_params] || {}
|
|
2872
|
+
# HTTP header 'Accept' (if needed)
|
|
2873
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
2874
|
+
|
|
2875
|
+
# form parameters
|
|
2876
|
+
form_params = opts[:form_params] || {}
|
|
2877
|
+
|
|
2878
|
+
# http body (model)
|
|
2879
|
+
post_body = opts[:debug_body]
|
|
2880
|
+
|
|
2881
|
+
# return_type
|
|
2882
|
+
return_type = opts[:debug_return_type] || 'ResyncPageWebhookSubscription200Response'
|
|
2883
|
+
|
|
2884
|
+
# auth_names
|
|
2885
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
2886
|
+
|
|
2887
|
+
new_options = opts.merge(
|
|
2888
|
+
:operation => :"ConnectApi.resync_page_webhook_subscription",
|
|
2889
|
+
:header_params => header_params,
|
|
2890
|
+
:query_params => query_params,
|
|
2891
|
+
:form_params => form_params,
|
|
2892
|
+
:body => post_body,
|
|
2893
|
+
:auth_names => auth_names,
|
|
2894
|
+
:return_type => return_type
|
|
2895
|
+
)
|
|
2896
|
+
|
|
2897
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
2898
|
+
if @api_client.config.debugging
|
|
2899
|
+
@api_client.config.logger.debug "API called: ConnectApi#resync_page_webhook_subscription\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
2900
|
+
end
|
|
2901
|
+
return data, status_code, headers
|
|
2902
|
+
end
|
|
2903
|
+
|
|
2778
2904
|
# Select Facebook page
|
|
2779
2905
|
# Complete a classic Facebook Page connection with profileId, pageId, tempToken and userProfile. Use X-Connect-Token for headless connections. The dashboard business-login picker instead sends only selectionToken and pageId to complete a Meta Ads connection. The server verifies the initiating user, profile access, current grants and connection eligibility. The profile, platform token, ad-account scope and return URL come only from the encrypted grant. Business selection requires a session or bearer authentication for the initiating user; X-Connect-Token is not accepted. It returns redirect_url with connected=metaads on success or an eligibility error redirect.
|
|
2780
2906
|
# @param select_facebook_page_request [SelectFacebookPageRequest]
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Zernio
|
|
17
|
+
class GetPageWebhookSubscription200Response < ApiModelBase
|
|
18
|
+
attr_accessor :page_id
|
|
19
|
+
|
|
20
|
+
# False when the Page carries no subscription for our app at all.
|
|
21
|
+
attr_accessor :app_subscribed
|
|
22
|
+
|
|
23
|
+
# Whether lead ads submitted on this Page reach Zernio in real time.
|
|
24
|
+
attr_accessor :leadgen
|
|
25
|
+
|
|
26
|
+
attr_accessor :subscribed_fields
|
|
27
|
+
|
|
28
|
+
# Present only when leadgen is missing.
|
|
29
|
+
attr_accessor :warning
|
|
30
|
+
|
|
31
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
32
|
+
def self.attribute_map
|
|
33
|
+
{
|
|
34
|
+
:'page_id' => :'pageId',
|
|
35
|
+
:'app_subscribed' => :'appSubscribed',
|
|
36
|
+
:'leadgen' => :'leadgen',
|
|
37
|
+
:'subscribed_fields' => :'subscribedFields',
|
|
38
|
+
:'warning' => :'warning'
|
|
39
|
+
}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Returns attribute mapping this model knows about
|
|
43
|
+
def self.acceptable_attribute_map
|
|
44
|
+
attribute_map
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Returns all the JSON keys this model knows about
|
|
48
|
+
def self.acceptable_attributes
|
|
49
|
+
acceptable_attribute_map.values
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Attribute type mapping.
|
|
53
|
+
def self.openapi_types
|
|
54
|
+
{
|
|
55
|
+
:'page_id' => :'String',
|
|
56
|
+
:'app_subscribed' => :'Boolean',
|
|
57
|
+
:'leadgen' => :'Boolean',
|
|
58
|
+
:'subscribed_fields' => :'Array<String>',
|
|
59
|
+
:'warning' => :'String'
|
|
60
|
+
}
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# List of attributes with nullable: true
|
|
64
|
+
def self.openapi_nullable
|
|
65
|
+
Set.new([
|
|
66
|
+
:'warning'
|
|
67
|
+
])
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Initializes the object
|
|
71
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
72
|
+
def initialize(attributes = {})
|
|
73
|
+
if (!attributes.is_a?(Hash))
|
|
74
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::GetPageWebhookSubscription200Response` initialize method"
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
78
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
79
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
80
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
81
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::GetPageWebhookSubscription200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
82
|
+
end
|
|
83
|
+
h[k.to_sym] = v
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if attributes.key?(:'page_id')
|
|
87
|
+
self.page_id = attributes[:'page_id']
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
if attributes.key?(:'app_subscribed')
|
|
91
|
+
self.app_subscribed = attributes[:'app_subscribed']
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
if attributes.key?(:'leadgen')
|
|
95
|
+
self.leadgen = attributes[:'leadgen']
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
if attributes.key?(:'subscribed_fields')
|
|
99
|
+
if (value = attributes[:'subscribed_fields']).is_a?(Array)
|
|
100
|
+
self.subscribed_fields = value
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
if attributes.key?(:'warning')
|
|
105
|
+
self.warning = attributes[:'warning']
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
110
|
+
# @return Array for valid properties with the reasons
|
|
111
|
+
def list_invalid_properties
|
|
112
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
113
|
+
invalid_properties = Array.new
|
|
114
|
+
invalid_properties
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Check to see if the all the properties in the model are valid
|
|
118
|
+
# @return true if the model is valid
|
|
119
|
+
def valid?
|
|
120
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
121
|
+
true
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Checks equality by comparing each attribute.
|
|
125
|
+
# @param [Object] Object to be compared
|
|
126
|
+
def ==(o)
|
|
127
|
+
return true if self.equal?(o)
|
|
128
|
+
self.class == o.class &&
|
|
129
|
+
page_id == o.page_id &&
|
|
130
|
+
app_subscribed == o.app_subscribed &&
|
|
131
|
+
leadgen == o.leadgen &&
|
|
132
|
+
subscribed_fields == o.subscribed_fields &&
|
|
133
|
+
warning == o.warning
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# @see the `==` method
|
|
137
|
+
# @param [Object] Object to be compared
|
|
138
|
+
def eql?(o)
|
|
139
|
+
self == o
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# Calculates hash code according to all attributes.
|
|
143
|
+
# @return [Integer] Hash code
|
|
144
|
+
def hash
|
|
145
|
+
[page_id, app_subscribed, leadgen, subscribed_fields, warning].hash
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Builds the object from hash
|
|
149
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
150
|
+
# @return [Object] Returns the model itself
|
|
151
|
+
def self.build_from_hash(attributes)
|
|
152
|
+
return nil unless attributes.is_a?(Hash)
|
|
153
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
154
|
+
transformed_hash = {}
|
|
155
|
+
openapi_types.each_pair do |key, type|
|
|
156
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
157
|
+
transformed_hash["#{key}"] = nil
|
|
158
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
159
|
+
# check to ensure the input is an array given that the attribute
|
|
160
|
+
# is documented as an array but the input is not
|
|
161
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
162
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
163
|
+
end
|
|
164
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
165
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
new(transformed_hash)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Returns the object in the form of hash
|
|
172
|
+
# @return [Hash] Returns the object in the form of hash
|
|
173
|
+
def to_hash
|
|
174
|
+
hash = {}
|
|
175
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
176
|
+
value = self.send(attr)
|
|
177
|
+
if value.nil?
|
|
178
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
179
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
hash[param] = _to_hash(value)
|
|
183
|
+
end
|
|
184
|
+
hash
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
end
|
|
@@ -55,7 +55,7 @@ module Zernio
|
|
|
55
55
|
# Human-readable error message when status is failed. Contains platform-specific error details explaining why the publish failed.
|
|
56
56
|
attr_accessor :error_message
|
|
57
57
|
|
|
58
|
-
# Error category for programmatic handling: auth_expired (token expired/revoked), user_content (wrong format/too long), user_abuse (rate limits/spam), account_issue (config problems), platform_rejected (policy violation), platform_error (5xx/maintenance), platform_rate_limit (platform throttling, retried automatically), quota_exhausted (shared
|
|
58
|
+
# Error category for programmatic handling: auth_expired (token expired/revoked), user_content (wrong format/too long), user_abuse (rate limits/spam), account_issue (config problems), platform_rejected (policy violation), platform_error (5xx/maintenance), platform_rate_limit (platform throttling, retried automatically), quota_exhausted (a shared quota pool the integration draws on is empty, including our own capacity gate in front of one; not caused by your content or account, and safe to retry once the pool frees up), system_error (Zernio infra), unknown
|
|
59
59
|
attr_accessor :error_category
|
|
60
60
|
|
|
61
61
|
# Who caused the error: user (fix content/reconnect), platform (outage/API change), system (Zernio issue, rare)
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Zernio
|
|
17
|
+
class ResyncPageWebhookSubscription200Response < ApiModelBase
|
|
18
|
+
attr_accessor :resubscribed
|
|
19
|
+
|
|
20
|
+
attr_accessor :page_id
|
|
21
|
+
|
|
22
|
+
attr_accessor :app_subscribed
|
|
23
|
+
|
|
24
|
+
attr_accessor :leadgen
|
|
25
|
+
|
|
26
|
+
attr_accessor :subscribed_fields
|
|
27
|
+
|
|
28
|
+
attr_accessor :warning
|
|
29
|
+
|
|
30
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
31
|
+
def self.attribute_map
|
|
32
|
+
{
|
|
33
|
+
:'resubscribed' => :'resubscribed',
|
|
34
|
+
:'page_id' => :'pageId',
|
|
35
|
+
:'app_subscribed' => :'appSubscribed',
|
|
36
|
+
:'leadgen' => :'leadgen',
|
|
37
|
+
:'subscribed_fields' => :'subscribedFields',
|
|
38
|
+
:'warning' => :'warning'
|
|
39
|
+
}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Returns attribute mapping this model knows about
|
|
43
|
+
def self.acceptable_attribute_map
|
|
44
|
+
attribute_map
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Returns all the JSON keys this model knows about
|
|
48
|
+
def self.acceptable_attributes
|
|
49
|
+
acceptable_attribute_map.values
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Attribute type mapping.
|
|
53
|
+
def self.openapi_types
|
|
54
|
+
{
|
|
55
|
+
:'resubscribed' => :'Boolean',
|
|
56
|
+
:'page_id' => :'String',
|
|
57
|
+
:'app_subscribed' => :'Boolean',
|
|
58
|
+
:'leadgen' => :'Boolean',
|
|
59
|
+
:'subscribed_fields' => :'Array<String>',
|
|
60
|
+
:'warning' => :'String'
|
|
61
|
+
}
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# List of attributes with nullable: true
|
|
65
|
+
def self.openapi_nullable
|
|
66
|
+
Set.new([
|
|
67
|
+
:'warning'
|
|
68
|
+
])
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Initializes the object
|
|
72
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
73
|
+
def initialize(attributes = {})
|
|
74
|
+
if (!attributes.is_a?(Hash))
|
|
75
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::ResyncPageWebhookSubscription200Response` initialize method"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
79
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
80
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
81
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
82
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::ResyncPageWebhookSubscription200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
83
|
+
end
|
|
84
|
+
h[k.to_sym] = v
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if attributes.key?(:'resubscribed')
|
|
88
|
+
self.resubscribed = attributes[:'resubscribed']
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
if attributes.key?(:'page_id')
|
|
92
|
+
self.page_id = attributes[:'page_id']
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
if attributes.key?(:'app_subscribed')
|
|
96
|
+
self.app_subscribed = attributes[:'app_subscribed']
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
if attributes.key?(:'leadgen')
|
|
100
|
+
self.leadgen = attributes[:'leadgen']
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
if attributes.key?(:'subscribed_fields')
|
|
104
|
+
if (value = attributes[:'subscribed_fields']).is_a?(Array)
|
|
105
|
+
self.subscribed_fields = value
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
if attributes.key?(:'warning')
|
|
110
|
+
self.warning = attributes[:'warning']
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
115
|
+
# @return Array for valid properties with the reasons
|
|
116
|
+
def list_invalid_properties
|
|
117
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
118
|
+
invalid_properties = Array.new
|
|
119
|
+
invalid_properties
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Check to see if the all the properties in the model are valid
|
|
123
|
+
# @return true if the model is valid
|
|
124
|
+
def valid?
|
|
125
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
126
|
+
true
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Checks equality by comparing each attribute.
|
|
130
|
+
# @param [Object] Object to be compared
|
|
131
|
+
def ==(o)
|
|
132
|
+
return true if self.equal?(o)
|
|
133
|
+
self.class == o.class &&
|
|
134
|
+
resubscribed == o.resubscribed &&
|
|
135
|
+
page_id == o.page_id &&
|
|
136
|
+
app_subscribed == o.app_subscribed &&
|
|
137
|
+
leadgen == o.leadgen &&
|
|
138
|
+
subscribed_fields == o.subscribed_fields &&
|
|
139
|
+
warning == o.warning
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# @see the `==` method
|
|
143
|
+
# @param [Object] Object to be compared
|
|
144
|
+
def eql?(o)
|
|
145
|
+
self == o
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Calculates hash code according to all attributes.
|
|
149
|
+
# @return [Integer] Hash code
|
|
150
|
+
def hash
|
|
151
|
+
[resubscribed, page_id, app_subscribed, leadgen, subscribed_fields, warning].hash
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# Builds the object from hash
|
|
155
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
156
|
+
# @return [Object] Returns the model itself
|
|
157
|
+
def self.build_from_hash(attributes)
|
|
158
|
+
return nil unless attributes.is_a?(Hash)
|
|
159
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
160
|
+
transformed_hash = {}
|
|
161
|
+
openapi_types.each_pair do |key, type|
|
|
162
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
163
|
+
transformed_hash["#{key}"] = nil
|
|
164
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
165
|
+
# check to ensure the input is an array given that the attribute
|
|
166
|
+
# is documented as an array but the input is not
|
|
167
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
168
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
169
|
+
end
|
|
170
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
171
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
new(transformed_hash)
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Returns the object in the form of hash
|
|
178
|
+
# @return [Hash] Returns the object in the form of hash
|
|
179
|
+
def to_hash
|
|
180
|
+
hash = {}
|
|
181
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
182
|
+
value = self.send(attr)
|
|
183
|
+
if value.nil?
|
|
184
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
185
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
hash[param] = _to_hash(value)
|
|
189
|
+
end
|
|
190
|
+
hash
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
end
|
data/lib/zernio-sdk/version.rb
CHANGED
data/lib/zernio-sdk.rb
CHANGED
|
@@ -787,6 +787,7 @@ require 'zernio-sdk/models/get_media_presigned_url200_response'
|
|
|
787
787
|
require 'zernio-sdk/models/get_media_presigned_url_request'
|
|
788
788
|
require 'zernio-sdk/models/get_message_attachment200_response'
|
|
789
789
|
require 'zernio-sdk/models/get_messenger_menu200_response'
|
|
790
|
+
require 'zernio-sdk/models/get_page_webhook_subscription200_response'
|
|
790
791
|
require 'zernio-sdk/models/get_pending_o_auth_data200_response'
|
|
791
792
|
require 'zernio-sdk/models/get_pending_o_auth_data200_response_organizations_inner'
|
|
792
793
|
require 'zernio-sdk/models/get_phone_number200_response'
|
|
@@ -1397,6 +1398,7 @@ require 'zernio-sdk/models/respond_to_sms_registration_review200_response'
|
|
|
1397
1398
|
require 'zernio-sdk/models/respond_to_sms_registration_review_request'
|
|
1398
1399
|
require 'zernio-sdk/models/restore_workflow_version200_response'
|
|
1399
1400
|
require 'zernio-sdk/models/restore_workflow_version200_response_workflow'
|
|
1401
|
+
require 'zernio-sdk/models/resync_page_webhook_subscription200_response'
|
|
1400
1402
|
require 'zernio-sdk/models/retry_post207_response'
|
|
1401
1403
|
require 'zernio-sdk/models/retweet_post200_response'
|
|
1402
1404
|
require 'zernio-sdk/models/retweet_post_request'
|
data/openapi.yaml
CHANGED
|
@@ -5455,7 +5455,7 @@ components:
|
|
|
5455
5455
|
errorCategory:
|
|
5456
5456
|
type: string
|
|
5457
5457
|
enum: [auth_expired, user_content, user_abuse, account_issue, platform_rejected, platform_error, platform_rate_limit, quota_exhausted, system_error, unknown]
|
|
5458
|
-
description: "Error category for programmatic handling: auth_expired (token expired/revoked), user_content (wrong format/too long), user_abuse (rate limits/spam), account_issue (config problems), platform_rejected (policy violation), platform_error (5xx/maintenance), platform_rate_limit (platform throttling, retried automatically), quota_exhausted (shared
|
|
5458
|
+
description: "Error category for programmatic handling: auth_expired (token expired/revoked), user_content (wrong format/too long), user_abuse (rate limits/spam), account_issue (config problems), platform_rejected (policy violation), platform_error (5xx/maintenance), platform_rate_limit (platform throttling, retried automatically), quota_exhausted (a shared quota pool the integration draws on is empty, including our own capacity gate in front of one; not caused by your content or account, and safe to retry once the pool frees up), system_error (Zernio infra), unknown"
|
|
5459
5459
|
errorSource:
|
|
5460
5460
|
type: string
|
|
5461
5461
|
enum: [user, platform, system]
|
|
@@ -24210,6 +24210,73 @@ paths:
|
|
|
24210
24210
|
'404': { description: Code not found }
|
|
24211
24211
|
'500': { description: Internal error }
|
|
24212
24212
|
|
|
24213
|
+
/v1/accounts/{accountId}/webhook-subscription:
|
|
24214
|
+
get:
|
|
24215
|
+
x-resource-group: "accounts"
|
|
24216
|
+
operationId: getPageWebhookSubscription
|
|
24217
|
+
tags: [Connect]
|
|
24218
|
+
summary: Read a Facebook Page's webhook subscription
|
|
24219
|
+
description: |
|
|
24220
|
+
Returns the webhook fields Zernio's app is subscribed to on the connected Page, read live from Meta.
|
|
24221
|
+
Use it to confirm `leadgen` is present: a Page missing it keeps delivering every other event while
|
|
24222
|
+
lead ads stop arriving, with nothing to indicate it.
|
|
24223
|
+
parameters:
|
|
24224
|
+
- name: accountId
|
|
24225
|
+
in: path
|
|
24226
|
+
required: true
|
|
24227
|
+
schema: { type: string }
|
|
24228
|
+
responses:
|
|
24229
|
+
'200':
|
|
24230
|
+
description: The Page's current subscription
|
|
24231
|
+
content:
|
|
24232
|
+
application/json:
|
|
24233
|
+
schema:
|
|
24234
|
+
type: object
|
|
24235
|
+
properties:
|
|
24236
|
+
pageId: { type: string }
|
|
24237
|
+
appSubscribed: { type: boolean, description: 'False when the Page carries no subscription for our app at all.' }
|
|
24238
|
+
leadgen: { type: boolean, description: 'Whether lead ads submitted on this Page reach Zernio in real time.' }
|
|
24239
|
+
subscribedFields: { type: array, items: { type: string } }
|
|
24240
|
+
warning: { type: [string, 'null'], description: 'Present only when leadgen is missing.' }
|
|
24241
|
+
'400': { $ref: '#/components/responses/BadRequest' }
|
|
24242
|
+
'404': { $ref: '#/components/responses/NotFound' }
|
|
24243
|
+
'409':
|
|
24244
|
+
description: The connection has no selected Page
|
|
24245
|
+
post:
|
|
24246
|
+
x-resource-group: "accounts"
|
|
24247
|
+
operationId: resyncPageWebhookSubscription
|
|
24248
|
+
tags: [Connect]
|
|
24249
|
+
summary: Re-subscribe a Facebook Page to Zernio's webhooks
|
|
24250
|
+
description: |
|
|
24251
|
+
Re-sends the full field set to Meta and returns the subscription read back afterwards.
|
|
24252
|
+
Meta only honours the field set sent at subscribe time, so a Page connected before a field
|
|
24253
|
+
existed stays without it until this runs. The response reflects what Meta actually granted,
|
|
24254
|
+
not what was requested.
|
|
24255
|
+
parameters:
|
|
24256
|
+
- name: accountId
|
|
24257
|
+
in: path
|
|
24258
|
+
required: true
|
|
24259
|
+
schema: { type: string }
|
|
24260
|
+
responses:
|
|
24261
|
+
'200':
|
|
24262
|
+
description: The subscription after re-subscribing
|
|
24263
|
+
content:
|
|
24264
|
+
application/json:
|
|
24265
|
+
schema:
|
|
24266
|
+
type: object
|
|
24267
|
+
properties:
|
|
24268
|
+
resubscribed: { type: boolean }
|
|
24269
|
+
pageId: { type: string }
|
|
24270
|
+
appSubscribed: { type: boolean }
|
|
24271
|
+
leadgen: { type: boolean }
|
|
24272
|
+
subscribedFields: { type: array, items: { type: string } }
|
|
24273
|
+
warning: { type: [string, 'null'] }
|
|
24274
|
+
'400': { $ref: '#/components/responses/BadRequest' }
|
|
24275
|
+
'404': { $ref: '#/components/responses/NotFound' }
|
|
24276
|
+
'409':
|
|
24277
|
+
description: The connection has no selected Page
|
|
24278
|
+
'502':
|
|
24279
|
+
description: Meta rejected the subscription
|
|
24213
24280
|
/v1/accounts/{accountId}/facebook-page:
|
|
24214
24281
|
get:
|
|
24215
24282
|
x-resource-group: "accounts"
|
|
@@ -276,6 +276,18 @@ describe 'ConnectApi' do
|
|
|
276
276
|
end
|
|
277
277
|
end
|
|
278
278
|
|
|
279
|
+
# unit tests for get_page_webhook_subscription
|
|
280
|
+
# Read a Facebook Page's webhook subscription
|
|
281
|
+
# Returns the webhook fields Zernio's app is subscribed to on the connected Page, read live from Meta. Use it to confirm `leadgen` is present: a Page missing it keeps delivering every other event while lead ads stop arriving, with nothing to indicate it.
|
|
282
|
+
# @param account_id
|
|
283
|
+
# @param [Hash] opts the optional parameters
|
|
284
|
+
# @return [GetPageWebhookSubscription200Response]
|
|
285
|
+
describe 'get_page_webhook_subscription test' do
|
|
286
|
+
it 'should work' do
|
|
287
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
|
|
279
291
|
# unit tests for get_pending_o_auth_data
|
|
280
292
|
# Get pending OAuth data
|
|
281
293
|
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Google Business Profile locations, Slack channels, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook and other platforms pass selection state directly via URL query params on the redirect (`profileId`, `tempToken`, `step`), no pending record is created, so this endpoint will return 404 for those flows. Use the platform-specific selection endpoint instead (e.g. `/v1/connect/whatsapp/select-phone-number`). Reading the token does not consume it, so this fetch is repeatable until the token expires 1 hour after issuance. Completing the platform selection deletes the pending record, so the token stops working from then on. No authentication required.
|
|
@@ -542,6 +554,18 @@ describe 'ConnectApi' do
|
|
|
542
554
|
end
|
|
543
555
|
end
|
|
544
556
|
|
|
557
|
+
# unit tests for resync_page_webhook_subscription
|
|
558
|
+
# Re-subscribe a Facebook Page to Zernio's webhooks
|
|
559
|
+
# Re-sends the full field set to Meta and returns the subscription read back afterwards. Meta only honours the field set sent at subscribe time, so a Page connected before a field existed stays without it until this runs. The response reflects what Meta actually granted, not what was requested.
|
|
560
|
+
# @param account_id
|
|
561
|
+
# @param [Hash] opts the optional parameters
|
|
562
|
+
# @return [ResyncPageWebhookSubscription200Response]
|
|
563
|
+
describe 'resync_page_webhook_subscription test' do
|
|
564
|
+
it 'should work' do
|
|
565
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
566
|
+
end
|
|
567
|
+
end
|
|
568
|
+
|
|
545
569
|
# unit tests for select_facebook_page
|
|
546
570
|
# Select Facebook page
|
|
547
571
|
# Complete a classic Facebook Page connection with profileId, pageId, tempToken and userProfile. Use X-Connect-Token for headless connections. The dashboard business-login picker instead sends only selectionToken and pageId to complete a Meta Ads connection. The server verifies the initiating user, profile access, current grants and connection eligibility. The profile, platform token, ad-account scope and return URL come only from the encrypted grant. Business selection requires a session or bearer authentication for the initiating user; X-Connect-Token is not accepted. It returns redirect_url with connected=metaads on success or an eligibility error redirect.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::GetPageWebhookSubscription200Response
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::GetPageWebhookSubscription200Response do
|
|
21
|
+
#let(:instance) { Zernio::GetPageWebhookSubscription200Response.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetPageWebhookSubscription200Response' do
|
|
24
|
+
it 'should create an instance of GetPageWebhookSubscription200Response' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::GetPageWebhookSubscription200Response)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "page_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
|
+
|
|
36
|
+
describe 'test attribute "app_subscribed"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "leadgen"' 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
|
+
|
|
48
|
+
describe 'test attribute "subscribed_fields"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "warning"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::ResyncPageWebhookSubscription200Response
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::ResyncPageWebhookSubscription200Response do
|
|
21
|
+
#let(:instance) { Zernio::ResyncPageWebhookSubscription200Response.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ResyncPageWebhookSubscription200Response' do
|
|
24
|
+
it 'should create an instance of ResyncPageWebhookSubscription200Response' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::ResyncPageWebhookSubscription200Response)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "resubscribed"' 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
|
+
|
|
36
|
+
describe 'test attribute "page_id"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "app_subscribed"' 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
|
+
|
|
48
|
+
describe 'test attribute "leadgen"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "subscribed_fields"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "warning"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
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.933
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -869,6 +869,7 @@ files:
|
|
|
869
869
|
- docs/GetMediaPresignedUrlRequest.md
|
|
870
870
|
- docs/GetMessageAttachment200Response.md
|
|
871
871
|
- docs/GetMessengerMenu200Response.md
|
|
872
|
+
- docs/GetPageWebhookSubscription200Response.md
|
|
872
873
|
- docs/GetPendingOAuthData200Response.md
|
|
873
874
|
- docs/GetPendingOAuthData200ResponseOrganizationsInner.md
|
|
874
875
|
- docs/GetPhoneNumber200Response.md
|
|
@@ -1495,6 +1496,7 @@ files:
|
|
|
1495
1496
|
- docs/RespondToSmsRegistrationReviewRequest.md
|
|
1496
1497
|
- docs/RestoreWorkflowVersion200Response.md
|
|
1497
1498
|
- docs/RestoreWorkflowVersion200ResponseWorkflow.md
|
|
1499
|
+
- docs/ResyncPageWebhookSubscription200Response.md
|
|
1498
1500
|
- docs/RetryPost207Response.md
|
|
1499
1501
|
- docs/RetweetPost200Response.md
|
|
1500
1502
|
- docs/RetweetPostRequest.md
|
|
@@ -3008,6 +3010,7 @@ files:
|
|
|
3008
3010
|
- lib/zernio-sdk/models/get_media_presigned_url_request.rb
|
|
3009
3011
|
- lib/zernio-sdk/models/get_message_attachment200_response.rb
|
|
3010
3012
|
- lib/zernio-sdk/models/get_messenger_menu200_response.rb
|
|
3013
|
+
- lib/zernio-sdk/models/get_page_webhook_subscription200_response.rb
|
|
3011
3014
|
- lib/zernio-sdk/models/get_pending_o_auth_data200_response.rb
|
|
3012
3015
|
- lib/zernio-sdk/models/get_pending_o_auth_data200_response_organizations_inner.rb
|
|
3013
3016
|
- lib/zernio-sdk/models/get_phone_number200_response.rb
|
|
@@ -3618,6 +3621,7 @@ files:
|
|
|
3618
3621
|
- lib/zernio-sdk/models/respond_to_sms_registration_review_request.rb
|
|
3619
3622
|
- lib/zernio-sdk/models/restore_workflow_version200_response.rb
|
|
3620
3623
|
- lib/zernio-sdk/models/restore_workflow_version200_response_workflow.rb
|
|
3624
|
+
- lib/zernio-sdk/models/resync_page_webhook_subscription200_response.rb
|
|
3621
3625
|
- lib/zernio-sdk/models/retry_post207_response.rb
|
|
3622
3626
|
- lib/zernio-sdk/models/retweet_post200_response.rb
|
|
3623
3627
|
- lib/zernio-sdk/models/retweet_post_request.rb
|
|
@@ -5104,6 +5108,7 @@ files:
|
|
|
5104
5108
|
- spec/models/get_media_presigned_url_request_spec.rb
|
|
5105
5109
|
- spec/models/get_message_attachment200_response_spec.rb
|
|
5106
5110
|
- spec/models/get_messenger_menu200_response_spec.rb
|
|
5111
|
+
- spec/models/get_page_webhook_subscription200_response_spec.rb
|
|
5107
5112
|
- spec/models/get_pending_o_auth_data200_response_organizations_inner_spec.rb
|
|
5108
5113
|
- spec/models/get_pending_o_auth_data200_response_spec.rb
|
|
5109
5114
|
- spec/models/get_phone_number200_response_phone_number_spec.rb
|
|
@@ -5714,6 +5719,7 @@ files:
|
|
|
5714
5719
|
- spec/models/respond_to_sms_registration_review_request_spec.rb
|
|
5715
5720
|
- spec/models/restore_workflow_version200_response_spec.rb
|
|
5716
5721
|
- spec/models/restore_workflow_version200_response_workflow_spec.rb
|
|
5722
|
+
- spec/models/resync_page_webhook_subscription200_response_spec.rb
|
|
5717
5723
|
- spec/models/retry_post207_response_spec.rb
|
|
5718
5724
|
- spec/models/retweet_post200_response_spec.rb
|
|
5719
5725
|
- spec/models/retweet_post_request_spec.rb
|
|
@@ -6361,7 +6367,7 @@ files:
|
|
|
6361
6367
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
6362
6368
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
6363
6369
|
- spec/spec_helper.rb
|
|
6364
|
-
- zernio-sdk-0.0.
|
|
6370
|
+
- zernio-sdk-0.0.933.gem
|
|
6365
6371
|
- zernio-sdk.gemspec
|
|
6366
6372
|
homepage: https://openapi-generator.tech
|
|
6367
6373
|
licenses:
|
|
@@ -6499,6 +6505,7 @@ test_files:
|
|
|
6499
6505
|
- spec/models/search_reddit200_response_spec.rb
|
|
6500
6506
|
- spec/models/list_phone_number_countries200_response_spec.rb
|
|
6501
6507
|
- spec/models/bulk_update_ad_campaign_status_request_campaigns_inner_spec.rb
|
|
6508
|
+
- spec/models/resync_page_webhook_subscription200_response_spec.rb
|
|
6502
6509
|
- spec/models/linked_in_ads_platform_data_event_spec.rb
|
|
6503
6510
|
- spec/models/business_agent_ui_skill_input_spec.rb
|
|
6504
6511
|
- spec/models/update_conversion_destination_request_value_spec.rb
|
|
@@ -7724,6 +7731,7 @@ test_files:
|
|
|
7724
7731
|
- spec/models/webhook_payload_ad_status_changed_status_spec.rb
|
|
7725
7732
|
- spec/models/create_blog_article_request_seo_spec.rb
|
|
7726
7733
|
- spec/models/google_business_platform_data_event_schedule_spec.rb
|
|
7734
|
+
- spec/models/get_page_webhook_subscription200_response_spec.rb
|
|
7727
7735
|
- spec/models/update_facebook_page_request_spec.rb
|
|
7728
7736
|
- spec/models/create_phone_number_kyc_link_request_branding_spec.rb
|
|
7729
7737
|
- spec/models/update_ad_campaign_request_budget_spec.rb
|
data/zernio-sdk-0.0.931.gem
DELETED
|
Binary file
|