growwer 2.0.0 → 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.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +57 -4
  3. data/docs/AccountApi.md +1 -1
  4. data/docs/AdvanceTestOrderRequest.md +18 -0
  5. data/docs/BalanceLowEventData.md +20 -0
  6. data/docs/BalanceLowEventDataWallet.md +20 -0
  7. data/docs/CatalogueApi.md +2 -2
  8. data/docs/CreateWebhookRequest.md +24 -0
  9. data/docs/GetMe200Response.md +3 -1
  10. data/docs/ListWebhookDeliveries200Response.md +20 -0
  11. data/docs/ListWebhooks200Response.md +20 -0
  12. data/docs/OrderEventData.md +18 -0
  13. data/docs/TestHelpersApi.md +222 -0
  14. data/docs/TopUpTestWallet200Response.md +20 -0
  15. data/docs/TopUpTestWalletRequest.md +18 -0
  16. data/docs/UpdateWebhookRequest.md +26 -0
  17. data/docs/Webhook.md +38 -0
  18. data/docs/WebhookDelivery.md +32 -0
  19. data/docs/WebhookDeliveryAttempt.md +26 -0
  20. data/docs/WebhookEvent.md +28 -0
  21. data/docs/WebhookEventData.md +51 -0
  22. data/docs/WebhookEventType.md +15 -0
  23. data/docs/WebhookTestEventData.md +18 -0
  24. data/docs/WebhookWithSecret.md +40 -0
  25. data/docs/WebhooksApi.md +662 -0
  26. data/growwer.gemspec +1 -1
  27. data/lib/growwer/api/account_api.rb +3 -3
  28. data/lib/growwer/api/buyer_orders_api.rb +1 -1
  29. data/lib/growwer/api/buyer_wallet_api.rb +1 -1
  30. data/lib/growwer/api/catalogue_api.rb +5 -5
  31. data/lib/growwer/api/files_api.rb +1 -1
  32. data/lib/growwer/api/managed_services_api.rb +1 -1
  33. data/lib/growwer/api/projects_api.rb +1 -1
  34. data/lib/growwer/api/saved_filters_api.rb +1 -1
  35. data/lib/growwer/api/seller_account_api.rb +1 -1
  36. data/lib/growwer/api/seller_medias_api.rb +1 -1
  37. data/lib/growwer/api/seller_orders_api.rb +1 -1
  38. data/lib/growwer/api/seller_wallet_api.rb +1 -1
  39. data/lib/growwer/api/test_helpers_api.rb +254 -0
  40. data/lib/growwer/api/webhooks_api.rb +707 -0
  41. data/lib/growwer/api_client.rb +2 -2
  42. data/lib/growwer/api_error.rb +1 -1
  43. data/lib/growwer/api_model_base.rb +1 -1
  44. data/lib/growwer/configuration.rb +1 -1
  45. data/lib/growwer/models/advance_test_order_request.rb +189 -0
  46. data/lib/growwer/models/balance.rb +1 -1
  47. data/lib/growwer/models/balance_low_event_data.rb +192 -0
  48. data/lib/growwer/models/balance_low_event_data_wallet.rb +192 -0
  49. data/lib/growwer/models/catalogue_media.rb +1 -1
  50. data/lib/growwer/models/catalogue_media_flash_offer.rb +1 -1
  51. data/lib/growwer/models/catalogue_media_metrics.rb +1 -1
  52. data/lib/growwer/models/catalogue_offer.rb +1 -1
  53. data/lib/growwer/models/catalogue_offer_or_null.rb +1 -1
  54. data/lib/growwer/models/catalogue_post_offer.rb +1 -1
  55. data/lib/growwer/models/catalogue_post_offer_all_of_extras.rb +1 -1
  56. data/lib/growwer/models/catalogue_post_offer_all_of_extras_sensitive_topic.rb +1 -1
  57. data/lib/growwer/models/code_name.rb +1 -1
  58. data/lib/growwer/models/count_saved_filter_medias200_response.rb +1 -1
  59. data/lib/growwer/models/create_project_request.rb +1 -1
  60. data/lib/growwer/models/create_saved_filter_request.rb +1 -1
  61. data/lib/growwer/models/create_seller_media_request.rb +1 -1
  62. data/lib/growwer/models/create_seller_media_request_post_offer.rb +1 -1
  63. data/lib/growwer/models/create_webhook_request.rb +248 -0
  64. data/lib/growwer/models/error.rb +1 -1
  65. data/lib/growwer/models/get_buyer_wallet200_response.rb +1 -1
  66. data/lib/growwer/models/get_me200_response.rb +57 -20
  67. data/lib/growwer/models/get_me200_response_buyer.rb +1 -1
  68. data/lib/growwer/models/get_me200_response_catalogue.rb +1 -1
  69. data/lib/growwer/models/get_me200_response_managed_service.rb +1 -1
  70. data/lib/growwer/models/get_me200_response_seller.rb +2 -1
  71. data/lib/growwer/models/get_seller_wallet200_response.rb +1 -1
  72. data/lib/growwer/models/get_vocabulary200_response.rb +1 -1
  73. data/lib/growwer/models/get_vocabulary200_response_topics_inner.rb +1 -1
  74. data/lib/growwer/models/invoice.rb +1 -1
  75. data/lib/growwer/models/link_addition_order_briefing.rb +1 -1
  76. data/lib/growwer/models/link_addition_order_briefing_request.rb +1 -1
  77. data/lib/growwer/models/list_buyer_transactions200_response.rb +1 -1
  78. data/lib/growwer/models/list_flash_offers200_response.rb +1 -1
  79. data/lib/growwer/models/list_invoices200_response.rb +1 -1
  80. data/lib/growwer/models/list_managed_service_campaigns200_response.rb +1 -1
  81. data/lib/growwer/models/list_managed_service_proposals200_response.rb +1 -1
  82. data/lib/growwer/models/list_orders200_response.rb +1 -1
  83. data/lib/growwer/models/list_projects200_response.rb +1 -1
  84. data/lib/growwer/models/list_saved_filters200_response.rb +1 -1
  85. data/lib/growwer/models/list_seller_medias200_response.rb +1 -1
  86. data/lib/growwer/models/list_seller_orders200_response.rb +1 -1
  87. data/lib/growwer/models/list_seller_transactions200_response.rb +1 -1
  88. data/lib/growwer/models/list_webhook_deliveries200_response.rb +192 -0
  89. data/lib/growwer/models/list_webhooks200_response.rb +192 -0
  90. data/lib/growwer/models/list_withdrawals200_response.rb +1 -1
  91. data/lib/growwer/models/managed_service_campaign.rb +1 -1
  92. data/lib/growwer/models/managed_service_campaign_project.rb +1 -1
  93. data/lib/growwer/models/managed_service_campaign_proposal_counts.rb +1 -1
  94. data/lib/growwer/models/managed_service_campaign_strategy.rb +1 -1
  95. data/lib/growwer/models/managed_service_proposal.rb +1 -1
  96. data/lib/growwer/models/managed_service_proposal_briefing.rb +1 -1
  97. data/lib/growwer/models/managed_service_proposal_briefing_links_inner.rb +1 -1
  98. data/lib/growwer/models/managed_service_proposal_media.rb +1 -1
  99. data/lib/growwer/models/managed_service_proposal_review.rb +1 -1
  100. data/lib/growwer/models/managed_service_proposal_review_request.rb +1 -1
  101. data/lib/growwer/models/managed_service_proposal_review_request_reviews_inner.rb +1 -1
  102. data/lib/growwer/models/managed_service_proposals_estimate.rb +1 -1
  103. data/lib/growwer/models/managed_service_proposals_estimate_request.rb +1 -1
  104. data/lib/growwer/models/managed_service_request.rb +1 -1
  105. data/lib/growwer/models/managed_service_request_sent.rb +1 -1
  106. data/lib/growwer/models/money.rb +1 -1
  107. data/lib/growwer/models/money_or_null.rb +1 -1
  108. data/lib/growwer/models/order.rb +1 -1
  109. data/lib/growwer/models/order_action_reason.rb +1 -1
  110. data/lib/growwer/models/order_briefing.rb +1 -1
  111. data/lib/growwer/models/order_channel.rb +1 -1
  112. data/lib/growwer/models/order_create_request.rb +1 -1
  113. data/lib/growwer/models/order_delivery.rb +1 -1
  114. data/lib/growwer/models/order_draft.rb +1 -1
  115. data/lib/growwer/models/order_estimate.rb +1 -1
  116. data/lib/growwer/models/order_estimate_request.rb +1 -1
  117. data/lib/growwer/models/order_estimate_request_briefing.rb +1 -1
  118. data/lib/growwer/models/order_event_data.rb +165 -0
  119. data/lib/growwer/models/order_link.rb +1 -1
  120. data/lib/growwer/models/order_link_request.rb +1 -1
  121. data/lib/growwer/models/order_media.rb +1 -1
  122. data/lib/growwer/models/order_project.rb +1 -1
  123. data/lib/growwer/models/order_state_history_inner.rb +1 -1
  124. data/lib/growwer/models/order_state_history_inner_reason.rb +1 -1
  125. data/lib/growwer/models/post_order_briefing.rb +1 -1
  126. data/lib/growwer/models/post_order_briefing_request.rb +1 -1
  127. data/lib/growwer/models/project.rb +1 -1
  128. data/lib/growwer/models/project_catalogue_media.rb +1 -1
  129. data/lib/growwer/models/project_catalogue_media_all_of_project.rb +1 -1
  130. data/lib/growwer/models/project_catalogue_media_all_of_project_ai_keywords.rb +1 -1
  131. data/lib/growwer/models/put_seller_holiday200_response.rb +1 -1
  132. data/lib/growwer/models/put_seller_holiday_request.rb +1 -1
  133. data/lib/growwer/models/request_medias201_response.rb +1 -1
  134. data/lib/growwer/models/request_medias_request.rb +1 -1
  135. data/lib/growwer/models/saved_filter.rb +1 -1
  136. data/lib/growwer/models/saved_filter_notifications.rb +1 -1
  137. data/lib/growwer/models/seller_fees.rb +1 -1
  138. data/lib/growwer/models/seller_fees_or_null.rb +1 -1
  139. data/lib/growwer/models/seller_media.rb +1 -1
  140. data/lib/growwer/models/seller_media_flash_offer.rb +1 -1
  141. data/lib/growwer/models/seller_media_link_addition_offer.rb +1 -1
  142. data/lib/growwer/models/seller_media_link_addition_offer_pricing_options_inner.rb +1 -1
  143. data/lib/growwer/models/seller_media_post_offer.rb +1 -1
  144. data/lib/growwer/models/seller_media_post_offer_pricing_options_inner.rb +1 -1
  145. data/lib/growwer/models/seller_order.rb +1 -1
  146. data/lib/growwer/models/seller_order_briefing.rb +1 -1
  147. data/lib/growwer/models/seller_order_channel.rb +1 -1
  148. data/lib/growwer/models/seller_order_draft.rb +1 -1
  149. data/lib/growwer/models/seller_order_draft_file.rb +1 -1
  150. data/lib/growwer/models/seller_order_post_delivery.rb +1 -1
  151. data/lib/growwer/models/seller_order_project.rb +1 -1
  152. data/lib/growwer/models/seller_order_refutation.rb +1 -1
  153. data/lib/growwer/models/seller_order_rejection.rb +1 -1
  154. data/lib/growwer/models/seller_order_rejection_reason.rb +1 -1
  155. data/lib/growwer/models/seller_post_order_briefing.rb +1 -1
  156. data/lib/growwer/models/seller_transaction.rb +1 -1
  157. data/lib/growwer/models/top_up_test_wallet200_response.rb +191 -0
  158. data/lib/growwer/models/top_up_test_wallet_request.rb +165 -0
  159. data/lib/growwer/models/transaction.rb +1 -1
  160. data/lib/growwer/models/update_project_request.rb +1 -1
  161. data/lib/growwer/models/update_seller_media_request.rb +1 -1
  162. data/lib/growwer/models/update_seller_media_request_extra_services_inner.rb +1 -1
  163. data/lib/growwer/models/update_seller_media_request_link_addition_offer.rb +1 -1
  164. data/lib/growwer/models/update_seller_media_request_link_addition_offer_pricing_options_inner.rb +1 -1
  165. data/lib/growwer/models/update_seller_media_request_post_offer.rb +1 -1
  166. data/lib/growwer/models/update_seller_media_request_post_offer_pricing_options_inner.rb +1 -1
  167. data/lib/growwer/models/update_webhook_request.rb +245 -0
  168. data/lib/growwer/models/upload_file201_response.rb +1 -1
  169. data/lib/growwer/models/webhook.rb +395 -0
  170. data/lib/growwer/models/webhook_delivery.rb +365 -0
  171. data/lib/growwer/models/webhook_delivery_attempt.rb +264 -0
  172. data/lib/growwer/models/webhook_event.rb +324 -0
  173. data/lib/growwer/models/webhook_event_data.rb +104 -0
  174. data/lib/growwer/models/webhook_event_type.rb +46 -0
  175. data/lib/growwer/models/webhook_test_event_data.rb +166 -0
  176. data/lib/growwer/models/webhook_with_secret.rb +413 -0
  177. data/lib/growwer/models/withdrawal.rb +1 -1
  178. data/lib/growwer/version.rb +2 -2
  179. data/lib/growwer.rb +21 -1
  180. data/spec/api/test_helpers_api_spec.rb +74 -0
  181. data/spec/api/webhooks_api_spec.rb +154 -0
  182. data/spec/models/advance_test_order_request_spec.rb +40 -0
  183. data/spec/models/balance_low_event_data_spec.rb +42 -0
  184. data/spec/models/balance_low_event_data_wallet_spec.rb +42 -0
  185. data/spec/models/create_webhook_request_spec.rb +54 -0
  186. data/spec/models/list_webhook_deliveries200_response_spec.rb +42 -0
  187. data/spec/models/list_webhooks200_response_spec.rb +42 -0
  188. data/spec/models/order_event_data_spec.rb +36 -0
  189. data/spec/models/top_up_test_wallet200_response_spec.rb +42 -0
  190. data/spec/models/top_up_test_wallet_request_spec.rb +36 -0
  191. data/spec/models/update_webhook_request_spec.rb +60 -0
  192. data/spec/models/webhook_delivery_attempt_spec.rb +64 -0
  193. data/spec/models/webhook_delivery_spec.rb +86 -0
  194. data/spec/models/webhook_event_data_spec.rb +32 -0
  195. data/spec/models/webhook_event_spec.rb +78 -0
  196. data/spec/models/webhook_event_type_spec.rb +30 -0
  197. data/spec/models/webhook_spec.rb +100 -0
  198. data/spec/models/webhook_test_event_data_spec.rb +36 -0
  199. data/spec/models/webhook_with_secret_spec.rb +106 -0
  200. data/spec/spec_helper.rb +1 -1
  201. metadata +82 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a0c49ac33e995f010044b32e3655251e8ff84e3828755d9c6799f8e1d14789d
