---
title: "Быстрый старт"
description: "Пять минут: получить токен, установить клиент для своего языка, сделать первый вызов."
lang: ru-RU
source: https://valeryverkhoturov.github.io/wb-api-client-docs/guides/quickstart
---

# Быстрый старт

Пять минут: получить токен, установить клиент для своего языка, сделать первый вызов.

## 1. Получите API-токен WB

Клиентские библиотеки — это только транспорт; вам всё равно нужен аккаунт продавца Wildberries и персональный API-токен.

1. Войдите на [seller.wildberries.ru](https://seller.wildberries.ru) и откройте раздел [Интеграции по API](https://seller.wildberries.ru/api-integrations).
2. Нажмите **+ Создать токен** и выберите вкладку **Для интеграции вручную**.
3. Выберите тип токена — для обычной работы подойдёт **персональный** или **базовый**, для проверки в песочнице — **тестовый**.
4. Заполните название, выберите категории методов и уровень доступа (**Чтение и запись** или **Только чтение**). Для первого теста достаточно категории **Контент** — её использует под-модуль `items`.
5. Для персонального токена отметьте чекбокс **Я понимаю, что не следует передавать токен третьим лицам** и нажмите **Создать**.
6. Нажмите **Скопировать и закрыть** — токен окажется в буфере обмена. После этого посмотреть его в кабинете уже не получится.

Выбирайте только те категории, с которыми планируете работать. Если нужно вызывать несколько категорий API (`items`, `orders_fbs`, `analytics`, …), создайте токен с объединением категорий — или по токену на каждую категорию, если хотите уменьшить радиус поражения при утечке.

## 2. Установка

Один пакет на язык, внутри которого 13 категорий API как отдельные под-модули.

**Python**

```bash
pip install valeryverkhoturov-wb-api-client
```

**TypeScript**

```bash
npm install @valeryverkhoturov/wb-api-client
```

**Go**

```bash
go get github.com/ValeryVerkhoturov/wb-api-client-go@latest
```

**Java (Maven)**

```xml
<dependency>
  <groupId>io.github.valeryverkhoturov</groupId>
  <artifactId>wb-api-client</artifactId>
  <version>LATEST</version>
</dependency>
```

**PHP**

```bash
composer require valeryverkhoturov/wb-api-client
```

**OneScript**

```bash
opm install wb-api-client
```

**C#**

```bash
dotnet add package ValeryVerkhoturov.WbApiClient
```

**Rust**

```bash
cargo add wb-api-client
```

`LATEST` для Java: посмотрите текущую версию `1.YYYYMMDD.N` на [странице релизов](https://github.com/ValeryVerkhoturov/wb-api-client/releases) и подставьте её.

## 3. Первый вызов — данные о продавце

В под-модуле `general` есть эндпоинт `getV1SellerInfo` — он дёшев и подтверждает, что и токен, и сетевой путь работают.

**Python**

```python
from wb_api_client.general import Configuration, ApiClient
from wb_api_client.general.api import GeneralApi

cfg = Configuration(access_token="<ваш JWT WB>")
api = GeneralApi(ApiClient(cfg))

info = api.get_v1_seller_info()
print(info)
```

**TypeScript**

```ts
import {
  Configuration,
  GeneralApi,
} from "@valeryverkhoturov/wb-api-client/general";

const cfg = new Configuration({});
cfg.setAccessToken("<ваш JWT WB>");
const api = new GeneralApi(cfg);

const info = await api.getV1SellerInfo();
console.log(info.data);
```

**Go**

```go
package main

import (
    "context"
    "fmt"

    wbgeneral "github.com/ValeryVerkhoturov/wb-api-client-go/general"
)

func main() {
    cfg := wbgeneral.NewConfiguration()
    cfg.SetAccessToken("<ваш JWT WB>")
    client := wbgeneral.NewAPIClient(cfg)

    info, _, err := client.GeneralAPI.GetV1SellerInfo(context.Background()).Execute()
    if err != nil {
        panic(err)
    }
    fmt.Printf("%+v\n", info)
}
```

**Java**

```java
import io.github.valeryverkhoturov.wbapi.general.ApiClient;
import io.github.valeryverkhoturov.wbapi.general.api.GeneralApi;

ApiClient client = new ApiClient();
client.setAccessToken("<ваш JWT WB>");
GeneralApi api = new GeneralApi(client);

System.out.println(api.getV1SellerInfo());
```

**PHP**

```php
use ValeryVerkhoturov\WbApiClient\General\Configuration;
use ValeryVerkhoturov\WbApiClient\General\Api\GeneralApi;
use GuzzleHttp\Client;

$config = (new Configuration())
    ->setAccessToken('<ваш JWT WB>');
$api = new GeneralApi(new Client(), $config);

print_r($api->getV1SellerInfo());
```

**OneScript**

```bsl
#Использовать "wb-api-client"

Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый GeneralApi(Настройки);

Сообщить(Клиент.GetV1SellerInfo().Тело);
```

**C#**

```csharp
using ValeryVerkhoturov.WbApiClient.General.Api;
using ValeryVerkhoturov.WbApiClient.General.Client;

var config = new Configuration();
config.SetAccessToken("<ваш JWT WB>");
var api = new GeneralApi(config);

Console.WriteLine(api.GetV1SellerInfo());
```

**Rust**

```rust
use wb_api_client::general::apis::{configuration::Configuration, general_api};

#[tokio::main]
async fn main() {
    let mut cfg = Configuration::new();
    cfg.set_access_token("<ваш JWT WB>");

    let info = general_api::get_v1_seller_info(&cfg).await;
    println!("{:#?}", info);
}
```

Если вернулись данные о вашем продавце — всё подключено.

## 4. Дальше

- **[Аутентификация](https://valeryverkhoturov.github.io/wb-api-client-docs/guides/authentication)** — как устроен SecretString, зачем не выводить токен и как получить сырое значение, когда оно действительно нужно.
- **[Обработка ошибок](https://valeryverkhoturov.github.io/wb-api-client-docs/guides/error-handling)** — коды ответов WB, стратегия ретраев на 429/5xx и как ошибки выглядят в каждом языке.
- **[Страницы языков](https://valeryverkhoturov.github.io/wb-api-client-docs/languages/python)** — все под-модули, сниппеты установки и форма каждого класса `Api`.

## Что делать, если первый вызов не проходит

| Симптом                              | Вероятная причина                                | Что делать                                                                                                                                          |
| ------------------------------------ | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `401 Unauthorized`                   | Токен неверен / просрочен / без нужных категорий | Перевыпустите в кабинете продавца; убедитесь, что категории токена подходят под модуль (например, «Контент» для `items`)                            |
| `403 Forbidden`                      | Токен валиден, но категорий недостаточно         | Добавьте токену нужную категорию или создайте новый                                                                                                 |
| `429 Too Many Requests`              | Упёрлись в лимит WB                              | Подождите `X-Ratelimit-Retry` секунд из ответа и откладывайте повторные запросы; SDK не ретраит сам                                                 |
| Зависает соединение                  | Корпоративный прокси / MITM TLS                  | Задайте переменную `HTTPS_PROXY`; большинство клиентов её учитывает                                                                                 |
| `ImportError` / `Cannot find module` | Установлено не то имя пакета                     | Правильное имя — `valeryverkhoturov-wb-api-client` / `@valeryverkhoturov/wb-api-client`. Пакет с «голым» именем `wb-api-client` — это другой проект |

<p align="center">
  <img src="/pics/blueberry-football-ascii-animated.webp" style="height: 200px; width: auto; max-width: 100%; object-fit: contain" alt="wb-api-client mascot">
</p>
