growwer 2.0.0 → 2.2.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 (209) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +61 -6
  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/Money.md +4 -2
  13. data/docs/MoneyOrNull.md +4 -2
  14. data/docs/OrderCreateRequest.md +1 -1
  15. data/docs/OrderEventData.md +18 -0
  16. data/docs/SellerMedia.md +3 -1
  17. data/docs/SellerMediaCompetitiveFeesByLinkTypeInner.md +22 -0
  18. data/docs/SellerMediasApi.md +5 -5
  19. data/docs/TestHelpersApi.md +222 -0
  20. data/docs/TopUpTestWallet200Response.md +20 -0
  21. data/docs/TopUpTestWalletRequest.md +18 -0
  22. data/docs/UpdateWebhookRequest.md +26 -0
  23. data/docs/Webhook.md +38 -0
  24. data/docs/WebhookDelivery.md +32 -0
  25. data/docs/WebhookDeliveryAttempt.md +26 -0
  26. data/docs/WebhookEvent.md +28 -0
  27. data/docs/WebhookEventData.md +51 -0
  28. data/docs/WebhookEventType.md +15 -0
  29. data/docs/WebhookTestEventData.md +18 -0
  30. data/docs/WebhookWithSecret.md +40 -0
  31. data/docs/WebhooksApi.md +662 -0
  32. data/growwer.gemspec +1 -1
  33. data/lib/growwer/api/account_api.rb +3 -3
  34. data/lib/growwer/api/buyer_orders_api.rb +1 -1
  35. data/lib/growwer/api/buyer_wallet_api.rb +1 -1
  36. data/lib/growwer/api/catalogue_api.rb +5 -5
  37. data/lib/growwer/api/files_api.rb +1 -1
  38. data/lib/growwer/api/managed_services_api.rb +1 -1
  39. data/lib/growwer/api/projects_api.rb +1 -1
  40. data/lib/growwer/api/saved_filters_api.rb +1 -1
  41. data/lib/growwer/api/seller_account_api.rb +1 -1
  42. data/lib/growwer/api/seller_medias_api.rb +5 -5
  43. data/lib/growwer/api/seller_orders_api.rb +1 -1
  44. data/lib/growwer/api/seller_wallet_api.rb +1 -1
  45. data/lib/growwer/api/test_helpers_api.rb +254 -0
  46. data/lib/growwer/api/webhooks_api.rb +707 -0
  47. data/lib/growwer/api_client.rb +2 -2
  48. data/lib/growwer/api_error.rb +1 -1
  49. data/lib/growwer/api_model_base.rb +1 -1
  50. data/lib/growwer/configuration.rb +1 -1
  51. data/lib/growwer/models/advance_test_order_request.rb +189 -0
  52. data/lib/growwer/models/balance.rb +1 -1
  53. data/lib/growwer/models/balance_low_event_data.rb +192 -0
  54. data/lib/growwer/models/balance_low_event_data_wallet.rb +192 -0
  55. data/lib/growwer/models/catalogue_media.rb +1 -1
  56. data/lib/growwer/models/catalogue_media_flash_offer.rb +1 -1
  57. data/lib/growwer/models/catalogue_media_metrics.rb +1 -1
  58. data/lib/growwer/models/catalogue_offer.rb +1 -1
  59. data/lib/growwer/models/catalogue_offer_or_null.rb +1 -1
  60. data/lib/growwer/models/catalogue_post_offer.rb +1 -1
  61. data/lib/growwer/models/catalogue_post_offer_all_of_extras.rb +1 -1
  62. data/lib/growwer/models/catalogue_post_offer_all_of_extras_sensitive_topic.rb +1 -1
  63. data/lib/growwer/models/code_name.rb +1 -1
  64. data/lib/growwer/models/count_saved_filter_medias200_response.rb +1 -1
  65. data/lib/growwer/models/create_project_request.rb +1 -1
  66. data/lib/growwer/models/create_saved_filter_request.rb +1 -1
  67. data/lib/growwer/models/create_seller_media_request.rb +1 -1
  68. data/lib/growwer/models/create_seller_media_request_post_offer.rb +1 -1
  69. data/lib/growwer/models/create_webhook_request.rb +248 -0
  70. data/lib/growwer/models/error.rb +1 -1
  71. data/lib/growwer/models/get_buyer_wallet200_response.rb +1 -1
  72. data/lib/growwer/models/get_me200_response.rb +57 -20
  73. data/lib/growwer/models/get_me200_response_buyer.rb +1 -1
  74. data/lib/growwer/models/get_me200_response_catalogue.rb +1 -1
  75. data/lib/growwer/models/get_me200_response_managed_service.rb +1 -1
  76. data/lib/growwer/models/get_me200_response_seller.rb +2 -1
  77. data/lib/growwer/models/get_seller_wallet200_response.rb +1 -1
  78. data/lib/growwer/models/get_vocabulary200_response.rb +1 -1
  79. data/lib/growwer/models/get_vocabulary200_response_topics_inner.rb +1 -1
  80. data/lib/growwer/models/invoice.rb +1 -1
  81. data/lib/growwer/models/link_addition_order_briefing.rb +1 -1
  82. data/lib/growwer/models/link_addition_order_briefing_request.rb +1 -1
  83. data/lib/growwer/models/list_buyer_transactions200_response.rb +1 -1
  84. data/lib/growwer/models/list_flash_offers200_response.rb +1 -1
  85. data/lib/growwer/models/list_invoices200_response.rb +1 -1
  86. data/lib/growwer/models/list_managed_service_campaigns200_response.rb +1 -1
  87. data/lib/growwer/models/list_managed_service_proposals200_response.rb +1 -1
  88. data/lib/growwer/models/list_orders200_response.rb +1 -1
  89. data/lib/growwer/models/list_projects200_response.rb +1 -1
  90. data/lib/growwer/models/list_saved_filters200_response.rb +1 -1
  91. data/lib/growwer/models/list_seller_medias200_response.rb +1 -1
  92. data/lib/growwer/models/list_seller_orders200_response.rb +1 -1
  93. data/lib/growwer/models/list_seller_transactions200_response.rb +1 -1
  94. data/lib/growwer/models/list_webhook_deliveries200_response.rb +192 -0
  95. data/lib/growwer/models/list_webhooks200_response.rb +192 -0
  96. data/lib/growwer/models/list_withdrawals200_response.rb +1 -1
  97. data/lib/growwer/models/managed_service_campaign.rb +1 -1
  98. data/lib/growwer/models/managed_service_campaign_project.rb +1 -1
  99. data/lib/growwer/models/managed_service_campaign_proposal_counts.rb +1 -1
  100. data/lib/growwer/models/managed_service_campaign_strategy.rb +1 -1
  101. data/lib/growwer/models/managed_service_proposal.rb +1 -1
  102. data/lib/growwer/models/managed_service_proposal_briefing.rb +1 -1
  103. data/lib/growwer/models/managed_service_proposal_briefing_links_inner.rb +1 -1
  104. data/lib/growwer/models/managed_service_proposal_media.rb +1 -1
  105. data/lib/growwer/models/managed_service_proposal_review.rb +1 -1
  106. data/lib/growwer/models/managed_service_proposal_review_request.rb +1 -1
  107. data/lib/growwer/models/managed_service_proposal_review_request_reviews_inner.rb +1 -1
  108. data/lib/growwer/models/managed_service_proposals_estimate.rb +1 -1
  109. data/lib/growwer/models/managed_service_proposals_estimate_request.rb +1 -1
  110. data/lib/growwer/models/managed_service_request.rb +1 -1
  111. data/lib/growwer/models/managed_service_request_sent.rb +1 -1
  112. data/lib/growwer/models/money.rb +16 -6
  113. data/lib/growwer/models/money_or_null.rb +16 -6
  114. data/lib/growwer/models/order.rb +1 -1
  115. data/lib/growwer/models/order_action_reason.rb +1 -1
  116. data/lib/growwer/models/order_briefing.rb +1 -1
  117. data/lib/growwer/models/order_channel.rb +1 -1
  118. data/lib/growwer/models/order_create_request.rb +2 -2
  119. data/lib/growwer/models/order_delivery.rb +1 -1
  120. data/lib/growwer/models/order_draft.rb +1 -1
  121. data/lib/growwer/models/order_estimate.rb +1 -1
  122. data/lib/growwer/models/order_estimate_request.rb +1 -1
  123. data/lib/growwer/models/order_estimate_request_briefing.rb +1 -1
  124. data/lib/growwer/models/order_event_data.rb +165 -0
  125. data/lib/growwer/models/order_link.rb +1 -1
  126. data/lib/growwer/models/order_link_request.rb +1 -1
  127. data/lib/growwer/models/order_media.rb +1 -1
  128. data/lib/growwer/models/order_project.rb +1 -1
  129. data/lib/growwer/models/order_state_history_inner.rb +1 -1
  130. data/lib/growwer/models/order_state_history_inner_reason.rb +1 -1
  131. data/lib/growwer/models/post_order_briefing.rb +1 -1
  132. data/lib/growwer/models/post_order_briefing_request.rb +1 -1
  133. data/lib/growwer/models/project.rb +1 -1
  134. data/lib/growwer/models/project_catalogue_media.rb +1 -1
  135. data/lib/growwer/models/project_catalogue_media_all_of_project.rb +1 -1
  136. data/lib/growwer/models/project_catalogue_media_all_of_project_ai_keywords.rb +1 -1
  137. data/lib/growwer/models/put_seller_holiday200_response.rb +1 -1
  138. data/lib/growwer/models/put_seller_holiday_request.rb +1 -1
  139. data/lib/growwer/models/request_medias201_response.rb +1 -1
  140. data/lib/growwer/models/request_medias_request.rb +1 -1
  141. data/lib/growwer/models/saved_filter.rb +1 -1
  142. data/lib/growwer/models/saved_filter_notifications.rb +1 -1
  143. data/lib/growwer/models/seller_fees.rb +1 -1
  144. data/lib/growwer/models/seller_fees_or_null.rb +1 -1
  145. data/lib/growwer/models/seller_media.rb +18 -3
  146. data/lib/growwer/models/seller_media_competitive_fees_by_link_type_inner.rb +214 -0
  147. data/lib/growwer/models/seller_media_flash_offer.rb +1 -1
  148. data/lib/growwer/models/seller_media_link_addition_offer.rb +1 -1
  149. data/lib/growwer/models/seller_media_link_addition_offer_pricing_options_inner.rb +1 -1
  150. data/lib/growwer/models/seller_media_post_offer.rb +1 -1
  151. data/lib/growwer/models/seller_media_post_offer_pricing_options_inner.rb +1 -1
  152. data/lib/growwer/models/seller_order.rb +1 -1
  153. data/lib/growwer/models/seller_order_briefing.rb +1 -1
  154. data/lib/growwer/models/seller_order_channel.rb +1 -1
  155. data/lib/growwer/models/seller_order_draft.rb +1 -1
  156. data/lib/growwer/models/seller_order_draft_file.rb +1 -1
  157. data/lib/growwer/models/seller_order_post_delivery.rb +1 -1
  158. data/lib/growwer/models/seller_order_project.rb +1 -1
  159. data/lib/growwer/models/seller_order_refutation.rb +1 -1
  160. data/lib/growwer/models/seller_order_rejection.rb +1 -1
  161. data/lib/growwer/models/seller_order_rejection_reason.rb +1 -1
  162. data/lib/growwer/models/seller_post_order_briefing.rb +1 -1
  163. data/lib/growwer/models/seller_transaction.rb +1 -1
  164. data/lib/growwer/models/top_up_test_wallet200_response.rb +191 -0
  165. data/lib/growwer/models/top_up_test_wallet_request.rb +165 -0
  166. data/lib/growwer/models/transaction.rb +1 -1
  167. data/lib/growwer/models/update_project_request.rb +1 -1
  168. data/lib/growwer/models/update_seller_media_request.rb +1 -1
  169. data/lib/growwer/models/update_seller_media_request_extra_services_inner.rb +1 -1
  170. data/lib/growwer/models/update_seller_media_request_link_addition_offer.rb +1 -1
  171. data/lib/growwer/models/update_seller_media_request_link_addition_offer_pricing_options_inner.rb +1 -1
  172. data/lib/growwer/models/update_seller_media_request_post_offer.rb +1 -1
  173. data/lib/growwer/models/update_seller_media_request_post_offer_pricing_options_inner.rb +1 -1
  174. data/lib/growwer/models/update_webhook_request.rb +245 -0
  175. data/lib/growwer/models/upload_file201_response.rb +1 -1
  176. data/lib/growwer/models/webhook.rb +395 -0
  177. data/lib/growwer/models/webhook_delivery.rb +365 -0
  178. data/lib/growwer/models/webhook_delivery_attempt.rb +264 -0
  179. data/lib/growwer/models/webhook_event.rb +324 -0
  180. data/lib/growwer/models/webhook_event_data.rb +104 -0
  181. data/lib/growwer/models/webhook_event_type.rb +46 -0
  182. data/lib/growwer/models/webhook_test_event_data.rb +166 -0
  183. data/lib/growwer/models/webhook_with_secret.rb +413 -0
  184. data/lib/growwer/models/withdrawal.rb +1 -1
  185. data/lib/growwer/version.rb +2 -2
  186. data/lib/growwer.rb +22 -1
  187. data/spec/api/test_helpers_api_spec.rb +74 -0
  188. data/spec/api/webhooks_api_spec.rb +154 -0
  189. data/spec/models/advance_test_order_request_spec.rb +40 -0
  190. data/spec/models/balance_low_event_data_spec.rb +42 -0
  191. data/spec/models/balance_low_event_data_wallet_spec.rb +42 -0
  192. data/spec/models/create_webhook_request_spec.rb +54 -0
  193. data/spec/models/list_webhook_deliveries200_response_spec.rb +42 -0
  194. data/spec/models/list_webhooks200_response_spec.rb +42 -0
  195. data/spec/models/order_event_data_spec.rb +36 -0
  196. data/spec/models/seller_media_competitive_fees_by_link_type_inner_spec.rb +52 -0
  197. data/spec/models/top_up_test_wallet200_response_spec.rb +42 -0
  198. data/spec/models/top_up_test_wallet_request_spec.rb +36 -0
  199. data/spec/models/update_webhook_request_spec.rb +60 -0
  200. data/spec/models/webhook_delivery_attempt_spec.rb +64 -0
  201. data/spec/models/webhook_delivery_spec.rb +86 -0
  202. data/spec/models/webhook_event_data_spec.rb +32 -0
  203. data/spec/models/webhook_event_spec.rb +78 -0
  204. data/spec/models/webhook_event_type_spec.rb +30 -0
  205. data/spec/models/webhook_spec.rb +100 -0
  206. data/spec/models/webhook_test_event_data_spec.rb +36 -0
  207. data/spec/models/webhook_with_secret_spec.rb +106 -0
  208. data/spec/spec_helper.rb +1 -1
  209. metadata +86 -2