4
- data.tar.gz: 846c087bce80fb8d64e0e63af63e14f46b00ba48b12d307aa127c277ab215421
3
+ metadata.gz: 4380ca0026577125ae52235ddb4841b963468594c5dc67befb9201eb320f8b72
4
+ data.tar.gz: faa7964ac0ac85851e666fa4aff9ce4a912b5b3726c0bc56afa4a72435c7d4e5
5
5
  SHA512:
6
- metadata.gz: 5ed381c6f3d9e38bbd1608309229fe250f612587aab80e67c89b0d134a185176395830cbc46f02b639c2decfc50c55f5b63de09577e03d590191f41d7d911dcc
7
- data.tar.gz: 672a595a2069af8b7fb59617d5d80231c34f6ffcd4eb7ed82cf53ba42b6334d51853f0421f81f746a6e64d8c5e5971e9b95556b06e9ea0a752f3f1aba2acadf5
6
+ metadata.gz: d78a77e4694c8155ccbdfabb7fabb1198d2a8e2c596f943c277a33ba488700d857552eb8e30572d3796419b96efdbf12e8c43334586f631e885cb63cbb8b8733
7
+ data.tar.gz: 98aaec4222d6607582a8f8e3dd7953bcda516c40ce21ee05745ebdfeb49f0eadbc7994a1caf0216df936a571a94f8bfcdf0886016081a4b3ab1d5f32566ed680
data/README.md CHANGED
@@ -25,6 +25,29 @@ operation. Keys belong to your account, not to one API key.
25
25
  409 `idempotency_key_reused`. A write without the header gets 400
