Закрепить номера ДТ за сборочными заданиями
POST /api/marketplace/v3/click-collect/orders/meta/customs-declarationБаза: https://marketplace-api.wildberries.ru · Модуль: in-store-pickup · Раздел: Идентификаторы маркировки Самовывоз · Документация спецификации ↗
Метод обновляет номера ДТ — деклараций на товары — и коды стран происхождения товаров в идентификаторах маркировки сборочных заданий. У одного сборочного задания может быть только один номер ДТ. Закрепить номер ДТ можно, только если выполняются все условия:
- сборочное задание имеет признак B2B-продажи —
"isB2b":trueв ответе метода получения новых сборочных заданий - сборочное задание находится в статусах
confirmилиprepare - поле
customsDeclarationесть в идентификаторах маркировки сборочного задания
Лимит запросов на один профиль продавца для всех методов закрепления идентификаторов маркировки Самовывоз:
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 1 мин | 20 запросов | 3 сек | 500 запросов |
Один запрос с кодами ответов 4XX учитывается как 10 запросов. |
В песочнице — максимум 1 запрос в секунду суммарно для всех методов Маркетплейса.
Тело запроса
application/json — схема object, обязательно
ordersobject[](обязательно)customsDeclarationstring(обязательно) — Номер ДТorderIdinteger<int64>(обязательно) — ID сборочного заданияoriginCountryCodestring(обязательно) — Числовой код страны происхождения товара из Общероссийского классификатора стран мира. Необходимо указывать только для сборочных заданий с признаком B2B-продажи "isB2b":true
Ответы
| Код | Описание | Схема |
|---|---|---|
200 | Успешно | api.CustomsDeclarationSetResponse |
400 | Неправильный запрос | api.BatchError |
401 | Не авторизован | object |
402 | Требуется платёж | object |
403 | Доступ запрещён | Error |
429 | Слишком много запросов | object |
Структура 200:
requestIdobject— Уникальный ID запросаresultsapi.StatusSetCustomsDeclarationResponse[]orderIdinteger<int64>— ID сборочного заданияisErrorboolean— Есть ли ошибкиerrorsapi.BatchCustomsDeclarationErrorResponse[]— Детали ошибкиcodeinteger<int64>— Код ошибки: -404-409-400detailstring— -NotFound— сборочное задание не найдено -StatusMismatch— операция невозможна для этого статуса сборочного задания -OrderNotB2B— операция доступна только для сборочных заданий с признаком B2B-продажи"isB2b":true-InvalidOriginCountryCode— некорректный код страны происхождения товара
Структура 400:
detailobject— Детали ошибкиoriginstring— ID внутреннего сервиса WBrequestIdstring— Уникальный ID запросаtitlestring— Заголовок ошибки
Структура 401:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 402:
titlestring— Заголовок ошибкиdetailstring— Детали ошибки. Ошибка возвращается только сервисам из Каталога решений для бизнеса
Структура 403:
codestring— Код ошибкиmessagestring— Описание ошибкиdataobject— Дополнительные данные, обогащающие ошибку
Структура 429:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Примеры вызова
Аргументы показаны именами параметров — подставьте свои значения. Языки, в клиенте которых этой операции нет, не показаны.
from wb_api_client.in_store_pickup import Configuration, ApiClient
from wb_api_client.in_store_pickup.api import InStorePickupApi
cfg = Configuration(access_token="<ваш JWT WB>")
api = InStorePickupApi(ApiClient(cfg))
result = api.post_v3_click_collect_orders_meta_customs_declaration(post_v3_click_collect_orders_meta_customs_declaration_request=...)
print(result)import {
Configuration,
InStorePickupApi,
} from "@valeryverkhoturov/wb-api-client/in-store-pickup";
const cfg = new Configuration({});
cfg.setAccessToken("<ваш JWT WB>");
const api = new InStorePickupApi(cfg);
const { data } = await api.postV3ClickCollectOrdersMetaCustomsDeclaration(postV3ClickCollectOrdersMetaCustomsDeclarationRequest);
console.log(data);import (
"context"
"fmt"
wbinstorepickup "github.com/ValeryVerkhoturov/wb-api-client-go/in_store_pickup"
)
cfg := wbinstorepickup.NewConfiguration()
cfg.SetAccessToken("<ваш JWT WB>")
client := wbinstorepickup.NewAPIClient(cfg)
result, _, err := client.InStorePickupAPI.PostV3ClickCollectOrdersMetaCustomsDeclaration(context.Background()).PostV3ClickCollectOrdersMetaCustomsDeclarationRequest(postV3ClickCollectOrdersMetaCustomsDeclarationRequest).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)import io.github.valeryverkhoturov.wbapi.in_store_pickup.ApiClient;
import io.github.valeryverkhoturov.wbapi.in_store_pickup.SecretString;
import io.github.valeryverkhoturov.wbapi.in_store_pickup.api.InStorePickupApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<ваш JWT WB>"));
InStorePickupApi api = new InStorePickupApi(client);
System.out.println(api.postV3ClickCollectOrdersMetaCustomsDeclaration(postV3ClickCollectOrdersMetaCustomsDeclarationRequest));use ValeryVerkhoturov\WbApiClient\InStorePickup\Configuration;
use ValeryVerkhoturov\WbApiClient\InStorePickup\SecretString;
use ValeryVerkhoturov\WbApiClient\InStorePickup\Api\InStorePickupApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<ваш JWT WB>'));
$api = new InStorePickupApi(new Client(), $config);
print_r($api->postV3ClickCollectOrdersMetaCustomsDeclaration($post_v3_click_collect_orders_meta_customs_declaration_request));#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый InStorePickupApi(Настройки);
Сообщить(Клиент.PostV3ClickCollectOrdersMetaCustomsDeclaration(Тело).Тело);using ValeryVerkhoturov.WbApiClient.InStorePickup.Api;
using ValeryVerkhoturov.WbApiClient.InStorePickup.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<ваш JWT WB>");
var api = new InStorePickupApi(config);
Console.WriteLine(api.PostV3ClickCollectOrdersMetaCustomsDeclaration(postV3ClickCollectOrdersMetaCustomsDeclarationRequest));use wb_api_client::in_store_pickup::apis::{configuration::Configuration, in_store_pickup_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<ваш JWT WB>");
let result = in_store_pickup_api::post_v3_click_collect_orders_meta_customs_declaration(&cfg, post_v3_click_collect_orders_meta_customs_declaration_request).await;
println!("{:#?}", result);
}