@@ -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
+
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&lt;WebhookEventType&gt;**](WebhookEventType.md) | | |
10
+ | **low_balance_threshold** | [**MoneyOrNull**](MoneyOrNull.md) | With &#x60;balance.low&#x60;, 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. &#x60;by_user&#x60;, through PATCH /webhooks/{id}; &#x60;endpoint_gone&#x60;, its endpoint answered 410; &#x60;failing&#x60;, 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 &#x60;failingSince&#x60; 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&#39;s id, sent as &#x60;webhook-id&#x60; on every attempt and redelivery. | |
9
+ | **event_type** | **String** | | |
10
+ | **status** | **String** | &#x60;pending&#x60; while it is sent or retried, &#x60;succeeded&#x60; once an attempt got a 2xx, &#x60;failed&#x60; 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&lt;WebhookDeliveryAttempt&gt;**](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. &#x60;address_not_allowed&#x60;, 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,15 @@
1
+ # Growwer::WebhookEventType
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'growwer'
12
+
13
+ instance = Growwer::WebhookEventType.new()
14
+ ```
15
+
@@ -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&lt;WebhookEventType&gt;**](WebhookEventType.md) | | |
10
+ | **low_balance_threshold** | [**MoneyOrNull**](MoneyOrNull.md) | With &#x60;balance.low&#x60;, 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. &#x60;by_user&#x60;, through PATCH /webhooks/{id}; &#x60;endpoint_gone&#x60;, its endpoint answered 410; &#x60;failing&#x60;, 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 &#x60;failingSince&#x60; 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, &#x60;whsec_&#x60; and the base64 of 32 random bytes. Shown only in this answer, and absent when the request is replayed under its &#x60;Idempotency-Key&#x60; (or the MCP tool under its &#x60;requestId&#x60;), 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
+