26
26
  `idempotency_key_required`.
27
27
 
28
+ Test mode: a test key (`gw_sk_test_` plus 43 characters) works on your
29
+ account's test data alone, apart from the real catalogue: test projects,
30
+ orders and files, and a test wallet that starts at 1,000.00 EUR. Every
31
+ response to a test key carries `Growwer-Mode: test`, and an id of the other
32
+ mode answers 404 as a missing object would.
33
+ - A test order is validated and debited from the test wallet as a live one
34
+ is. A simulated seller accepts it a minute later and delivers it two
35
+ minutes after that; you approve the delivery or request an update.
36
+ - The Test helpers top the test wallet up, move a test order on at once and
37
+ reset your test data. A live key on them gets 403 `test_mode_only`.
38
+ - A test key on the seller and managed service operations, on a project's
39
+ catalogue writes and on media requests gets 403
40
+ `not_available_in_test_mode`.
41
+ - Idempotency keys are scoped per mode: the same `Idempotency-Key` sent with
42
+ a live and a test key never replays the other mode's response.
43
+
44
+ Webhooks: a subscription receives the events of its mode, signed as Standard
45
+ Webhooks. A subscription created with a live key gets the events of your
46
+ orders and your wallet; one created with a test key gets those of your test
47
+ orders and test wallet, with `mode: test`, and never a live event.
48
+ `x-webhooks` lists every event Growwer POSTs and its payload; the
49
+ WebhookEvent schema describes the headers, the signature and the retries.
50
+
28
51
  Every response carries `X-Request-Id`. Errors share one shape,
