Перейти к содержанию

Инициализировать новый контент

POST /api/v1/content/upload/init

Метод позволяет инициализировать (загрузить) информацию нового контента.

Типы контента и требования к ним вы можете посмотреть в оглавлении Работа с контентом.

Подготовка файла к последующей загрузке: - Вам необходимо разбить файл на части (фреймы) не более 2 Мб. - Передать размер (в байтах) каждой части и порядковый номер в параметре parts.

Пример:
Файл размером 5 Мб, нужно разбить на 3 части — 2 Мб, 2 Мб и 1 Мб.

{
    "parts": [
        {
          "index": 1,
          "size": 2097152
        },
        {
          "index": 2,
          "size": 2097152
        },
        {
          "index": 3,
          "size": 1048576
        }
    ],
}

В методе Загрузить контент (файл) вам нужно будет загрузить 3 части файла с указанием их порядкового номера через X-Wbd-Part-Index.

Обязательные поля в метаданных (meta) для загрузки контента

Общие поля: - thumbnail - rating

Аудиоконтент: - author

Документ: - author - pages

Краткая инструкция по применению: 1. Подготовьте метаданные и информацию о вашем контенте. 2. Убедитесь, что ваш контент соответствует требованиям (формат и размер файла). 3. Вызовите этот метод для инициализации нового контента. 4. В ответе вы получите uuid контента, необходимый для последующей загрузки самого файла. 5. Используйте метод Загрузить файл контента, чтобы загрузить файл.

Максимум 10 запросов в секунду

Тело запроса: UploadInitRequest

Ответ: UploadInitResponse

Примеры вызова

import os
from wildberries_sdk import wbd

token = os.getenv("WB_API_TOKEN")
api = wbd.DefaultApi(
    wbd.ApiClient(wbd.Configuration(api_key={"HeaderApiKey": token}))
)
result = api.content_upload_init(upload_init_request=...)
print(result)
import { Configuration, DefaultApi } from 'wildberries-sdk';

const api = new DefaultApi(new Configuration({ apiKey: process.env.WB_API_TOKEN }));
const result = await api.contentUploadInit({ ... });
console.log(result);
cfg := wbd.NewConfiguration()
cfg.AddDefaultHeader("Authorization", os.Getenv("WB_API_TOKEN"))
client := wbd.NewAPIClient(cfg)
result, _, err := client.DefaultApi.ContentUploadInit(context.Background()).Execute()
<?php
$config = Wildberries\Sdk\Wbd\Configuration::getDefaultConfiguration()
    ->setApiKey('Authorization', getenv('WB_API_TOKEN'));
$api = new Wildberries\Sdk\Wbd\Api\DefaultApi(new GuzzleHttp\Client(), $config);
$result = $api->contentUploadInit(...);
use wildberries_sdk_wbd::apis::{configuration::Configuration, configuration::ApiKey, default_api};

let mut config = Configuration::new();
config.api_key = Some(ApiKey { prefix: None, key: std::env::var("WB_API_TOKEN").unwrap() });
let result = default_api::content_upload_init(&config, ...).await?;