Move the Supply to the Delivery
PATCH /api/v3/supplies/{supplyId}/deliverBase URL: https://marketplace-api.wildberries.ru · Module: orders-fbs · Section: FBS Supplies · Specification doc ↗
Closes the supply and moves all assembly orders to complete (In Delivery) status. You cannot add any assembly orders to the supply after it is closed. If the supply wasn't handed over for delivery, than scanning its QR code or accepting the first item will automatically close the supply. You can transfer the supply to delivery only if:
- there is at least one assembly order
- required labeling is specified for all assembly orders
- labeling of all assembly orders passed validation If the supply contains assembly orders with required UIN, make sure that you have created and uploaded the Delivery Contract Specification in advance. The GIIS DMDK takes about 30 minutes to process changes in UIN statuses. It is required to specify the shipping parameters for supplies from Russian sellers to Russia shipping points. If the shipping method, shipping date, or shipping point is not specified, a
409error is returned.
Request limit per one seller account for FBS assembly orders, supplies, passes and auto-return settings methods:
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests. |
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Responses
| Code | Description | Schema |
|---|---|---|
204 | The supply moved to the delivery | — |
400 | Bad request | Error |
401 | Unauthorized | object |
402 | Payment required | object |
403 | Access denied | Error |
404 | Not found | Error |
409 | Error closing supply | Http409SupplyDeliverError |
429 | Too many requests | object |
Structure 400:
codestring— Error codemessagestring— Error descriptiondataobject— Additional data for the error
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 402:
titlestring— Error titledetailstring— Error details. The error is only returned to services from the Solutions for business Catalog
Structure 403:
codestring— Error codemessagestring— Error descriptiondataobject— Additional data for the error
Structure 404:
codestring— Error codemessagestring— Error descriptiondataobject— Additional data for the error
Structure 409:
codestring— Error codemessagestring— Error descriptiondataobject— Additional data for the errorordersobject[]— Assembly orders those label identifiers has not passed or has not yet completed validationidinteger<int64>— Assembly order IDmetaDetailsobject[]— Errors infokeystring— Label identifiervaluestring— Label identifier valuedecisionstring— State: -imei-pending— Label identifier validation continues. Wait for the validation status to change -required— Required label identifier is not added to the assembly order -imeiInvalidFormat— Invalid format -imeiAlreadySold— The item with this IMEI has already been sold -uin-required— Required label identifier is not added to the assembly order -pending— Label identifier validation continues. Wait for the validation status to change -uinInvalidFormat— Invalid format -uinBadStatus— Invalid batch status -uinBadProcess— Invalid processing stage -uinBadStatusAndBadProcess— Invalid batch status. Invalid processing stage -uinNotFound— Not found in GIIS DMDK [https://minfin.gov.ru/ru/perfomance/jewels/dmdk]. When you receive this error, make sure that the UIN: - is specified in the uploaded Delivery Contract Specification. If the specification was uploaded more than 30 minutes ago, delete UIN from the assembly order and add it again - is registered in GIIS DMDK - is specified correctly and is read from the tag without errors - is in circulation -sgtin-pending— Label identifier validation continues. Wait for the validation status to change -required— Required label identifier is not added to the assembly order -sgtinInvalidFormat— Invalid format -sgtinNoGS— Label identifier does not contain the GS separator\u001d-sgtinHasInvalidSymbols— Label identifier contains incorrect characters or spaces -sgtinHasNonLatinSymbols— Label identifier contains non-special or Latin characters -sgtinInvalidPattern— Label identifier structure is incorrect -sgtinNotFound— Label identifier not found in Chestny ZNAK -sgtinEmitted— Label identifier has been issued -sgtinApplied— Putting into circulation not completed -sgtinWrittenOff— Written off -sgtinRetired— Retired -sgtinWithdrawn— Withdrawn -sgtinDisaggregation— Disaggregation -sgtinDisaggregated— Disaggregated -sgtinAppliedNotPaid— Not paid -gtin-required— Required label identifier is not added to the assembly order -expiration-required— Required label identifier is not added to the assembly order -customsDeclaration-required— Required label identifier is not added to the assembly order
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.
from wb_api_client.orders_fbs import Configuration, ApiClient
from wb_api_client.orders_fbs.api import OrdersFbsApi
cfg = Configuration(access_token="<your WB JWT>")
api = OrdersFbsApi(ApiClient(cfg))
result = api.patch_v3_supplies_supply_id_deliver(supply_id=...)
print(result)import {
Configuration,
OrdersFbsApi,
} from "@valeryverkhoturov/wb-api-client/orders-fbs";
const cfg = new Configuration({});
cfg.setAccessToken("<your WB JWT>");
const api = new OrdersFbsApi(cfg);
const { data } = await api.patchV3SuppliesSupplyIdDeliver(supplyId);
console.log(data);import (
"context"
"fmt"
wbordersfbs "github.com/ValeryVerkhoturov/wb-api-client-go/orders_fbs"
)
cfg := wbordersfbs.NewConfiguration()
cfg.SetAccessToken("<your WB JWT>")
client := wbordersfbs.NewAPIClient(cfg)
result, _, err := client.OrdersFbsAPI.PatchV3SuppliesSupplyIdDeliver(context.Background(), supplyId).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)import io.github.valeryverkhoturov.wbapi.orders_fbs.ApiClient;
import io.github.valeryverkhoturov.wbapi.orders_fbs.SecretString;
import io.github.valeryverkhoturov.wbapi.orders_fbs.api.OrdersFbsApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<your WB JWT>"));
OrdersFbsApi api = new OrdersFbsApi(client);
System.out.println(api.patchV3SuppliesSupplyIdDeliver(supplyId));use ValeryVerkhoturov\WbApiClient\OrdersFbs\Configuration;
use ValeryVerkhoturov\WbApiClient\OrdersFbs\SecretString;
use ValeryVerkhoturov\WbApiClient\OrdersFbs\Api\OrdersFbsApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<your WB JWT>'));
$api = new OrdersFbsApi(new Client(), $config);
print_r($api->patchV3SuppliesSupplyIdDeliver($supply_id));#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый OrdersFbsApi(Настройки);
Сообщить(Клиент.PatchV3SuppliesSupplyIdDeliver(supplyId).Тело);using ValeryVerkhoturov.WbApiClient.OrdersFbs.Api;
using ValeryVerkhoturov.WbApiClient.OrdersFbs.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
var api = new OrdersFbsApi(config);
Console.WriteLine(api.PatchV3SuppliesSupplyIdDeliver(supplyId));use wb_api_client::orders_fbs::apis::{configuration::Configuration, orders_fbs_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<your WB JWT>");
let result = orders_fbs_api::patch_v3_supplies_supply_id_deliver(&cfg, supply_id).await;
println!("{:#?}", result);
}