29
52
  `{code, message, requestId, details?}`. Money is integer cents plus a
30
53
  currency code and dates are ISO-8601.
@@ -33,7 +56,7 @@ currency code and dates are ISO-8601.
33
56
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
34
57
 
35
58
  - API version: 1
36
- - Package version: 2.0.0
59
+ - Package version: 2.1.0
37
60
  - Generator version: 7.24.0
38
61
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
39
62
  For more information, please visit [https://growwer.com/contact/](https://growwer.com/contact/)
@@ -51,16 +74,16 @@ gem build growwer.gemspec
51
74
  Then either install the gem locally:
52
75
 
53
76
  ```shell
54
- gem install ./growwer-2.0.0.gem
77
+ gem install ./growwer-2.1.0.gem
55
78
  ```
56
79
 
57
- (for development, run `gem install --dev ./growwer-2.0.0.gem` to install the development dependencies)
80
+ (for development, run `gem install --dev ./growwer-2.1.0.gem` to install the development dependencies)
58
81
 
59
82
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
60
83
 
61
84
  Finally add this to the Gemfile:
62
85
 
63
- gem 'growwer', '~> 2.0.0'
86
+ gem 'growwer', '~> 2.1.0'
64
87
 
65
88
  ### Install from Git
66
89
 
@@ -180,11 +203,26 @@ Class | Method | HTTP request | Description
180
203
  *Growwer::SellerWalletApi* | [**get_seller_wallet**](docs/SellerWalletApi.md#get_seller_wallet) | **GET** /api/v1/wallets/seller | Get your seller wallet
181
204
  *Growwer::SellerWalletApi* | [**list_seller_transactions**](docs/SellerWalletApi.md#list_seller_transactions) | **GET** /api/v1/wallets/seller/transactions | List your seller wallet movements
182
205
  *Growwer::SellerWalletApi* | [**list_withdrawals**](docs/SellerWalletApi.md#list_withdrawals) | **GET** /api/v1/withdrawals | List your withdrawals
206
+ *Growwer::TestHelpersApi* | [**advance_test_order**](docs/TestHelpersApi.md#advance_test_order) | **POST** /api/v1/test-helpers/orders/{id}/advance | Advance a test order
207
+ *Growwer::TestHelpersApi* | [**reset_test_data**](docs/TestHelpersApi.md#reset_test_data) | **POST** /api/v1/test-helpers/reset | Reset your test data
208
+ *Growwer::TestHelpersApi* | [**top_up_test_wallet**](docs/TestHelpersApi.md#top_up_test_wallet) | **POST** /api/v1/test-helpers/wallet/top-up | Top up your test wallet
209
+ *Growwer::WebhooksApi* | [**create_webhook**](docs/WebhooksApi.md#create_webhook) | **POST** /api/v1/webhooks | Create a webhook subscription
210
+ *Growwer::WebhooksApi* | [**delete_webhook**](docs/WebhooksApi.md#delete_webhook) | **DELETE** /api/v1/webhooks/{id} | Delete a webhook subscription
211
+ *Growwer::WebhooksApi* | [**get_webhook**](docs/WebhooksApi.md#get_webhook) | **GET** /api/v1/webhooks/{id} | Get a webhook subscription
212
+ *Growwer::WebhooksApi* | [**list_webhook_deliveries**](docs/WebhooksApi.md#list_webhook_deliveries) | **GET** /api/v1/webhooks/{id}/deliveries | List the deliveries of a webhook subscription
213
+ *Growwer::WebhooksApi* | [**list_webhooks**](docs/WebhooksApi.md#list_webhooks) | **GET** /api/v1/webhooks | List your webhook subscriptions
214
+ *Growwer::WebhooksApi* | [**redeliver_webhook**](docs/WebhooksApi.md#redeliver_webhook) | **POST** /api/v1/webhooks/{id}/deliveries/{deliveryId}/redeliver | Redeliver a webhook event
215
+ *Growwer::WebhooksApi* | [**rotate_webhook_secret**](docs/WebhooksApi.md#rotate_webhook_secret) | **POST** /api/v1/webhooks/{id}/rotate-secret | Rotate a webhook secret
216
+ *Growwer::WebhooksApi* | [**send_webhook_test**](docs/WebhooksApi.md#send_webhook_test) | **POST** /api/v1/webhooks/{id}/test | Send a test event
217
+ *Growwer::WebhooksApi* | [**update_webhook**](docs/WebhooksApi.md#update_webhook) | **PATCH** /api/v1/webhooks/{id} | Edit a webhook subscription
183
218
 
184
219
 
185
220
  ## Documentation for Models
186
221
 
222
+ - [Growwer::AdvanceTestOrderRequest](docs/AdvanceTestOrderRequest.md)
187
223
  - [Growwer::Balance](docs/Balance.md)
224
+ - [Growwer::BalanceLowEventData](docs/BalanceLowEventData.md)
225
+ - [Growwer::BalanceLowEventDataWallet](docs/BalanceLowEventDataWallet.md)
188
226
  - [Growwer::CatalogueMedia](docs/CatalogueMedia.md)
189
227
  - [Growwer::CatalogueMediaFlashOffer](docs/CatalogueMediaFlashOffer.md)
190
228
  - [Growwer::CatalogueMediaMetrics](docs/CatalogueMediaMetrics.md)
@@ -199,6 +237,7 @@ Class | Method | HTTP request | Description
199
237
  - [Growwer::CreateSavedFilterRequest](docs/CreateSavedFilterRequest.md)
200
238
  - [Growwer::CreateSellerMediaRequest](docs/CreateSellerMediaRequest.md)
201
239
  - [Growwer::CreateSellerMediaRequestPostOffer](docs/CreateSellerMediaRequestPostOffer.md)
240
+ - [Growwer::CreateWebhookRequest](docs/CreateWebhookRequest.md)
202
241
  - [Growwer::Error](docs/Error.md)
203
242
  - [Growwer::GetBuyerWallet200Response](docs/GetBuyerWallet200Response.md)
204
243
  - [Growwer::GetMe200Response](docs/GetMe200Response.md)
@@ -223,6 +262,8 @@ Class | Method | HTTP request | Description
223
262
  - [Growwer::ListSellerMedias200Response](docs/ListSellerMedias200Response.md)
224
263
  - [Growwer::ListSellerOrders200Response](docs/ListSellerOrders200Response.md)
225
264
  - [Growwer::ListSellerTransactions200Response](docs/ListSellerTransactions200Response.md)
265
+ - [Growwer::ListWebhookDeliveries200Response](docs/ListWebhookDeliveries200Response.md)
266
+ - [Growwer::ListWebhooks200Response](docs/ListWebhooks200Response.md)
226
267
  - [Growwer::ListWithdrawals200Response](docs/ListWithdrawals200Response.md)
227
268
  - [Growwer::ManagedServiceCampaign](docs/ManagedServiceCampaign.md)
228
269
  - [Growwer::ManagedServiceCampaignProject](docs/ManagedServiceCampaignProject.md)
@@ -251,6 +292,7 @@ Class | Method | HTTP request | Description
251
292
  - [Growwer::OrderEstimate](docs/OrderEstimate.md)
252
293
  - [Growwer::OrderEstimateRequest](docs/OrderEstimateRequest.md)
253
294
  - [Growwer::OrderEstimateRequestBriefing](docs/OrderEstimateRequestBriefing.md)
295
+ - [Growwer::OrderEventData](docs/OrderEventData.md)
254
296
  - [Growwer::OrderLink](docs/OrderLink.md)
255
297
  - [Growwer::OrderLinkRequest](docs/OrderLinkRequest.md)
256
298
  - [Growwer::OrderMedia](docs/OrderMedia.md)
@@ -289,6 +331,8 @@ Class | Method | HTTP request | Description
289
331
  - [Growwer::SellerOrderRejectionReason](docs/SellerOrderRejectionReason.md)
290
332
  - [Growwer::SellerPostOrderBriefing](docs/SellerPostOrderBriefing.md)
291
333
  - [Growwer::SellerTransaction](docs/SellerTransaction.md)
334
+ - [Growwer::TopUpTestWallet200Response](docs/TopUpTestWallet200Response.md)
335
+ - [Growwer::TopUpTestWalletRequest](docs/TopUpTestWalletRequest.md)
292
336
  - [Growwer::Transaction](docs/Transaction.md)
293
337
  - [Growwer::UpdateProjectRequest](docs/UpdateProjectRequest.md)
294
338
  - [Growwer::UpdateSellerMediaRequest](docs/UpdateSellerMediaRequest.md)
@@ -297,7 +341,16 @@ Class | Method | HTTP request | Description
297
341
  - [Growwer::UpdateSellerMediaRequestLinkAdditionOfferPricingOptionsInner](docs/UpdateSellerMediaRequestLinkAdditionOfferPricingOptionsInner.md)
298
342
  - [Growwer::UpdateSellerMediaRequestPostOffer](docs/UpdateSellerMediaRequestPostOffer.md)
299
343
  - [Growwer::UpdateSellerMediaRequestPostOfferPricingOptionsInner](docs/UpdateSellerMediaRequestPostOfferPricingOptionsInner.md)
344
+ - [Growwer::UpdateWebhookRequest](docs/UpdateWebhookRequest.md)
300
345
  - [Growwer::UploadFile201Response](docs/UploadFile201Response.md)
346
+ - [Growwer::Webhook](docs/Webhook.md)
347
+ - [Growwer::WebhookDelivery](docs/WebhookDelivery.md)
348
+ - [Growwer::WebhookDeliveryAttempt](docs/WebhookDeliveryAttempt.md)
349
+ - [Growwer::WebhookEvent](docs/WebhookEvent.md)
350
+ - [Growwer::WebhookEventData](docs/WebhookEventData.md)
351
+ - [Growwer::WebhookEventType](docs/WebhookEventType.md)
352
+ - [Growwer::WebhookTestEventData](docs/WebhookTestEventData.md)
353
+ - [Growwer::WebhookWithSecret](docs/WebhookWithSecret.md)
301
354
  - [Growwer::Withdrawal](docs/Withdrawal.md)
302
355
 
303
356
 
data/docs/AccountApi.md CHANGED
@@ -14,7 +14,7 @@ All URIs are relative to *https://tool.growwer.com*
14
14
 
15
15
  Your account
16
16
 
17
- Profile basics, the buyer and seller balances, whether your seller account is restricted, whether the catalogue is open to you, and whether you have a managed service.
17
+ Profile basics, the buyer and seller balances, whether your seller account is restricted, whether the catalogue is open to you, whether you have a managed service, and whether the key you called with is live or test. A test key reads its test wallet as the buyer balance (1,000.00 EUR until test orders and top-ups move it), never your real balance, and no seller side.
18
18
 
19
19
  ### Examples
20
20
 
@@ -0,0 +1,18 @@
1
+ # Growwer::AdvanceTestOrderRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **to** | **String** | The state to move the test order to. | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'growwer'
13
+
14
+ instance = Growwer::AdvanceTestOrderRequest.new(
15
+ to: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,20 @@
1
+ # Growwer::BalanceLowEventData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **wallet** | [**BalanceLowEventDataWallet**](BalanceLowEventDataWallet.md) | | |
8
+ | **threshold** | [**Money**](Money.md) | The subscription's `lowBalanceThreshold` that the balance dropped below. | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'growwer'
14
+
15
+ instance = Growwer::BalanceLowEventData.new(
16
+ wallet: null,
17
+ threshold: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Growwer::BalanceLowEventDataWallet
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **available_balance** | [**Money**](Money.md) | | |
8
+ | **currency** | **String** | The currency of the wallet. | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'growwer'
14
+
15
+ instance = Growwer::BalanceLowEventDataWallet.new(
16
+ available_balance: null,
17
+ currency: EUR
18
+ )
19
+ ```
20
+
data/docs/CatalogueApi.md CHANGED
@@ -592,7 +592,7 @@ end
592
592
 
593
593
  Restore a discarded media for a project
594
594
 
595
- Restores a media you discarded for one of your projects. Restoring one that is not discarded changes nothing. It works for any media, even one the catalogue no longer shows.
595
+ Restores a media you discarded for one of your projects. Restoring one that is not discarded, or an id no media has, changes nothing and answers the same. It works for any media, even one the catalogue no longer shows.
596
596
 
597
597
  ### Examples
598
598
 
@@ -664,7 +664,7 @@ nil (empty response body)
664
664
 
665
665
  Remove a media from the favourites of a project
666
666
 
667
- Removes a media from the favourites of one of your projects. Removing one that is not a favourite changes nothing. It works for any media, even one the catalogue no longer shows.
667
+ Removes a media from the favourites of one of your projects. Removing one that is not a favourite, or an id no media has, changes nothing and answers the same. It works for any media, even one the catalogue no longer shows.
668
668
 
669
669
  ### Examples
670
670
 
@@ -0,0 +1,24 @@
1
+ # Growwer::CreateWebhookRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **url** | **String** | An HTTPS URL of at most 2048 characters, without a backslash or credentials. Its host is an IP address or a domain name of two labels or more, such as hooks.example.com, with one trailing dot allowed; a single-label host such as localhost is refused (`validation_failed` on `url`). The host is checked, and resolved at each delivery, in lower case and with a Unicode name in punycode, the form a delivery connects to. | |
8
+ | **events** | [**Array<WebhookEventType>**](WebhookEventType.md) | The events to send, at least one. | |
9
+ | **low_balance_threshold** | [**Money**](Money.md) | With `balance.low`: the available buyer balance below which the event fires, in EUR. | [optional] |
10
+ | **description** | **String** | A note of yours, at most 255 characters. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'growwer'
16
+
17
+ instance = Growwer::CreateWebhookRequest.new(
18
+ url: null,
19
+ events: null,
20
+ low_balance_threshold: null,
21
+ description: null
22
+ )
23
+ ```
24
+
@@ -13,6 +13,7 @@
13
13
  | **seller** | [**GetMe200ResponseSeller**](GetMe200ResponseSeller.md) | | |
14
14
  | **catalogue** | [**GetMe200ResponseCatalogue**](GetMe200ResponseCatalogue.md) | | |
15
15
  | **managed_service** | [**GetMe200ResponseManagedService**](GetMe200ResponseManagedService.md) | | |
16
+ | **mode** | **String** | The mode of the key you called with. `live` works on your real account; `test` works in test mode, where nothing you do reaches real sellers, money or orders. Every response to a test key also carries the header `Growwer-Mode: test`. | |
16
17
 
17
18
  ## Example
18
19
 
@@ -28,7 +29,8 @@ instance = Growwer::GetMe200Response.new(
28
29
  buyer: null,
29
30
  seller: null,
30
31
  catalogue: null,
31
- managed_service: null
32
+ managed_service: null,
33
+ mode: null
32
34
  )
33
35
  ```
34
36
 
@@ -0,0 +1,20 @@
1
+ # Growwer::ListWebhookDeliveries200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **items** | [**Array<WebhookDelivery>**](WebhookDelivery.md) | | |
8
+ | **total** | **Integer** | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'growwer'
14
+
15
+ instance = Growwer::ListWebhookDeliveries200Response.new(
16
+ items: null,
17
+ total: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Growwer::ListWebhooks200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **items** | [**Array<Webhook>**](Webhook.md) | | |
8
+ | **total** | **Integer** | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'growwer'
14
+
15
+ instance = Growwer::ListWebhooks200Response.new(
16
+ items: null,
17
+ total: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # Growwer::OrderEventData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **order** | [**Order**](Order.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'growwer'
13
+
14
+ instance = Growwer::OrderEventData.new(
15
+ order: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,222 @@
1
+ # Growwer::TestHelpersApi
2
+
3
+ All URIs are relative to *https://tool.growwer.com*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**advance_test_order**](TestHelpersApi.md#advance_test_order) | **POST** /api/v1/test-helpers/orders/{id}/advance | Advance a test order |
8
+ | [**reset_test_data**](TestHelpersApi.md#reset_test_data) | **POST** /api/v1/test-helpers/reset | Reset your test data |
9
+ | [**top_up_test_wallet**](TestHelpersApi.md#top_up_test_wallet) | **POST** /api/v1/test-helpers/wallet/top-up | Top up your test wallet |
10
+
11
+
12
+ ## advance_test_order
13
+
14
+ > <Order> advance_test_order(id, idempotency_key, advance_test_order_request)
15
+
16
+ Advance a test order
17
+
18
+ Test keys only. Moves one of your test orders at once to `to`, without waiting for the simulated seller: `accepted` or `rejected` (by the seller, from `pending_acceptance`), `draft_delivered` (the sample draft, from `pending_draft` or `pending_draft_update`), `draft_update_requested` (as if you sent the draft back, from `pending_draft_review`), `published` (delivered for your review, from `pending_order_delivery`, `scheduled` or `pending_order_delivery_update`), `update_requested` (as if you sent the delivery back, from `pending_order_delivery_review`) or `cancelled_by_growwer` (from any state that is not finished). The order and your test wallet change as that move changes them live, a rejection or a cancellation refunding the price, and the simulated seller carries on from the new state. A post with a future `scheduledPublicationDate` waits in `scheduled` until that date once the simulated seller delivers it; `published` skips the wait. A target its state does not allow answers 409 `invalid_transition` with the targets it allows. A live key gets 403 `test_mode_only`.
19
+
20
+ ### Examples
21
+
22
+ ```ruby
23
+ require 'time'
24
+ require 'growwer'
25
+ # setup authorization
26
+ Growwer.configure do |config|
27
+ # Configure Bearer authorization: apiKey
28
+ config.access_token = 'YOUR_BEARER_TOKEN'
29
+ end
30
+
31
+ api_instance = Growwer::TestHelpersApi.new
32
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
33
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
34
+ advance_test_order_request = Growwer::AdvanceTestOrderRequest.new({to: 'accepted'}) # AdvanceTestOrderRequest |
35
+
36
+ begin
37
+ # Advance a test order
38
+ result = api_instance.advance_test_order(id, idempotency_key, advance_test_order_request)
39
+ p result
40
+ rescue Growwer::ApiError => e
41
+ puts "Error when calling TestHelpersApi->advance_test_order: #{e}"
42
+ end
43
+ ```
44
+
45
+ #### Using the advance_test_order_with_http_info variant
46
+
47
+ This returns an Array which contains the response data, status code and headers.
48
+
49
+ > <Array(<Order>, Integer, Hash)> advance_test_order_with_http_info(id, idempotency_key, advance_test_order_request)
50
+
51
+ ```ruby
52
+ begin
53
+ # Advance a test order
54
+ data, status_code, headers = api_instance.advance_test_order_with_http_info(id, idempotency_key, advance_test_order_request)
55
+ p status_code # => 2xx
56
+ p headers # => { ... }
57
+ p data # => <Order>
58
+ rescue Growwer::ApiError => e
59
+ puts "Error when calling TestHelpersApi->advance_test_order_with_http_info: #{e}"
60
+ end
61
+ ```
62
+
63
+ ### Parameters
64
+
65
+ | Name | Type | Description | Notes |
66
+ | ---- | ---- | ----------- | ----- |
67
+ | **id** | **String** | | |
68
+ | **idempotency_key** | **String** | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;. | |
69
+ | **advance_test_order_request** | [**AdvanceTestOrderRequest**](AdvanceTestOrderRequest.md) | | |
70
+
71
+ ### Return type
72
+
73
+ [**Order**](Order.md)
74
+
75
+ ### Authorization
76
+
77
+ [apiKey](../README.md#apiKey)
78
+
79
+ ### HTTP request headers
80
+
81
+ - **Content-Type**: application/json
82
+ - **Accept**: application/json
83
+
84
+
85
+ ## reset_test_data
86
+
87
+ > reset_test_data(idempotency_key)
88
+
89
+ Reset your test data
90
+
91
+ Test keys only. Deletes your test projects, orders and uploaded test files, and returns your test wallet to its opening balance of 1,000.00 EUR with no movements. Your API keys and webhook subscriptions stay, and nothing of your live account changes. It takes no body. A live key gets 403 `test_mode_only`.
92
+
93
+ ### Examples
94
+
95
+ ```ruby
96
+ require 'time'
97
+ require 'growwer'
98
+ # setup authorization
99
+ Growwer.configure do |config|
100
+ # Configure Bearer authorization: apiKey
101
+ config.access_token = 'YOUR_BEARER_TOKEN'
102
+ end
103
+
104
+ api_instance = Growwer::TestHelpersApi.new
105
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
106
+
107
+ begin
108
+ # Reset your test data
109
+ api_instance.reset_test_data(idempotency_key)
110
+ rescue Growwer::ApiError => e
111
+ puts "Error when calling TestHelpersApi->reset_test_data: #{e}"
112
+ end
113
+ ```
114
+
115
+ #### Using the reset_test_data_with_http_info variant
116
+
117
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
118
+
119
+ > <Array(nil, Integer, Hash)> reset_test_data_with_http_info(idempotency_key)
120
+
121
+ ```ruby
122
+ begin
123
+ # Reset your test data
124
+ data, status_code, headers = api_instance.reset_test_data_with_http_info(idempotency_key)
125
+ p status_code # => 2xx
126
+ p headers # => { ... }
127
+ p data # => nil
128
+ rescue Growwer::ApiError => e
129
+ puts "Error when calling TestHelpersApi->reset_test_data_with_http_info: #{e}"
130
+ end
131
+ ```
132
+
133
+ ### Parameters
134
+
135
+ | Name | Type | Description | Notes |
136
+ | ---- | ---- | ----------- | ----- |
137
+ | **idempotency_key** | **String** | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;. | |
138
+
139
+ ### Return type
140
+
141
+ nil (empty response body)
142
+
143
+ ### Authorization
144
+
145
+ [apiKey](../README.md#apiKey)
146
+
147
+ ### HTTP request headers
148
+
149
+ - **Content-Type**: Not defined
150
+ - **Accept**: application/json
151
+
152
+
153
+ ## top_up_test_wallet
154
+
155
+ > <TopUpTestWallet200Response> top_up_test_wallet(idempotency_key, top_up_test_wallet_request)
156
+
157
+ Top up your test wallet
158
+
159
+ Test keys only. Credits your test wallet, the buyer wallet a test key spends from, with fictitious money: more than nothing and at most 10,000.00 EUR per call. It never touches your real wallets, takes no payment and issues no invoice; the movement shows in GET /wallets/buyer/transactions for a test key as a confirmed `deposit`. A live key gets 403 `test_mode_only`.
160
+
161
+ ### Examples
162
+
163
+ ```ruby
164
+ require 'time'
165
+ require 'growwer'
166
+ # setup authorization
167
+ Growwer.configure do |config|
168
+ # Configure Bearer authorization: apiKey
169
+ config.access_token = 'YOUR_BEARER_TOKEN'
170
+ end
171
+
172
+ api_instance = Growwer::TestHelpersApi.new
173
+ idempotency_key = 'idempotency_key_example' # String | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (`!` to `~`); any other value answers 400 `invalid_idempotency_key`.
174
+ top_up_test_wallet_request = Growwer::TopUpTestWalletRequest.new({amount: Growwer::Money.new({amount: 12500, currency: 'EUR'})}) # TopUpTestWalletRequest |
175
+
176
+ begin
177
+ # Top up your test wallet
178
+ result = api_instance.top_up_test_wallet(idempotency_key, top_up_test_wallet_request)
179
+ p result
180
+ rescue Growwer::ApiError => e
181
+ puts "Error when calling TestHelpersApi->top_up_test_wallet: #{e}"
182
+ end
183
+ ```
184
+
185
+ #### Using the top_up_test_wallet_with_http_info variant
186
+
187
+ This returns an Array which contains the response data, status code and headers.
188
+
189
+ > <Array(<TopUpTestWallet200Response>, Integer, Hash)> top_up_test_wallet_with_http_info(idempotency_key, top_up_test_wallet_request)
190
+
191
+ ```ruby
192
+ begin
193
+ # Top up your test wallet
194
+ data, status_code, headers = api_instance.top_up_test_wallet_with_http_info(idempotency_key, top_up_test_wallet_request)
195
+ p status_code # => 2xx
196
+ p headers # => { ... }
197
+ p data # => <TopUpTestWallet200Response>
198
+ rescue Growwer::ApiError => e
199
+ puts "Error when calling TestHelpersApi->top_up_test_wallet_with_http_info: #{e}"
200
+ end
201
+ ```
202
+
203
+ ### Parameters
204
+
205
+ | Name | Type | Description | Notes |
206
+ | ---- | ---- | ----------- | ----- |
207
+ | **idempotency_key** | **String** | A new key for each write, reused only to retry that same write. 1 to 255 printable ASCII characters without spaces (&#x60;!&#x60; to &#x60;~&#x60;); any other value answers 400 &#x60;invalid_idempotency_key&#x60;. | |
208
+ | **top_up_test_wallet_request** | [**TopUpTestWalletRequest**](TopUpTestWalletRequest.md) | | |
209
+
210
+ ### Return type
211
+
212
+ [**TopUpTestWallet200Response**](TopUpTestWallet200Response.md)
213
+
214
+ ### Authorization
215
+
216
+ [apiKey](../README.md#apiKey)
217
+
218
+ ### HTTP request headers
219
+
220
+ - **Content-Type**: application/json
221
+ - **Accept**: application/json
222
+
@@ -0,0 +1,20 @@
1
+ # Growwer::TopUpTestWallet200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **balance** | [**Balance**](Balance.md) | | |
8
+ | **top_up_url** | **String** | The wallet page where a live buyer tops up, as GET /wallets/buyer gives it. | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'growwer'
14
+
15
+ instance = Growwer::TopUpTestWallet200Response.new(
16
+ balance: null,
17
+ top_up_url: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # Growwer::TopUpTestWalletRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **amount** | [**Money**](Money.md) | What to credit, in EUR: from 1 to 1000000 cents. | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'growwer'
13
+
14
+ instance = Growwer::TopUpTestWalletRequest.new(
15
+ amount: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,26 @@
1
+ # Growwer::UpdateWebhookRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **url** | **String** | An HTTPS URL of at most 2048 characters, without a backslash or credentials. Its host is an IP address or a domain name of two labels or more, such as hooks.example.com, with one trailing dot allowed; a single-label host such as localhost is refused (&#x60;validation_failed&#x60; on &#x60;url&#x60;). The host is checked, and resolved at each delivery, in lower case and with a Unicode name in punycode, the form a delivery connects to. | [optional] |
8
+ | **events** | [**Array&lt;WebhookEventType&gt;**](WebhookEventType.md) | The events to send, at least one; replaces the list. | [optional] |
9
+ | **low_balance_threshold** | [**MoneyOrNull**](MoneyOrNull.md) | With &#x60;balance.low&#x60;: the available buyer balance below which the event fires, in EUR. Null removes it. | [optional] |
10
+ | **description** | **String** | A note of yours, at most 255 characters. Null removes it. | [optional] |
11
+ | **enabled** | **Boolean** | Whether the subscription gets events. | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'growwer'
17
+
18
+ instance = Growwer::UpdateWebhookRequest.new(
19
+ url: null,
20
+ events: null,
21
+ low_balance_threshold: null,
22
+ description: null,
23
+ enabled: null
24
+ )
25
+ ```
26
+