Пополнение бюджета кампании
http
POST /adv/v1/budget/depositБаза: https://advert-api.wildberries.ru · Модуль: promotion · Раздел: Финансы · Документация спецификации ↗
Метод пополняет бюджет кампании. Чтобы запустить кампанию после пополнения бюджета, используйте метод Запуск кампании.
Лимит запросов на один профиль продавца:
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Сервисный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый с секретом | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Параметры
| Имя | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id | query | integer<int64> | да | ID кампании |
Тело запроса
application/json — схема object, обязательно
suminteger<int64>— Общая сумма пополнения бюджета в базовых единицах валюты профиля продавцаcashback_suminteger<int64>— Сумма пополнения бюджета промо-бонусами. Пополнить можно только определённый процент от общей суммы, указанный в полеpercentответа метода получения баланса. Оставшаяся часть общей суммы спишется с указанного источника пополнения. Пополнить можно только определённый процент от общей суммы, указанный в полеpercentответа метода получения баланса. Оставшаяся часть общей суммы спишется с указанного источника пополнения. Списать промо-бонусы можно только для источников пополнения: -0— счёт -1— балансcashback_percentinteger<int64>— Процент от суммы пополнения, который можно пополнить промо-бонусами. Нужно указать значение поля percent из ответа метода получения баланса Если вы указалиcashback\_sum, параметрcashback\_percentстановится обязательнымtypeinteger<int64>— Тип источника пополнения: -0— Счёт -1— Баланс -3— Бонусыreturnboolean— Флаг возврата ответа (true— в ответе вернется обновлённый размер бюджета кампании,falseили не указать параметр вообще — не вернётся.)
Ответы
| Код | Описание | Схема |
|---|---|---|
200 | Успешно | ResponseWithReturn |
400 | Неправильный запрос | PostV1BudgetDepositResponse400 |
401 | Не авторизован | object |
403 | Доступ запрещён | object |
429 | Слишком много запросов | object |
Структура 200:
totalinteger<int64>— Размер обновлённого бюджетаcurrencystring<ISO 4217>— Валюта профиля продавца
Структура 400:
errorstring
Структура 401:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 403:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 429:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Примеры вызова
Аргументы показаны именами параметров — подставьте свои значения. Языки, в клиенте которых этой операции нет, не показаны.
python
from wb_api_client.promotion import Configuration, ApiClient
from wb_api_client.promotion.api import PromotionApi
cfg = Configuration(access_token="<ваш JWT WB>")
api = PromotionApi(ApiClient(cfg))
result = api.post_v1_budget_deposit(id=..., post_v1_budget_deposit_request=...)
print(result)ts
import {
Configuration,
PromotionApi,
} from "@valeryverkhoturov/wb-api-client/promotion";
const cfg = new Configuration({});
cfg.setAccessToken("<ваш JWT WB>");
const api = new PromotionApi(cfg);
const { data } = await api.postV1BudgetDeposit(id, postV1BudgetDepositRequest);
console.log(data);go
import (
"context"
"fmt"
wbpromotion "github.com/ValeryVerkhoturov/wb-api-client-go/promotion"
)
cfg := wbpromotion.NewConfiguration()
cfg.SetAccessToken("<ваш JWT WB>")
client := wbpromotion.NewAPIClient(cfg)
result, _, err := client.PromotionAPI.PostV1BudgetDeposit(context.Background()).Id(id).PostV1BudgetDepositRequest(postV1BudgetDepositRequest).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)java
import io.github.valeryverkhoturov.wbapi.promotion.ApiClient;
import io.github.valeryverkhoturov.wbapi.promotion.SecretString;
import io.github.valeryverkhoturov.wbapi.promotion.api.PromotionApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<ваш JWT WB>"));
PromotionApi api = new PromotionApi(client);
System.out.println(api.postV1BudgetDeposit(id, postV1BudgetDepositRequest));php
use ValeryVerkhoturov\WbApiClient\Promotion\Configuration;
use ValeryVerkhoturov\WbApiClient\Promotion\SecretString;
use ValeryVerkhoturov\WbApiClient\Promotion\Api\PromotionApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<ваш JWT WB>'));
$api = new PromotionApi(new Client(), $config);
print_r($api->postV1BudgetDeposit($id, $post_v1_budget_deposit_request));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый PromotionApi(Настройки);
Сообщить(Клиент.PostV1BudgetDeposit(id, Тело).Тело);csharp
using ValeryVerkhoturov.WbApiClient.Promotion.Api;
using ValeryVerkhoturov.WbApiClient.Promotion.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<ваш JWT WB>");
var api = new PromotionApi(config);
Console.WriteLine(api.PostV1BudgetDeposit(id, postV1BudgetDepositRequest));rust
use wb_api_client::promotion::apis::{configuration::Configuration, promotion_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<ваш JWT WB>");
let result = promotion_api::post_v1_budget_deposit(&cfg, id, post_v1_budget_deposit_request).await;
println!("{:#?}", result);
}