Skip to content

Move the Supply to the Delivery ​

http
PATCH /api/v3/supplies/{supplyId}/deliver

Base 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 409 error is returned.

Request limit per one seller account for FBS assembly orders, supplies, passes and auto-return settings methods:

PeriodLimitIntervalBurst
1 min300 requests200 ms20 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 ​

CodeDescriptionSchema
204The supply moved to the delivery—
400Bad requestError
401Unauthorizedobject
402Payment requiredobject
403Access deniedError
404Not foundError
409Error closing supplyHttp409SupplyDeliverError
429Too many requestsobject

Structure 400:

  • code string — Error code
  • message string — Error description
  • data object — Additional data for the error

Structure 401:

  • title string — Error title
  • detail string — Error details
  • code string — Internal error code
  • requestId string — Unique request ID
  • origin string — WB internal service ID
  • status number — HTTP status code
  • statusText string — Text of the HTTP status code
  • timestamp string — Request date and time

Structure 402:

Structure 403:

  • code string — Error code
  • message string — Error description
  • data object — Additional data for the error

Structure 404:

  • code string — Error code
  • message string — Error description
  • data object — Additional data for the error

Structure 409:

  • code string — Error code
  • message string — Error description
  • data object — Additional data for the error
    • orders object[] — Assembly orders those label identifiers has not passed or has not yet completed validation
      • id integer<int64> — Assembly order ID
      • metaDetails object[] — Errors info
        • key string — Label identifier
        • value string — Label identifier value
        • decision string — 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:

  • title string — Error title
  • detail string — Error details
  • code string — Internal error code
  • requestId string — Unique request ID
  • origin string — WB internal service ID
  • status number — HTTP status code
  • statusText string — Text of the HTTP status code
  • timestamp string — 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.

python
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)
ts
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);
go
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)
java
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));
php
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));
bsl
#Использовать "wb-api-client"

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

Сообщить(Клиент.PatchV3SuppliesSupplyIdDeliver(supplyId).Тело);
csharp
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));
rust
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);
}