growwer 1.0.1 → 1.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 +32 -27
- data/docs/AccountApi.md +0 -72
- data/docs/{OrdersApi.md → BuyerOrdersApi.md} +45 -45
- data/docs/{BuyerMoneyApi.md → BuyerWalletApi.md} +21 -21
- data/docs/CatalogueApi.md +6 -6
- data/docs/CreateSellerMediaRequest.md +38 -0
- data/docs/CreateSellerMediaRequestPostOffer.md +24 -0
- data/docs/Error.md +2 -2
- data/docs/FilesApi.md +1 -1
- data/docs/GetMe200ResponseCatalogue.md +6 -2
- data/docs/ManagedServicesApi.md +2 -2
- data/docs/ProjectCatalogueMediaAllOfProject.md +3 -1
- data/docs/ProjectCatalogueMediaAllOfProjectAiKeywords.md +20 -0
- data/docs/SellerAccountApi.md +79 -0
- data/docs/SellerMedia.md +2 -0
- data/docs/SellerMediaPostOffer.md +7 -1
- data/docs/SellerMediasApi.md +148 -5
- data/docs/{SellerMoneyApi.md → SellerWalletApi.md} +21 -21
- data/docs/UpdateSellerMediaRequest.md +2 -0
- data/docs/UpdateSellerMediaRequestPostOffer.md +8 -2
- data/lib/growwer/api/account_api.rb +0 -79
- data/lib/growwer/api/{orders_api.rb → buyer_orders_api.rb} +62 -62
- data/lib/growwer/api/{buyer_money_api.rb → buyer_wallet_api.rb} +24 -24
- data/lib/growwer/api/catalogue_api.rb +8 -8
- data/lib/growwer/api/files_api.rb +2 -2
- data/lib/growwer/api/managed_services_api.rb +4 -4
- data/lib/growwer/api/seller_account_api.rb +101 -0
- data/lib/growwer/api/seller_medias_api.rb +157 -4
- data/lib/growwer/api/{seller_money_api.rb → seller_wallet_api.rb} +24 -24
- data/lib/growwer/api_client.rb +1 -1
- data/lib/growwer/models/create_seller_media_request.rb +447 -0
- data/lib/growwer/models/create_seller_media_request_post_offer.rb +273 -0
- data/lib/growwer/models/error.rb +1 -1
- data/lib/growwer/models/get_me200_response_catalogue.rb +69 -5
- data/lib/growwer/models/project_catalogue_media_all_of_project.rb +34 -5
- data/lib/growwer/models/project_catalogue_media_all_of_project_ai_keywords.rb +211 -0
- data/lib/growwer/models/seller_media.rb +29 -1
- data/lib/growwer/models/seller_media_post_offer.rb +99 -1
- data/lib/growwer/models/update_seller_media_request.rb +44 -1
- data/lib/growwer/models/update_seller_media_request_post_offer.rb +96 -12
- data/lib/growwer/version.rb +1 -1
- data/lib/growwer.rb +7 -3
- data/spec/api/account_api_spec.rb +1 -14
- data/spec/api/{orders_api_spec.rb → buyer_orders_api_spec.rb} +13 -13
- data/spec/api/{buyer_money_api_spec.rb → buyer_wallet_api_spec.rb} +7 -7
- data/spec/api/seller_account_api_spec.rb +48 -0
- data/spec/api/{seller_money_api_spec.rb → seller_wallet_api_spec.rb} +7 -7
- data/spec/models/create_seller_media_request_post_offer_spec.rb +62 -0
- data/spec/models/create_seller_media_request_spec.rb +100 -0
- data/spec/models/project_catalogue_media_all_of_project_ai_keywords_spec.rb +46 -0
- metadata +30 -14
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# Growwer::
|
|
1
|
+
# Growwer::BuyerWalletApi
|
|
2
2
|
|
|
3
3
|
All URIs are relative to *https://tool.growwer.com*
|
|
4
4
|
|
|
5
5
|
| Method | HTTP request | Description |
|
|
6
6
|
| ------ | ------------ | ----------- |
|
|
7
|
-
| [**download_buyer_transaction_document**](
|
|
8
|
-
| [**get_buyer_wallet**](
|
|
9
|
-
| [**get_invoice_pdf**](
|
|
10
|
-
| [**list_buyer_transactions**](
|
|
11
|
-
| [**list_invoices**](
|
|
7
|
+
| [**download_buyer_transaction_document**](BuyerWalletApi.md#download_buyer_transaction_document) | **GET** /api/v1/wallets/buyer/transactions/{id}/document | Download the document of a wallet movement |
|
|
8
|
+
| [**get_buyer_wallet**](BuyerWalletApi.md#get_buyer_wallet) | **GET** /api/v1/wallets/buyer | Get your buyer wallet |
|
|
9
|
+
| [**get_invoice_pdf**](BuyerWalletApi.md#get_invoice_pdf) | **GET** /api/v1/invoices/{id}/pdf | Download an invoice |
|
|
10
|
+
| [**list_buyer_transactions**](BuyerWalletApi.md#list_buyer_transactions) | **GET** /api/v1/wallets/buyer/transactions | List your buyer wallet movements |
|
|
11
|
+
| [**list_invoices**](BuyerWalletApi.md#list_invoices) | **GET** /api/v1/invoices | List your invoices |
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
## download_buyer_transaction_document
|
|
@@ -30,7 +30,7 @@ Growwer.configure do |config|
|
|
|
30
30
|
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
api_instance = Growwer::
|
|
33
|
+
api_instance = Growwer::BuyerWalletApi.new
|
|
34
34
|
id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
|
|
35
35
|
|
|
36
36
|
begin
|
|
@@ -38,7 +38,7 @@ begin
|
|
|
38
38
|
result = api_instance.download_buyer_transaction_document(id)
|
|
39
39
|
p result
|
|
40
40
|
rescue Growwer::ApiError => e
|
|
41
|
-
puts "Error when calling
|
|
41
|
+
puts "Error when calling BuyerWalletApi->download_buyer_transaction_document: #{e}"
|
|
42
42
|
end
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -56,7 +56,7 @@ begin
|
|
|
56
56
|
p headers # => { ... }
|
|
57
57
|
p data # => File
|
|
58
58
|
rescue Growwer::ApiError => e
|
|
59
|
-
puts "Error when calling
|
|
59
|
+
puts "Error when calling BuyerWalletApi->download_buyer_transaction_document_with_http_info: #{e}"
|
|
60
60
|
end
|
|
61
61
|
```
|
|
62
62
|
|
|
@@ -99,14 +99,14 @@ Growwer.configure do |config|
|
|
|
99
99
|
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
100
100
|
end
|
|
101
101
|
|
|
102
|
-
api_instance = Growwer::
|
|
102
|
+
api_instance = Growwer::BuyerWalletApi.new
|
|
103
103
|
|
|
104
104
|
begin
|
|
105
105
|
# Get your buyer wallet
|
|
106
106
|
result = api_instance.get_buyer_wallet
|
|
107
107
|
p result
|
|
108
108
|
rescue Growwer::ApiError => e
|
|
109
|
-
puts "Error when calling
|
|
109
|
+
puts "Error when calling BuyerWalletApi->get_buyer_wallet: #{e}"
|
|
110
110
|
end
|
|
111
111
|
```
|
|
112
112
|
|
|
@@ -124,7 +124,7 @@ begin
|
|
|
124
124
|
p headers # => { ... }
|
|
125
125
|
p data # => <GetBuyerWallet200Response>
|
|
126
126
|
rescue Growwer::ApiError => e
|
|
127
|
-
puts "Error when calling
|
|
127
|
+
puts "Error when calling BuyerWalletApi->get_buyer_wallet_with_http_info: #{e}"
|
|
128
128
|
end
|
|
129
129
|
```
|
|
130
130
|
|
|
@@ -165,7 +165,7 @@ Growwer.configure do |config|
|
|
|
165
165
|
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
166
166
|
end
|
|
167
167
|
|
|
168
|
-
api_instance = Growwer::
|
|
168
|
+
api_instance = Growwer::BuyerWalletApi.new
|
|
169
169
|
id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
|
|
170
170
|
|
|
171
171
|
begin
|
|
@@ -173,7 +173,7 @@ begin
|
|
|
173
173
|
result = api_instance.get_invoice_pdf(id)
|
|
174
174
|
p result
|
|
175
175
|
rescue Growwer::ApiError => e
|
|
176
|
-
puts "Error when calling
|
|
176
|
+
puts "Error when calling BuyerWalletApi->get_invoice_pdf: #{e}"
|
|
177
177
|
end
|
|
178
178
|
```
|
|
179
179
|
|
|
@@ -191,7 +191,7 @@ begin
|
|
|
191
191
|
p headers # => { ... }
|
|
192
192
|
p data # => File
|
|
193
193
|
rescue Growwer::ApiError => e
|
|
194
|
-
puts "Error when calling
|
|
194
|
+
puts "Error when calling BuyerWalletApi->get_invoice_pdf_with_http_info: #{e}"
|
|
195
195
|
end
|
|
196
196
|
```
|
|
197
197
|
|
|
@@ -234,7 +234,7 @@ Growwer.configure do |config|
|
|
|
234
234
|
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
235
235
|
end
|
|
236
236
|
|
|
237
|
-
api_instance = Growwer::
|
|
237
|
+
api_instance = Growwer::BuyerWalletApi.new
|
|
238
238
|
opts = {
|
|
239
239
|
limit: 56, # Integer | Movements per page, 1 to 100.
|
|
240
240
|
offset: 56 # Integer | Movements to skip.
|
|
@@ -245,7 +245,7 @@ begin
|
|
|
245
245
|
result = api_instance.list_buyer_transactions(opts)
|
|
246
246
|
p result
|
|
247
247
|
rescue Growwer::ApiError => e
|
|
248
|
-
puts "Error when calling
|
|
248
|
+
puts "Error when calling BuyerWalletApi->list_buyer_transactions: #{e}"
|
|
249
249
|
end
|
|
250
250
|
```
|
|
251
251
|
|
|
@@ -263,7 +263,7 @@ begin
|
|
|
263
263
|
p headers # => { ... }
|
|
264
264
|
p data # => <ListBuyerTransactions200Response>
|
|
265
265
|
rescue Growwer::ApiError => e
|
|
266
|
-
puts "Error when calling
|
|
266
|
+
puts "Error when calling BuyerWalletApi->list_buyer_transactions_with_http_info: #{e}"
|
|
267
267
|
end
|
|
268
268
|
```
|
|
269
269
|
|
|
@@ -307,7 +307,7 @@ Growwer.configure do |config|
|
|
|
307
307
|
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
308
308
|
end
|
|
309
309
|
|
|
310
|
-
api_instance = Growwer::
|
|
310
|
+
api_instance = Growwer::BuyerWalletApi.new
|
|
311
311
|
opts = {
|
|
312
312
|
limit: 56, # Integer | Invoices per page, 1 to 100.
|
|
313
313
|
offset: 56 # Integer | Invoices to skip.
|
|
@@ -318,7 +318,7 @@ begin
|
|
|
318
318
|
result = api_instance.list_invoices(opts)
|
|
319
319
|
p result
|
|
320
320
|
rescue Growwer::ApiError => e
|
|
321
|
-
puts "Error when calling
|
|
321
|
+
puts "Error when calling BuyerWalletApi->list_invoices: #{e}"
|
|
322
322
|
end
|
|
323
323
|
```
|
|
324
324
|
|
|
@@ -336,7 +336,7 @@ begin
|
|
|
336
336
|
p headers # => { ... }
|
|
337
337
|
p data # => <ListInvoices200Response>
|
|
338
338
|
rescue Growwer::ApiError => e
|
|
339
|
-
puts "Error when calling
|
|
339
|
+
puts "Error when calling BuyerWalletApi->list_invoices_with_http_info: #{e}"
|
|
340
340
|
end
|
|
341
341
|
```
|
|
342
342
|
|
data/docs/CatalogueApi.md
CHANGED
|
@@ -164,7 +164,7 @@ nil (empty response body)
|
|
|
164
164
|
|
|
165
165
|
Get a media
|
|
166
166
|
|
|
167
|
-
One media of the catalogue: an active, public media. A media you have ordered is always readable, even if it has since left the catalogue, and is open to every account. Otherwise the
|
|
167
|
+
One media of the catalogue: an active, public media. A media you have ordered is always readable, even if it has since left the catalogue, and is open to every account. Otherwise the media counts towards the distinct medias the account may see per day (UTC): the full daily cap for accounts with recent completed orders, a smaller trial quota for other accounts (see `catalogue.eligible`, `catalogue.dailyCap` and `catalogue.remainingToday` on GET /me). For the media's state in one of your projects, search the project with GET /projects/{id}/medias.
|
|
168
168
|
|
|
169
169
|
### Examples
|
|
170
170
|
|
|
@@ -281,7 +281,7 @@ opts = {
|
|
|
281
281
|
discarded: true, # Boolean | `true`: only the medias you discarded for the project; `false`: leave them out.
|
|
282
282
|
new: true, # Boolean | Medias Growwer matched with the project recently. Only `true` applies it; omit it otherwise.
|
|
283
283
|
ranks_goal_keyword: 'ranks_goal_keyword_example', # String | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. `user`: your keywords; `publicGenerated`: keywords Growwer found for the project.
|
|
284
|
-
ranks_ai_keyword: 'ranks_ai_keyword_example', # String | A comma-separated list of AI answer engines: medias
|
|
284
|
+
ranks_ai_keyword: 'ranks_ai_keyword_example', # String | A comma-separated list of AI answer engines: medias the web lists an AI keyword of the project for, from any of them. `googleAiOverview`, `chatgpt`, `googleAiMode`.
|
|
285
285
|
limit: 56, # Integer | Medias per page, 1 to 100.
|
|
286
286
|
offset: 56 # Integer | Medias to skip, at most 99900.
|
|
287
287
|
}
|
|
@@ -350,7 +350,7 @@ end
|
|
|
350
350
|
| **discarded** | **Boolean** | `true`: only the medias you discarded for the project; `false`: leave them out. | [optional] |
|
|
351
351
|
| **new** | **Boolean** | Medias Growwer matched with the project recently. Only `true` applies it; omit it otherwise. | [optional] |
|
|
352
352
|
| **ranks_goal_keyword** | **String** | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. `user`: your keywords; `publicGenerated`: keywords Growwer found for the project. | [optional] |
|
|
353
|
-
| **ranks_ai_keyword** | **String** | A comma-separated list of AI answer engines: medias
|
|
353
|
+
| **ranks_ai_keyword** | **String** | A comma-separated list of AI answer engines: medias the web lists an AI keyword of the project for, from any of them. `googleAiOverview`, `chatgpt`, `googleAiMode`. | [optional] |
|
|
354
354
|
| **limit** | **Integer** | Medias per page, 1 to 100. | [optional][default to 20] |
|
|
355
355
|
| **offset** | **Integer** | Medias to skip, at most 99900. | [optional][default to 0] |
|
|
356
356
|
|
|
@@ -447,7 +447,7 @@ end
|
|
|
447
447
|
|
|
448
448
|
Search the catalogue for a project
|
|
449
449
|
|
|
450
|
-
The medias the catalogue offers for one of your projects, as the web lists them, with each media's state in the project. Filter with the parameters below, which all combine, or apply one of your saved filters with `savedFilterId` alone.
|
|
450
|
+
The medias the catalogue offers for one of your projects, as the web lists them, with each media's state in the project. Filter with the parameters below, which all combine, or apply one of your saved filters with `savedFilterId` alone. Each account can see a limited number of distinct medias per day (UTC) across the catalogue operations: the full daily cap for accounts with recent completed orders, as buyer or as seller, and a smaller trial quota for other accounts, which rises to the full cap after a completed order (see `catalogue.eligible`, `catalogue.dailyCap` and `catalogue.remainingToday` on GET /me). Medias seen again the same day are free.
|
|
451
451
|
|
|
452
452
|
### Examples
|
|
453
453
|
|
|
@@ -497,7 +497,7 @@ opts = {
|
|
|
497
497
|
discarded: true, # Boolean | `true`: only the medias you discarded for the project; `false`: leave them out.
|
|
498
498
|
new: true, # Boolean | Medias Growwer matched with the project recently. Only `true` applies it; omit it otherwise.
|
|
499
499
|
ranks_goal_keyword: 'ranks_goal_keyword_example', # String | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. `user`: your keywords; `publicGenerated`: keywords Growwer found for the project.
|
|
500
|
-
ranks_ai_keyword: 'ranks_ai_keyword_example', # String | A comma-separated list of AI answer engines: medias
|
|
500
|
+
ranks_ai_keyword: 'ranks_ai_keyword_example', # String | A comma-separated list of AI answer engines: medias the web lists an AI keyword of the project for, from any of them. `googleAiOverview`, `chatgpt`, `googleAiMode`.
|
|
501
501
|
limit: 56, # Integer | Medias per page, 1 to 100.
|
|
502
502
|
offset: 56 # Integer | Medias to skip, at most 99900.
|
|
503
503
|
}
|
|
@@ -568,7 +568,7 @@ end
|
|
|
568
568
|
| **discarded** | **Boolean** | `true`: only the medias you discarded for the project; `false`: leave them out. | [optional] |
|
|
569
569
|
| **new** | **Boolean** | Medias Growwer matched with the project recently. Only `true` applies it; omit it otherwise. | [optional] |
|
|
570
570
|
| **ranks_goal_keyword** | **String** | A comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. `user`: your keywords; `publicGenerated`: keywords Growwer found for the project. | [optional] |
|
|
571
|
-
| **ranks_ai_keyword** | **String** | A comma-separated list of AI answer engines: medias
|
|
571
|
+
| **ranks_ai_keyword** | **String** | A comma-separated list of AI answer engines: medias the web lists an AI keyword of the project for, from any of them. `googleAiOverview`, `chatgpt`, `googleAiMode`. | [optional] |
|
|
572
572
|
| **limit** | **Integer** | Medias per page, 1 to 100. | [optional][default to 20] |
|
|
573
573
|
| **offset** | **Integer** | Medias to skip, at most 99900. | [optional][default to 0] |
|
|
574
574
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Growwer::CreateSellerMediaRequest
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **root_url** | **String** | | |
|
|
8
|
+
| **typology** | **String** | | |
|
|
9
|
+
| **country** | **String** | A country code from GET /vocabulary. | |
|
|
10
|
+
| **language** | **String** | A language code from GET /vocabulary. | |
|
|
11
|
+
| **topics** | **Array<Integer>** | Topic ids from GET /vocabulary. | |
|
|
12
|
+
| **banned_topics** | **Array<Integer>** | The topic ids from GET /vocabulary the media refuses. | [optional] |
|
|
13
|
+
| **post_offer** | [**CreateSellerMediaRequestPostOffer**](CreateSellerMediaRequestPostOffer.md) | | |
|
|
14
|
+
| **link_addition_offer** | [**UpdateSellerMediaRequestLinkAdditionOffer**](UpdateSellerMediaRequestLinkAdditionOffer.md) | | [optional] |
|
|
15
|
+
| **extra_services** | [**Array<UpdateSellerMediaRequestExtraServicesInner>**](UpdateSellerMediaRequestExtraServicesInner.md) | | [optional] |
|
|
16
|
+
| **accept_media_publishing_terms** | **Boolean** | Must be true: you accept the media publishing terms. | |
|
|
17
|
+
| **declare_media_ownership** | **Boolean** | Must be true: you own or manage this media. | |
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```ruby
|
|
22
|
+
require 'growwer'
|
|
23
|
+
|
|
24
|
+
instance = Growwer::CreateSellerMediaRequest.new(
|
|
25
|
+
root_url: https://www.example.com,
|
|
26
|
+
typology: null,
|
|
27
|
+
country: ES,
|
|
28
|
+
language: es,
|
|
29
|
+
topics: null,
|
|
30
|
+
banned_topics: null,
|
|
31
|
+
post_offer: null,
|
|
32
|
+
link_addition_offer: null,
|
|
33
|
+
extra_services: null,
|
|
34
|
+
accept_media_publishing_terms: null,
|
|
35
|
+
declare_media_ownership: null
|
|
36
|
+
)
|
|
37
|
+
```
|
|
38
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Growwer::CreateSellerMediaRequestPostOffer
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **pricing_options** | [**Array<UpdateSellerMediaRequestPostOfferPricingOptionsInner>**](UpdateSellerMediaRequestPostOfferPricingOptionsInner.md) | | |
|
|
8
|
+
| **maximum_links** | **Integer** | | |
|
|
9
|
+
| **advertising_labelling_policy** | **String** | | [optional] |
|
|
10
|
+
| **promoted_social_networks** | **Array<String>** | | [optional] |
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
require 'growwer'
|
|
16
|
+
|
|
17
|
+
instance = Growwer::CreateSellerMediaRequestPostOffer.new(
|
|
18
|
+
pricing_options: null,
|
|
19
|
+
maximum_links: null,
|
|
20
|
+
advertising_labelling_policy: null,
|
|
21
|
+
promoted_social_networks: null
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
data/docs/Error.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **code** | **String** | A stable, machine-readable error code. | |
|
|
8
8
|
| **message** | **String** | A human-readable explanation. It may change. | |
|
|
9
|
-
| **request_id** | **String** |
|
|
9
|
+
| **request_id** | **String** | UUID v4 generated per request, or the `X-Request-Id` you sent. Quote it when reporting a problem. | |
|
|
10
10
|
| **details** | **Hash<String, Object>** | Extra data on some errors, such as the invalid fields of a validation_failed error. | [optional] |
|
|
11
11
|
|
|
12
12
|
## Example
|
|
@@ -17,7 +17,7 @@ require 'growwer'
|
|
|
17
17
|
instance = Growwer::Error.new(
|
|
18
18
|
code: unauthorized,
|
|
19
19
|
message: null,
|
|
20
|
-
request_id:
|
|
20
|
+
request_id: 9b2f6c1e-4d7a-4e3b-8a5f-2c1d0e9f7a64,
|
|
21
21
|
details: null
|
|
22
22
|
)
|
|
23
23
|
```
|
data/docs/FilesApi.md
CHANGED
|
@@ -13,7 +13,7 @@ All URIs are relative to *https://tool.growwer.com*
|
|
|
13
13
|
|
|
14
14
|
Upload a file
|
|
15
15
|
|
|
16
|
-
Uploads a document (odt, doc, docx or txt, up to 8 MB) for a later write to reference by its `id`. A file belongs to you, can be used by one write, and expires 24 hours after it was uploaded; an expired or used file is answered like an unknown one.
|
|
16
|
+
Uploads a document (odt, doc, docx or txt, up to 8 MB) for a later write to reference by its `id`. A file belongs to you, can be used by one write, and expires 24 hours after it was uploaded; an expired or used file is answered like an unknown one. You may hold 20 files that no write has used yet and that have not expired. Past them it answers 429 `file_limit_reached`, with `details.limit` the number you may hold and `Retry-After` the seconds until the first of them expires; using one of them in a write frees its place at once. A file refused as invalid (422) is refused before they are counted, and a refused upload stores nothing.
|
|
17
17
|
|
|
18
18
|
### Examples
|
|
19
19
|
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **eligible** | **Boolean** | Whether the catalogue operations (tag Catalogue: searching a project's medias, flash offers and media details)
|
|
7
|
+
| **eligible** | **Boolean** | Whether you have the full daily cap of the catalogue operations (tag Catalogue: searching a project's medias, flash offers and media details). It is open to accounts with recent completed orders, as buyer or as seller; until then the catalogue answers within a smaller daily trial quota, which rises to the full cap after a completed order. A media you have ordered is always readable with GET /medias/{id} and counts against neither. | |
|
|
8
|
+
| **daily_cap** | **Integer** | How many distinct medias the catalogue operations show you per UTC day: the full cap when `eligible` is true, the trial quota otherwise. 0 means the catalogue answers 403 `catalogue_requires_recent_order` until you have a recent completed order. | |
|
|
9
|
+
| **remaining_today** | **Integer** | How many new distinct medias still fit in `dailyCap` today (UTC). Medias you have already seen today are free. Null when the count cannot be read right now; the catalogue operations then answer 503 until it can. | |
|
|
8
10
|
|
|
9
11
|
## Example
|
|
10
12
|
|
|
@@ -12,7 +14,9 @@
|
|
|
12
14
|
require 'growwer'
|
|
13
15
|
|
|
14
16
|
instance = Growwer::GetMe200ResponseCatalogue.new(
|
|
15
|
-
eligible: null
|
|
17
|
+
eligible: null,
|
|
18
|
+
daily_cap: null,
|
|
19
|
+
remaining_today: null
|
|
16
20
|
)
|
|
17
21
|
```
|
|
18
22
|
|
data/docs/ManagedServicesApi.md
CHANGED
|
@@ -383,7 +383,7 @@ end
|
|
|
383
383
|
|
|
384
384
|
Request a new campaign
|
|
385
385
|
|
|
386
|
-
Asks your account manager for a new campaign, as the managed service page does: the team emails you to agree on it. For accounts with a managed service (GET /me `managedService.active`); without one, POST /managed-service/info-requests asks about the service.
|
|
386
|
+
Asks your account manager for a new campaign, as the managed service page does: the team emails you to agree on it. For accounts with a managed service (GET /me `managedService.active`); without one, POST /managed-service/info-requests asks about the service. The API admits a limited number of such requests per user and UTC day (5 by default; the refusal message states the current limit). Past it, it answers 429 `managed_service_request_limit_reached`, with `Retry-After` the time to the next UTC midnight. A request that is refused (4xx) does not count; one that fails on the server (5xx) does, as it may have been sent.
|
|
387
387
|
|
|
388
388
|
### Examples
|
|
389
389
|
|
|
@@ -454,7 +454,7 @@ end
|
|
|
454
454
|
|
|
455
455
|
Ask about the managed service
|
|
456
456
|
|
|
457
|
-
Asks the team about the managed service for your website, as the managed service landing page does: the team contacts you. For accounts without a managed service (GET /me `managedService.active`); with one, POST /managed-service/campaign-requests requests a new campaign.
|
|
457
|
+
Asks the team about the managed service for your website, as the managed service landing page does: the team contacts you. For accounts without a managed service (GET /me `managedService.active`); with one, POST /managed-service/campaign-requests requests a new campaign. The API admits a limited number of such requests per user and UTC day (5 by default; the refusal message states the current limit). Past it, it answers 429 `managed_service_request_limit_reached`, with `Retry-After` the time to the next UTC midnight. A request that is refused (4xx) does not count; one that fails on the server (5xx) does, as it may have been sent.
|
|
458
458
|
|
|
459
459
|
### Examples
|
|
460
460
|
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
| **recommended** | **Boolean** | Growwer recommends the media for the project. | |
|
|
11
11
|
| **bought** | **Boolean** | You have ordered on the media for the project. | |
|
|
12
12
|
| **new** | **Boolean** | Growwer matched the media with the project recently. | |
|
|
13
|
+
| **ai_keywords** | [**Array<ProjectCatalogueMediaAllOfProjectAiKeywords>**](ProjectCatalogueMediaAllOfProjectAiKeywords.md) | The AI keywords the web lists for the media in this project, one entry per keyword of each stored source, empty when there are none. Keywords an AI answer gave without referencing any domain may be listed for every media of the project, so an entry does not mean that the engine cited the media. Entries keep their order within an engine, and a keyword listed by two engines appears once for each; the order of the engines is not promised. | |
|
|
13
14
|
|
|
14
15
|
## Example
|
|
15
16
|
|
|
@@ -22,7 +23,8 @@ instance = Growwer::ProjectCatalogueMediaAllOfProject.new(
|
|
|
22
23
|
requested: null,
|
|
23
24
|
recommended: null,
|
|
24
25
|
bought: null,
|
|
25
|
-
new: null
|
|
26
|
+
new: null,
|
|
27
|
+
ai_keywords: null
|
|
26
28
|
)
|
|
27
29
|
```
|
|
28
30
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Growwer::ProjectCatalogueMediaAllOfProjectAiKeywords
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **keyword** | **String** | | |
|
|
8
|
+
| **source** | **String** | The AI engine that gave the keyword, as the `ranksAiKeyword` filter names it, or null for an engine it does not name. It is never where the media comes from. | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'growwer'
|
|
14
|
+
|
|
15
|
+
instance = Growwer::ProjectCatalogueMediaAllOfProjectAiKeywords.new(
|
|
16
|
+
keyword: null,
|
|
17
|
+
source: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Growwer::SellerAccountApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://tool.growwer.com*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
| ------ | ------------ | ----------- |
|
|
7
|
+
| [**put_seller_holiday**](SellerAccountApi.md#put_seller_holiday) | **PUT** /api/v1/seller/holiday | Set your holiday |
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## put_seller_holiday
|
|
11
|
+
|
|
12
|
+
> <PutSellerHoliday200Response> put_seller_holiday(idempotency_key, put_seller_holiday_request)
|
|
13
|
+
|
|
14
|
+
Set your holiday
|
|
15
|
+
|
|
16
|
+
Starts, changes or ends your holiday, as the holiday settings of your profile page do. While you are on holiday your medias take no orders. `endDate` is the day your holiday ends, at 00:00 of that day in Growwer's server time, and must be later than now; leave it out, or send null, for a holiday you end yourself. Ending the holiday takes no `endDate`. A holiday that already is as you ask is answered 200 without a change. A restricted seller account stays on holiday until the restriction is lifted, so any change is refused. Your holiday is also in GET /me.
|
|
17
|
+
|
|
18
|
+
### Examples
|
|
19
|
+
|
|
20
|
+
```ruby
|
|
21
|
+
require 'time'
|
|
22
|
+
require 'growwer'
|
|
23
|
+
# setup authorization
|
|
24
|
+
Growwer.configure do |config|
|
|
25
|
+
# Configure Bearer authorization: apiKey
|
|
26
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
api_instance = Growwer::SellerAccountApi.new
|
|
30
|
+
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`.
|
|
31
|
+
put_seller_holiday_request = Growwer::PutSellerHolidayRequest.new({on_holiday: false}) # PutSellerHolidayRequest |
|
|
32
|
+
|
|
33
|
+
begin
|
|
34
|
+
# Set your holiday
|
|
35
|
+
result = api_instance.put_seller_holiday(idempotency_key, put_seller_holiday_request)
|
|
36
|
+
p result
|
|
37
|
+
rescue Growwer::ApiError => e
|
|
38
|
+
puts "Error when calling SellerAccountApi->put_seller_holiday: #{e}"
|
|
39
|
+
end
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### Using the put_seller_holiday_with_http_info variant
|
|
43
|
+
|
|
44
|
+
This returns an Array which contains the response data, status code and headers.
|
|
45
|
+
|
|
46
|
+
> <Array(<PutSellerHoliday200Response>, Integer, Hash)> put_seller_holiday_with_http_info(idempotency_key, put_seller_holiday_request)
|
|
47
|
+
|
|
48
|
+
```ruby
|
|
49
|
+
begin
|
|
50
|
+
# Set your holiday
|
|
51
|
+
data, status_code, headers = api_instance.put_seller_holiday_with_http_info(idempotency_key, put_seller_holiday_request)
|
|
52
|
+
p status_code # => 2xx
|
|
53
|
+
p headers # => { ... }
|
|
54
|
+
p data # => <PutSellerHoliday200Response>
|
|
55
|
+
rescue Growwer::ApiError => e
|
|
56
|
+
puts "Error when calling SellerAccountApi->put_seller_holiday_with_http_info: #{e}"
|
|
57
|
+
end
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Parameters
|
|
61
|
+
|
|
62
|
+
| Name | Type | Description | Notes |
|
|
63
|
+
| ---- | ---- | ----------- | ----- |
|
|
64
|
+
| **idempotency_key** | **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`. | |
|
|
65
|
+
| **put_seller_holiday_request** | [**PutSellerHolidayRequest**](PutSellerHolidayRequest.md) | | |
|
|
66
|
+
|
|
67
|
+
### Return type
|
|
68
|
+
|
|
69
|
+
[**PutSellerHoliday200Response**](PutSellerHoliday200Response.md)
|
|
70
|
+
|
|
71
|
+
### Authorization
|
|
72
|
+
|
|
73
|
+
[apiKey](../README.md#apiKey)
|
|
74
|
+
|
|
75
|
+
### HTTP request headers
|
|
76
|
+
|
|
77
|
+
- **Content-Type**: application/json
|
|
78
|
+
- **Accept**: application/json
|
|
79
|
+
|
data/docs/SellerMedia.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
| **id** | **String** | | |
|
|
8
8
|
| **domain** | **String** | | |
|
|
9
9
|
| **url** | **String** | The media's root URL. | |
|
|
10
|
+
| **typology** | **String** | | |
|
|
10
11
|
| **state** | **String** | | |
|
|
11
12
|
| **deactivation_strikes** | **Integer** | How many times the media was deactivated for not publishing. | |
|
|
12
13
|
| **country** | **String** | A country code, as in GET /vocabulary, or null for none. | |
|
|
@@ -33,6 +34,7 @@ instance = Growwer::SellerMedia.new(
|
|
|
33
34
|
id: null,
|
|
34
35
|
domain: example.com,
|
|
35
36
|
url: null,
|
|
37
|
+
typology: null,
|
|
36
38
|
state: null,
|
|
37
39
|
deactivation_strikes: null,
|
|
38
40
|
country: null,
|
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **pricing_options** | [**Array<SellerMediaPostOfferPricingOptionsInner>**](SellerMediaPostOfferPricingOptionsInner.md) | One entry per link type you offer. | |
|
|
8
|
-
| **
|
|
8
|
+
| **maximum_links** | **Integer** | How many links a sponsored post may hold, 1 to 4. | |
|
|
9
|
+
| **advertising_labelling_policy** | **String** | Whether sponsored posts are labelled as advertising. | |
|
|
10
|
+
| **promoted_social_networks** | **Array<String>** | The social networks sponsored posts are promoted on. | |
|
|
11
|
+
| **extra_services** | [**Array<UpdateSellerMediaRequestExtraServicesInner>**](UpdateSellerMediaRequestExtraServicesInner.md) | Read here, but PATCH /seller/medias/{id} and POST /seller/medias take it at the top level of the body. | |
|
|
9
12
|
|
|
10
13
|
## Example
|
|
11
14
|
|
|
@@ -14,6 +17,9 @@ require 'growwer'
|
|
|
14
17
|
|
|
15
18
|
instance = Growwer::SellerMediaPostOffer.new(
|
|
16
19
|
pricing_options: null,
|
|
20
|
+
maximum_links: null,
|
|
21
|
+
advertising_labelling_policy: null,
|
|
22
|
+
promoted_social_networks: null,
|
|
17
23
|
extra_services: null
|
|
18
24
|
)
|
|
19
25
|
```
|