Skip to content

Pin Feedbacks ​

http
POST /api/feedbacks/v1/pins

Base URL: https://feedbacks-api.wildberries.ru · Module: communications · Section: Pinned Feedbacks · Specification doc ↗

The method allows to pin the feedbacks to a group of merged listings or to a listing. To get feedback ID, use the List of pinned and unpinned feedbacks method.

The method is available for Jam subscription or **Pin a feedback** option in the Plan Builder.

Request limit per one seller account for all methods in the Feedbacks and Questions category:

TypePeriodLimitIntervalBurst
Personal1 s3 requests333 ms6 requests
Service1 s3 requests333 ms6 requests
Base with secret1 s3 requests333 ms6 requests
Base1 h5 requests12 min1 request

Request body ​

application/json — schema openapi.PinReviewItem[], required

  • pinMethod string = tariff | subscription (required) — Pinning methods: - subscription — Jam subscription - tariff — rate option
  • pinOn string = nm | imt (required) — Feedback pinning placement: - nm — listing - imt — group of merged listings
  • feedbackId string (required) — Feedback ID

Responses ​

CodeDescriptionSchema
200SuccessPostV1PinsResponse200
400Bad requestrespond.ResultErr
401Unauthorizedobject
402Payment requiredobject
403Access deniedrespond.ResultErr
429Too many requestsobject

Structure 200:

  • data object[]
    • feedbackId string — Feedback ID
    • pinId integer<int64> — Pinning operation ID. If the field is missing, the feedback is not pinned
    • pinMethod string = tariff | subscription — Pinning methods: - subscription — Jam subscription - tariff — rate option
    • pinOn string = nm | imt — Feedback pinning placement: - nm — listing - imt — group of merged listings
    • isErrors boolean — Are there any errors
    • errors openapi.ResultErr[] — Error detail
      • origin string — WB internal service ID
      • detail string — Error detail
      • requestId string — Request ID
      • status string = feedbackNotFound | itemNotFound | feedbackMismatch | itemNoImages | feedbackExcluded | imtNotDisplayed | globalLimitReached | unitLimitReached | tariffRestriction | subscriptionRestriction | alreadyPinned | bodyNotValid — Status
      • title string — Error title

Structure 400:

  • detail string — Error detail
  • origin string — WB internal service ID
  • requestId string — Request ID
  • status integer<int64> — HTTP status code
  • title string — Error title

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:

  • detail string — Error detail
  • origin string — WB internal service ID
  • requestId string — Request ID
  • status integer<int64> — HTTP status code
  • title string — Error title

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.communications import Configuration, ApiClient
from wb_api_client.communications.api import CommunicationsApi

cfg = Configuration(access_token="<your WB JWT>")
api = CommunicationsApi(ApiClient(cfg))

result = api.post_v1_pins(openapi_pin_review_item=...)
print(result)
ts
import {
  Configuration,
  CommunicationsApi,
} from "@valeryverkhoturov/wb-api-client/communications";

const cfg = new Configuration({});
cfg.setAccessToken("<your WB JWT>");
const api = new CommunicationsApi(cfg);

const { data } = await api.postV1Pins(openapiPinReviewItem);
console.log(data);
go
import (
	"context"
	"fmt"

	wbcommunications "github.com/ValeryVerkhoturov/wb-api-client-go/communications"
)

cfg := wbcommunications.NewConfiguration()
cfg.SetAccessToken("<your WB JWT>")
client := wbcommunications.NewAPIClient(cfg)

result, _, err := client.CommunicationsAPI.PostV1Pins(context.Background()).OpenapiPinReviewItem(openapiPinReviewItem).Execute()
if err != nil {
    panic(err)
}
fmt.Printf("%+v\n", result)
java
import io.github.valeryverkhoturov.wbapi.communications.ApiClient;
import io.github.valeryverkhoturov.wbapi.communications.SecretString;
import io.github.valeryverkhoturov.wbapi.communications.api.CommunicationsApi;

ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<your WB JWT>"));
CommunicationsApi api = new CommunicationsApi(client);

System.out.println(api.postV1Pins(openapiPinReviewItem));
php
use ValeryVerkhoturov\WbApiClient\Communications\Configuration;
use ValeryVerkhoturov\WbApiClient\Communications\SecretString;
use ValeryVerkhoturov\WbApiClient\Communications\Api\CommunicationsApi;
use GuzzleHttp\Client;

$config = (new Configuration())
    ->setAccessTokenSecret(new SecretString('<your WB JWT>'));
$api = new CommunicationsApi(new Client(), $config);

print_r($api->postV1Pins($openapi_pin_review_item));
bsl
#Использовать "wb-api-client"

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

Сообщить(Клиент.PostV1Pins(Тело).Тело);
csharp
using ValeryVerkhoturov.WbApiClient.Communications.Api;
using ValeryVerkhoturov.WbApiClient.Communications.Client;

var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
var api = new CommunicationsApi(config);

Console.WriteLine(api.PostV1Pins(openapiPinReviewItem));
rust
use wb_api_client::communications::apis::{configuration::Configuration, communications_api};

#[tokio::main]
async fn main() {
    let mut cfg = Configuration::new();
    cfg.set_access_token("<your WB JWT>");

    let result = communications_api::post_v1_pins(&cfg, openapi_period_pin_review_item).await;
    println!("{:#?}", result);
}