growwer 1.1.1 → 2.1.0
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 +57 -4
- data/docs/AccountApi.md +1 -1
- data/docs/AdvanceTestOrderRequest.md +18 -0
- data/docs/BalanceLowEventData.md +20 -0
- data/docs/BalanceLowEventDataWallet.md +20 -0
- data/docs/CatalogueApi.md +2 -2
- data/docs/CreateWebhookRequest.md +24 -0
- data/docs/GetMe200Response.md +3 -1
- data/docs/ListWebhookDeliveries200Response.md +20 -0
- data/docs/ListWebhooks200Response.md +20 -0
- data/docs/OrderChannel.md +1 -1
- data/docs/OrderEventData.md +18 -0
- data/docs/SellerOrderChannel.md +2 -2
- data/docs/TestHelpersApi.md +222 -0
- data/docs/TopUpTestWallet200Response.md +20 -0
- data/docs/TopUpTestWalletRequest.md +18 -0
- data/docs/UpdateWebhookRequest.md +26 -0
- data/docs/Webhook.md +38 -0
- data/docs/WebhookDelivery.md +32 -0
- data/docs/WebhookDeliveryAttempt.md +26 -0
- data/docs/WebhookEvent.md +28 -0
- data/docs/WebhookEventData.md +51 -0
- data/docs/WebhookEventType.md +15 -0
- data/docs/WebhookTestEventData.md +18 -0
- data/docs/WebhookWithSecret.md +40 -0
- data/docs/WebhooksApi.md +662 -0
- data/growwer.gemspec +1 -1
- data/lib/growwer/api/account_api.rb +3 -3
- data/lib/growwer/api/buyer_orders_api.rb +1 -1
- data/lib/growwer/api/buyer_wallet_api.rb +1 -1
- data/lib/growwer/api/catalogue_api.rb +5 -5
- data/lib/growwer/api/files_api.rb +1 -1
- data/lib/growwer/api/managed_services_api.rb +1 -1
- data/lib/growwer/api/projects_api.rb +1 -1
- data/lib/growwer/api/saved_filters_api.rb +1 -1
- data/lib/growwer/api/seller_account_api.rb +1 -1
- data/lib/growwer/api/seller_medias_api.rb +1 -1
- data/lib/growwer/api/seller_orders_api.rb +1 -1
- data/lib/growwer/api/seller_wallet_api.rb +1 -1
- data/lib/growwer/api/test_helpers_api.rb +254 -0
- data/lib/growwer/api/webhooks_api.rb +707 -0
- data/lib/growwer/api_client.rb +2 -2
- data/lib/growwer/api_error.rb +1 -1
- data/lib/growwer/api_model_base.rb +1 -1
- data/lib/growwer/configuration.rb +1 -1
- data/lib/growwer/models/advance_test_order_request.rb +189 -0
- data/lib/growwer/models/balance.rb +1 -1
- data/lib/growwer/models/balance_low_event_data.rb +192 -0
- data/lib/growwer/models/balance_low_event_data_wallet.rb +192 -0
- data/lib/growwer/models/catalogue_media.rb +1 -1
- data/lib/growwer/models/catalogue_media_flash_offer.rb +1 -1
- data/lib/growwer/models/catalogue_media_metrics.rb +1 -1
- data/lib/growwer/models/catalogue_offer.rb +1 -1
- data/lib/growwer/models/catalogue_offer_or_null.rb +1 -1
- data/lib/growwer/models/catalogue_post_offer.rb +1 -1
- data/lib/growwer/models/catalogue_post_offer_all_of_extras.rb +1 -1
- data/lib/growwer/models/catalogue_post_offer_all_of_extras_sensitive_topic.rb +1 -1
- data/lib/growwer/models/code_name.rb +1 -1
- data/lib/growwer/models/count_saved_filter_medias200_response.rb +1 -1
- data/lib/growwer/models/create_project_request.rb +1 -1
- data/lib/growwer/models/create_saved_filter_request.rb +1 -1
- data/lib/growwer/models/create_seller_media_request.rb +1 -1
- data/lib/growwer/models/create_seller_media_request_post_offer.rb +1 -1
- data/lib/growwer/models/create_webhook_request.rb +248 -0
- data/lib/growwer/models/error.rb +1 -1
- data/lib/growwer/models/get_buyer_wallet200_response.rb +1 -1
- data/lib/growwer/models/get_me200_response.rb +57 -20
- data/lib/growwer/models/get_me200_response_buyer.rb +1 -1
- data/lib/growwer/models/get_me200_response_catalogue.rb +1 -1
- data/lib/growwer/models/get_me200_response_managed_service.rb +1 -1
- data/lib/growwer/models/get_me200_response_seller.rb +2 -1
- data/lib/growwer/models/get_seller_wallet200_response.rb +1 -1
- data/lib/growwer/models/get_vocabulary200_response.rb +1 -1
- data/lib/growwer/models/get_vocabulary200_response_topics_inner.rb +1 -1
- data/lib/growwer/models/invoice.rb +1 -1
- data/lib/growwer/models/link_addition_order_briefing.rb +1 -1
- data/lib/growwer/models/link_addition_order_briefing_request.rb +1 -1
- data/lib/growwer/models/list_buyer_transactions200_response.rb +1 -1
- data/lib/growwer/models/list_flash_offers200_response.rb +1 -1
- data/lib/growwer/models/list_invoices200_response.rb +1 -1
- data/lib/growwer/models/list_managed_service_campaigns200_response.rb +1 -1
- data/lib/growwer/models/list_managed_service_proposals200_response.rb +1 -1
- data/lib/growwer/models/list_orders200_response.rb +1 -1
- data/lib/growwer/models/list_projects200_response.rb +1 -1
- data/lib/growwer/models/list_saved_filters200_response.rb +1 -1
- data/lib/growwer/models/list_seller_medias200_response.rb +1 -1
- data/lib/growwer/models/list_seller_orders200_response.rb +1 -1
- data/lib/growwer/models/list_seller_transactions200_response.rb +1 -1
- data/lib/growwer/models/list_webhook_deliveries200_response.rb +192 -0
- data/lib/growwer/models/list_webhooks200_response.rb +192 -0
- data/lib/growwer/models/list_withdrawals200_response.rb +1 -1
- data/lib/growwer/models/managed_service_campaign.rb +1 -1
- data/lib/growwer/models/managed_service_campaign_project.rb +1 -1
- data/lib/growwer/models/managed_service_campaign_proposal_counts.rb +1 -1
- data/lib/growwer/models/managed_service_campaign_strategy.rb +1 -1
- data/lib/growwer/models/managed_service_proposal.rb +1 -1
- data/lib/growwer/models/managed_service_proposal_briefing.rb +1 -1
- data/lib/growwer/models/managed_service_proposal_briefing_links_inner.rb +1 -1
- data/lib/growwer/models/managed_service_proposal_media.rb +1 -1
- data/lib/growwer/models/managed_service_proposal_review.rb +1 -1
- data/lib/growwer/models/managed_service_proposal_review_request.rb +1 -1
- data/lib/growwer/models/managed_service_proposal_review_request_reviews_inner.rb +1 -1
- data/lib/growwer/models/managed_service_proposals_estimate.rb +1 -1
- data/lib/growwer/models/managed_service_proposals_estimate_request.rb +1 -1
- data/lib/growwer/models/managed_service_request.rb +1 -1
- data/lib/growwer/models/managed_service_request_sent.rb +1 -1
- data/lib/growwer/models/money.rb +1 -1
- data/lib/growwer/models/money_or_null.rb +1 -1
- data/lib/growwer/models/order.rb +1 -1
- data/lib/growwer/models/order_action_reason.rb +1 -1
- data/lib/growwer/models/order_briefing.rb +1 -1
- data/lib/growwer/models/order_channel.rb +4 -4
- data/lib/growwer/models/order_create_request.rb +1 -1
- data/lib/growwer/models/order_delivery.rb +1 -1
- data/lib/growwer/models/order_draft.rb +1 -1
- data/lib/growwer/models/order_estimate.rb +1 -1
- data/lib/growwer/models/order_estimate_request.rb +1 -1
- data/lib/growwer/models/order_estimate_request_briefing.rb +1 -1
- data/lib/growwer/models/order_event_data.rb +165 -0
- data/lib/growwer/models/order_link.rb +1 -1
- data/lib/growwer/models/order_link_request.rb +1 -1
- data/lib/growwer/models/order_media.rb +1 -1
- data/lib/growwer/models/order_project.rb +1 -1
- data/lib/growwer/models/order_state_history_inner.rb +1 -1
- data/lib/growwer/models/order_state_history_inner_reason.rb +1 -1
- data/lib/growwer/models/post_order_briefing.rb +1 -1
- data/lib/growwer/models/post_order_briefing_request.rb +1 -1
- data/lib/growwer/models/project.rb +1 -1
- data/lib/growwer/models/project_catalogue_media.rb +1 -1
- data/lib/growwer/models/project_catalogue_media_all_of_project.rb +1 -1
- data/lib/growwer/models/project_catalogue_media_all_of_project_ai_keywords.rb +1 -1
- data/lib/growwer/models/put_seller_holiday200_response.rb +1 -1
- data/lib/growwer/models/put_seller_holiday_request.rb +1 -1
- data/lib/growwer/models/request_medias201_response.rb +1 -1
- data/lib/growwer/models/request_medias_request.rb +1 -1
- data/lib/growwer/models/saved_filter.rb +1 -1
- data/lib/growwer/models/saved_filter_notifications.rb +1 -1
- data/lib/growwer/models/seller_fees.rb +1 -1
- data/lib/growwer/models/seller_fees_or_null.rb +1 -1
- data/lib/growwer/models/seller_media.rb +1 -1
- data/lib/growwer/models/seller_media_flash_offer.rb +1 -1
- data/lib/growwer/models/seller_media_link_addition_offer.rb +1 -1
- data/lib/growwer/models/seller_media_link_addition_offer_pricing_options_inner.rb +1 -1
- data/lib/growwer/models/seller_media_post_offer.rb +1 -1
- data/lib/growwer/models/seller_media_post_offer_pricing_options_inner.rb +1 -1
- data/lib/growwer/models/seller_order.rb +1 -1
- data/lib/growwer/models/seller_order_briefing.rb +1 -1
- data/lib/growwer/models/seller_order_channel.rb +7 -7
- data/lib/growwer/models/seller_order_draft.rb +1 -1
- data/lib/growwer/models/seller_order_draft_file.rb +1 -1
- data/lib/growwer/models/seller_order_post_delivery.rb +1 -1
- data/lib/growwer/models/seller_order_project.rb +1 -1
- data/lib/growwer/models/seller_order_refutation.rb +1 -1
- data/lib/growwer/models/seller_order_rejection.rb +1 -1
- data/lib/growwer/models/seller_order_rejection_reason.rb +1 -1
- data/lib/growwer/models/seller_post_order_briefing.rb +1 -1
- data/lib/growwer/models/seller_transaction.rb +1 -1
- data/lib/growwer/models/top_up_test_wallet200_response.rb +191 -0
- data/lib/growwer/models/top_up_test_wallet_request.rb +165 -0
- data/lib/growwer/models/transaction.rb +1 -1
- data/lib/growwer/models/update_project_request.rb +1 -1
- data/lib/growwer/models/update_seller_media_request.rb +1 -1
- data/lib/growwer/models/update_seller_media_request_extra_services_inner.rb +1 -1
- data/lib/growwer/models/update_seller_media_request_link_addition_offer.rb +1 -1
- data/lib/growwer/models/update_seller_media_request_link_addition_offer_pricing_options_inner.rb +1 -1
- data/lib/growwer/models/update_seller_media_request_post_offer.rb +1 -1
- data/lib/growwer/models/update_seller_media_request_post_offer_pricing_options_inner.rb +1 -1
- data/lib/growwer/models/update_webhook_request.rb +245 -0
- data/lib/growwer/models/upload_file201_response.rb +1 -1
- data/lib/growwer/models/webhook.rb +395 -0
- data/lib/growwer/models/webhook_delivery.rb +365 -0
- data/lib/growwer/models/webhook_delivery_attempt.rb +264 -0
- data/lib/growwer/models/webhook_event.rb +324 -0
- data/lib/growwer/models/webhook_event_data.rb +104 -0
- data/lib/growwer/models/webhook_event_type.rb +46 -0
- data/lib/growwer/models/webhook_test_event_data.rb +166 -0
- data/lib/growwer/models/webhook_with_secret.rb +413 -0
- data/lib/growwer/models/withdrawal.rb +1 -1
- data/lib/growwer/version.rb +2 -2
- data/lib/growwer.rb +21 -1
- data/spec/api/test_helpers_api_spec.rb +74 -0
- data/spec/api/webhooks_api_spec.rb +154 -0
- data/spec/models/advance_test_order_request_spec.rb +40 -0
- data/spec/models/balance_low_event_data_spec.rb +42 -0
- data/spec/models/balance_low_event_data_wallet_spec.rb +42 -0
- data/spec/models/create_webhook_request_spec.rb +54 -0
- data/spec/models/list_webhook_deliveries200_response_spec.rb +42 -0
- data/spec/models/list_webhooks200_response_spec.rb +42 -0
- data/spec/models/order_event_data_spec.rb +36 -0
- data/spec/models/top_up_test_wallet200_response_spec.rb +42 -0
- data/spec/models/top_up_test_wallet_request_spec.rb +36 -0
- data/spec/models/update_webhook_request_spec.rb +60 -0
- data/spec/models/webhook_delivery_attempt_spec.rb +64 -0
- data/spec/models/webhook_delivery_spec.rb +86 -0
- data/spec/models/webhook_event_data_spec.rb +32 -0
- data/spec/models/webhook_event_spec.rb +78 -0
- data/spec/models/webhook_event_type_spec.rb +30 -0
- data/spec/models/webhook_spec.rb +100 -0
- data/spec/models/webhook_test_event_data_spec.rb +36 -0
- data/spec/models/webhook_with_secret_spec.rb +106 -0
- data/spec/spec_helper.rb +1 -1
- metadata +187 -107
data/docs/Webhook.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Growwer::Webhook
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | | |
|
|
8
|
+
| **url** | **String** | | |
|
|
9
|
+
| **events** | [**Array<WebhookEventType>**](WebhookEventType.md) | | |
|
|
10
|
+
| **low_balance_threshold** | [**MoneyOrNull**](MoneyOrNull.md) | With `balance.low`, the available buyer balance below which it fires; null otherwise. | |
|
|
11
|
+
| **description** | **String** | | |
|
|
12
|
+
| **enabled** | **Boolean** | Whether the subscription gets events. | |
|
|
13
|
+
| **disabled_reason** | **String** | Why it is disabled, null while enabled. `by_user`, through PATCH /webhooks/{id}; `endpoint_gone`, its endpoint answered 410; `failing`, every delivery failed for 5 days, and the account owner was emailed. | |
|
|
14
|
+
| **failing_since** | **Time** | Since when its deliveries have failed without one succeeding, null while they succeed. At 5 days it is disabled. The check runs at each failed attempt, so a subscription whose `failingSince` is already more than 5 days old, say one that had no event for a while, is disabled at its next failed attempt, without the retries that delivery would otherwise get. | |
|
|
15
|
+
| **previous_secret_expires_at** | **Time** | Until when the secret replaced by the last rotation still signs beside the new one, null when it no longer does. | |
|
|
16
|
+
| **created_at** | **Time** | | |
|
|
17
|
+
| **updated_at** | **Time** | | |
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```ruby
|
|
22
|
+
require 'growwer'
|
|
23
|
+
|
|
24
|
+
instance = Growwer::Webhook.new(
|
|
25
|
+
id: null,
|
|
26
|
+
url: null,
|
|
27
|
+
events: null,
|
|
28
|
+
low_balance_threshold: null,
|
|
29
|
+
description: null,
|
|
30
|
+
enabled: null,
|
|
31
|
+
disabled_reason: null,
|
|
32
|
+
failing_since: null,
|
|
33
|
+
previous_secret_expires_at: null,
|
|
34
|
+
created_at: null,
|
|
35
|
+
updated_at: null
|
|
36
|
+
)
|
|
37
|
+
```
|
|
38
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Growwer::WebhookDelivery
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | | |
|
|
8
|
+
| **event_id** | **String** | The event's id, sent as `webhook-id` on every attempt and redelivery. | |
|
|
9
|
+
| **event_type** | **String** | | |
|
|
10
|
+
| **status** | **String** | `pending` while it is sent or retried, `succeeded` once an attempt got a 2xx, `failed` once the retries ran out, the endpoint answered 410 or the subscription was disabled. | |
|
|
11
|
+
| **attempt_count** | **Integer** | How many attempts it took, redeliveries included. | |
|
|
12
|
+
| **next_attempt_at** | **Time** | When the next retry is due, null when none is. | |
|
|
13
|
+
| **created_at** | **Time** | | |
|
|
14
|
+
| **attempts** | [**Array<WebhookDeliveryAttempt>**](WebhookDeliveryAttempt.md) | The latest 10 attempts, newest first. | |
|
|
15
|
+
|
|
16
|
+
## Example
|
|
17
|
+
|
|
18
|
+
```ruby
|
|
19
|
+
require 'growwer'
|
|
20
|
+
|
|
21
|
+
instance = Growwer::WebhookDelivery.new(
|
|
22
|
+
id: null,
|
|
23
|
+
event_id: null,
|
|
24
|
+
event_type: null,
|
|
25
|
+
status: null,
|
|
26
|
+
attempt_count: null,
|
|
27
|
+
next_attempt_at: null,
|
|
28
|
+
created_at: null,
|
|
29
|
+
attempts: null
|
|
30
|
+
)
|
|
31
|
+
```
|
|
32
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Growwer::WebhookDeliveryAttempt
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **attempted_at** | **Time** | | |
|
|
8
|
+
| **status_code** | **Integer** | The HTTP status your endpoint answered, null when it did not answer. Only 2xx succeeds; a redirect is not followed and fails. | |
|
|
9
|
+
| **duration_ms** | **Integer** | How long the attempt took, in milliseconds. It gives up after 15 seconds. | |
|
|
10
|
+
| **response_body** | **String** | Up to the first 1024 bytes of the response body, null when it did not answer. | |
|
|
11
|
+
| **error** | **String** | Why there is no status, null when it answered. `address_not_allowed`, its host resolved to, or connected to, an address that is not public. | |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'growwer'
|
|
17
|
+
|
|
18
|
+
instance = Growwer::WebhookDeliveryAttempt.new(
|
|
19
|
+
attempted_at: null,
|
|
20
|
+
status_code: null,
|
|
21
|
+
duration_ms: null,
|
|
22
|
+
response_body: null,
|
|
23
|
+
error: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Growwer::WebhookEvent
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | | |
|
|
8
|
+
| **type** | **String** | | |
|
|
9
|
+
| **created_at** | **Time** | | |
|
|
10
|
+
| **api_version** | **String** | | |
|
|
11
|
+
| **mode** | **String** | The mode of the subscription it is sent to. | |
|
|
12
|
+
| **data** | [**WebhookEventData**](WebhookEventData.md) | | |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'growwer'
|
|
18
|
+
|
|
19
|
+
instance = Growwer::WebhookEvent.new(
|
|
20
|
+
id: null,
|
|
21
|
+
type: null,
|
|
22
|
+
created_at: null,
|
|
23
|
+
api_version: null,
|
|
24
|
+
mode: null,
|
|
25
|
+
data: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Growwer::WebhookEventData
|
|
2
|
+
|
|
3
|
+
## Class instance methods
|
|
4
|
+
|
|
5
|
+
### `openapi_one_of`
|
|
6
|
+
|
|
7
|
+
Returns the list of classes defined in oneOf.
|
|
8
|
+
|
|
9
|
+
#### Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'growwer'
|
|
13
|
+
|
|
14
|
+
Growwer::WebhookEventData.openapi_one_of
|
|
15
|
+
# =>
|
|
16
|
+
# [
|
|
17
|
+
# :'BalanceLowEventData',
|
|
18
|
+
# :'OrderEventData',
|
|
19
|
+
# :'WebhookTestEventData'
|
|
20
|
+
# ]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### build
|
|
24
|
+
|
|
25
|
+
Find the appropriate object from the `openapi_one_of` list and casts the data into it.
|
|
26
|
+
|
|
27
|
+
#### Example
|
|
28
|
+
|
|
29
|
+
```ruby
|
|
30
|
+
require 'growwer'
|
|
31
|
+
|
|
32
|
+
Growwer::WebhookEventData.build(data)
|
|
33
|
+
# => #<BalanceLowEventData:0x00007fdd4aab02a0>
|
|
34
|
+
|
|
35
|
+
Growwer::WebhookEventData.build(data_that_doesnt_match)
|
|
36
|
+
# => nil
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
#### Parameters
|
|
40
|
+
|
|
41
|
+
| Name | Type | Description |
|
|
42
|
+
| ---- | ---- | ----------- |
|
|
43
|
+
| **data** | **Mixed** | data to be matched against the list of oneOf items |
|
|
44
|
+
|
|
45
|
+
#### Return type
|
|
46
|
+
|
|
47
|
+
- `BalanceLowEventData`
|
|
48
|
+
- `OrderEventData`
|
|
49
|
+
- `WebhookTestEventData`
|
|
50
|
+
- `nil` (if no type matches)
|
|
51
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Growwer::WebhookTestEventData
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **webhook_id** | **String** | The subscription it was sent to. | |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'growwer'
|
|
13
|
+
|
|
14
|
+
instance = Growwer::WebhookTestEventData.new(
|
|
15
|
+
webhook_id: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Growwer::WebhookWithSecret
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | | |
|
|
8
|
+
| **url** | **String** | | |
|
|
9
|
+
| **events** | [**Array<WebhookEventType>**](WebhookEventType.md) | | |
|
|
10
|
+
| **low_balance_threshold** | [**MoneyOrNull**](MoneyOrNull.md) | With `balance.low`, the available buyer balance below which it fires; null otherwise. | |
|
|
11
|
+
| **description** | **String** | | |
|
|
12
|
+
| **enabled** | **Boolean** | Whether the subscription gets events. | |
|
|
13
|
+
| **disabled_reason** | **String** | Why it is disabled, null while enabled. `by_user`, through PATCH /webhooks/{id}; `endpoint_gone`, its endpoint answered 410; `failing`, every delivery failed for 5 days, and the account owner was emailed. | |
|
|
14
|
+
| **failing_since** | **Time** | Since when its deliveries have failed without one succeeding, null while they succeed. At 5 days it is disabled. The check runs at each failed attempt, so a subscription whose `failingSince` is already more than 5 days old, say one that had no event for a while, is disabled at its next failed attempt, without the retries that delivery would otherwise get. | |
|
|
15
|
+
| **previous_secret_expires_at** | **Time** | Until when the secret replaced by the last rotation still signs beside the new one, null when it no longer does. | |
|
|
16
|
+
| **created_at** | **Time** | | |
|
|
17
|
+
| **updated_at** | **Time** | | |
|
|
18
|
+
| **secret** | **String** | The signing secret, `whsec_` and the base64 of 32 random bytes. Shown only in this answer, and absent when the request is replayed under its `Idempotency-Key` (or the MCP tool under its `requestId`), since the secret is never stored. | [optional] |
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
|
|
22
|
+
```ruby
|
|
23
|
+
require 'growwer'
|
|
24
|
+
|
|
25
|
+
instance = Growwer::WebhookWithSecret.new(
|
|
26
|
+
id: null,
|
|
27
|
+
url: null,
|
|
28
|
+
events: null,
|
|
29
|
+
low_balance_threshold: null,
|
|
30
|
+
description: null,
|
|
31
|
+
enabled: null,
|
|
32
|
+
disabled_reason: null,
|
|
33
|
+
failing_since: null,
|
|
34
|
+
previous_secret_expires_at: null,
|
|
35
|
+
created_at: null,
|
|
36
|
+
updated_at: null,
|
|
37
|
+
secret: whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw
|
|
38
|
+
)
|
|
39
|
+
```
|
|
40
|
+
|