Skip to content

Закрепить отзывы ​

http
POST /api/feedbacks/v1/pins

База: https://feedbacks-api.wildberries.ru · Модуль: communications · Раздел: Закреплённые отзывы · Документация спецификации ↗

Метод позволяет закрепить отзывы в карточке товара или в группе объединённых карточек. Чтобы получить ID отзывов, используйте метод Список закреплённых и откреплённых отзывов.

Метод доступен по подписке Джем или c тарифной опцией **Закрепление отзыва**.

Лимит запросов на один профиль продавца для всех методов категории Вопросы и отзывы:

ТипПериодЛимитИнтервалВсплеск
Персональный1 сек3 запроса333 мс6 запросов
Сервисный1 сек3 запроса333 мс6 запросов
Базовый с секретом1 сек3 запроса333 мс6 запросов
Базовый1 ч5 запросов12 мин1 запрос

Тело запроса ​

application/json — схема openapi.PinReviewItem[], обязательно

  • pinMethod string = tariff | subscription (обязательно) — Метод закрепления: - subscription — подписка Джем - tariff — тарифная опция
  • pinOn string = nm | imt (обязательно) — Место закрепления отзыва: - nm — карточка товара - imt — группа объединённых карточек товаров
  • feedbackId string (обязательно) — ID отзыва

Ответы ​

КодОписаниеСхема
200УспешноPostV1PinsResponse200
400Неправильный запросrespond.ResultErr
401Не авторизованobject
402Требуется платёжobject
403Доступ запрещёнrespond.ResultErr
429Слишком много запросовobject

Структура 200:

  • data object[]
    • feedbackId string — ID отзыва
    • pinId integer<int64> — ID операции закрепления. Если поле отсутствует — закрепить отзыв не удалось
    • pinMethod string = tariff | subscription — Метод закрепления: - subscription — подписка Джем - tariff — тарифная опция
    • pinOn string = nm | imt — Место закрепления отзыва: - nm — карточка товара - imt — группа объединённых карточек товаров
    • isErrors boolean — Есть ли ошибки
    • errors openapi.ResultErr[] — Детали ошибок
      • origin string — ID внутреннего сервиса WB
      • detail string — Детали ошибки
      • requestId string — ID запроса
      • status string = feedbackNotFound | itemNotFound | feedbackMismatch | itemNoImages | feedbackExcluded | imtNotDisplayed | globalLimitReached | unitLimitReached | tariffRestriction | subscriptionRestriction | alreadyPinned | bodyNotValid — Статус
      • title string — Заголовок ошибки

Структура 400:

  • detail string — Детали ошибки
  • origin string — ID внутреннего сервиса WB
  • requestId string — ID запроса
  • status integer<int64> — HTTP статус-код
  • title string — Заголовок ошибки

Структура 401:

  • title string — Заголовок ошибки
  • detail string — Детали ошибки
  • code string — Внутренний код ошибки
  • requestId string — Уникальный ID запроса
  • origin string — ID внутреннего сервиса WB
  • status number — HTTP статус-код
  • statusText string — Расшифровка HTTP статус-кода
  • timestamp string — Дата и время запроса

Структура 402:

Структура 403:

  • detail string — Детали ошибки
  • origin string — ID внутреннего сервиса WB
  • requestId string — ID запроса
  • status integer<int64> — HTTP статус-код
  • title string — Заголовок ошибки

Структура 429:

  • title string — Заголовок ошибки
  • detail string — Детали ошибки
  • code string — Внутренний код ошибки
  • requestId string — Уникальный ID запроса
  • origin string — ID внутреннего сервиса WB
  • status number — HTTP статус-код
  • statusText string — Расшифровка HTTP статус-кода
  • timestamp string — Дата и время запроса

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

Аргументы показаны именами параметров — подставьте свои значения. Языки, в клиенте которых этой операции нет, не показаны.

python
from wb_api_client.communications import Configuration, ApiClient
from wb_api_client.communications.api import CommunicationsApi

cfg = Configuration(access_token="<ваш JWT WB>")
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("<ваш JWT WB>");
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("<ваш JWT WB>")
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("<ваш JWT WB>"));
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('<ваш JWT WB>'));
$api = new CommunicationsApi(new Client(), $config);

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

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

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

var config = new Configuration();
config.AccessTokenSecret = new SecretString("<ваш JWT WB>");
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("<ваш JWT WB>");

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

Распространяется под лицензией Apache 2.0.