Sales Reports List
http
POST /api/finance/v1/sales-reports/listBase URL: https://finance-api.wildberries.ru · Module: finances · Section: Financial Reports · Specification doc ↗
Method is available by Personal token, Service token
The method returns sales reports list in the report table format.
The list contains data since January 29, 2024.
Request limit per one seller account:
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 1 request | 1 min | 1 request |
Request body
application/json — schema SalesReportListReq, required
dateFromstring(required) — Report start date. Date in the RFC3339 format. You may send date or date with time. Time could be specified in seconds or milliseconds. The time stands in Moscow time zoneUTC+3. Examples: -2025-06-20-2025-06-20T23:59:59-2025-06-20T00:00:00.12345-2025-06-25T00:00:00dateTostring(required) — Report end date. Date in the RFC3339 format. You may send date or date with time. Time could be specified in seconds or milliseconds. The time stands in Moscow time zoneUTC+3. Examples: -2025-06-20-2025-06-20T23:59:59-2025-06-20T00:00:00.12345-2025-06-20T00:00:00limitinteger<int64>— Number of reports in the responseoffsetinteger<int64>— How many results to skip. For example, with value10, the response will start with the 11 elementperiodstring=daily|weekly— Report periodicity: -weekly-daily
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | PostV1SalesReportsListResponse200 |
204 | No data | — |
400 | Bad request | object |
401 | Unauthorized | object |
403 | Access denied | Response4XX |
429 | Too many requests | object |
Structure 200 — SalesReportListRes[]:
reportIdinteger<int64>— Report IDsellerFinanceNamestring— Seller namedateFromstring— Reporting period start datedateTostring— Reporting period end datecreateDatestring— Report datecurrencystring— Report currencyreportTypeinteger<int64>=1|2— Report type: -1— general -2— by purchaseretailAmountSumstring— SalesforPaySumstring— Net revenueavgSalePercentnumber— Agreed discount (%)deliveryServiceSumstring— Logistics costpaidStorageSumstring— Storage costpaidAcceptanceSumstring— Acceptance costdeductionSumstring— Other deductions and paymentspenaltySumstring— Total penaltiesadditionalPaymentSumstring— WB fee adjustmentcashbackAmountSumstring— Amount of rewards deducted for Loyalty ProgramcashbackDiscountSumstring— Loyalty Program discount compensationcashbackCommissionChangeSumstring— Loyalty Program participation costpaymentSchedulestring— One-time payment period changebankPaymentSumstring— Total
Structure 400:
statusinteger<int64>(required) — HTTP status codetitlestring(required) — Error titledetailstring(required) — Error detailsrequestIdstring(required) — Request IDoriginstring(required) — WB internal service ID
Structure 401:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Structure 403:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Structure 429:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Call examples
Arguments are shown as parameter names — substitute your own values. Languages whose client does not expose this operation are omitted.
python
from wb_api_client.finances import Configuration, ApiClient
from wb_api_client.finances.api import FinancesApi
cfg = Configuration(access_token="<your WB JWT>")
api = FinancesApi(ApiClient(cfg))
result = api.post_v1_sales_reports_list(sales_report_list_req=...)
print(result)ts
import {
Configuration,
FinancesApi,
} from "@valeryverkhoturov/wb-api-client/finances";
const cfg = new Configuration({});
cfg.setAccessToken("<your WB JWT>");
const api = new FinancesApi(cfg);
const { data } = await api.postV1SalesReportsList(salesReportListReq);
console.log(data);go
import (
"context"
"fmt"
wbfinances "github.com/ValeryVerkhoturov/wb-api-client-go/finances"
)
cfg := wbfinances.NewConfiguration()
cfg.SetAccessToken("<your WB JWT>")
client := wbfinances.NewAPIClient(cfg)
result, _, err := client.FinancesAPI.PostV1SalesReportsList(context.Background()).SalesReportListReq(salesReportListReq).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)java
import io.github.valeryverkhoturov.wbapi.finances.ApiClient;
import io.github.valeryverkhoturov.wbapi.finances.SecretString;
import io.github.valeryverkhoturov.wbapi.finances.api.FinancesApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<your WB JWT>"));
FinancesApi api = new FinancesApi(client);
System.out.println(api.postV1SalesReportsList(salesReportListReq));php
use ValeryVerkhoturov\WbApiClient\Finances\Configuration;
use ValeryVerkhoturov\WbApiClient\Finances\SecretString;
use ValeryVerkhoturov\WbApiClient\Finances\Api\FinancesApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<your WB JWT>'));
$api = new FinancesApi(new Client(), $config);
print_r($api->postV1SalesReportsList($sales_report_list_req));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый FinancesApi(Настройки);
Сообщить(Клиент.PostV1SalesReportsList(Тело).Тело);csharp
using ValeryVerkhoturov.WbApiClient.Finances.Api;
using ValeryVerkhoturov.WbApiClient.Finances.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
var api = new FinancesApi(config);
Console.WriteLine(api.PostV1SalesReportsList(salesReportListReq));rust
use wb_api_client::finances::apis::{configuration::Configuration, finances_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<your WB JWT>");
let result = finances_api::post_v1_sales_reports_list(&cfg, sales_report_list_req).await;
println!("{:#?}", result);
}