К содержимому
Инвойсбокс
get/v3/marketplace/paymentgateway/shop/{alias}/good/{goodId}

Карточка товара на витрине магазина

Карточка отдаёт один товар витрины со всеми полями: цену, наличие, пределы количества и параметры заказа, которые нужно спросить у покупателя. Метод — часть публичной витрины магазина: ИИ-агенты через MCP-сервер Инвойсбокс открывают карточку перед тем, как назвать цену и собрать ссылку на оформление.

  • метод: GET
  • ресурс: /v3/marketplace/paymentgateway/shop/{alias}/good/{goodId}, где {alias} — алиас витрины (поле alias точки продаж), а {goodId} — id товара из поиска
  • авторизация: не нужна, заголовок Authorization не передаётся
  • тело ответа — товар Good в поле data
  • возможные ошибки

Товар чужого магазина и товар, не прошедший модерацию, отвечают 404. Скоро: снятый с продажи товар отдаётся с available: false — так «нет в наличии» отличается от «не существует», а цена считается по публичным прайс-листам, как в поиске.

Примечание

Помеченное «скоро» появится в боевом контуре с ближайшим обновлением витрины. До него в ответе нет полей available, orderMaxCount и orderFields: наличие определяйте по availabilityMode и stock, а параметры заказа уточняйте у продавца.

Пример запроса и ответа
GET /v3/marketplace/paymentgateway/shop/1694158899/good/1234
Host: api.invoicebox.ru
Accept: application/json
User-Agent: MyApp 1.0

Ответ сокращён: показаны поля, по которым продают.

{
  "data": {
    "id": 1234,
    "externalId": "7",
    "title": "Бизнес",
    "description": "Вагон бизнес-класса. Билет действует 30 календарных дней с даты начала действия.",
    "type": "service",
    "price": 1300,
    "vatCode": "RUS_VAT0",
    "unit": "шт",
    "unitCode": 796,
    "categoryId": 12,
    "categoryIds": [12],
    "availabilityMode": "always",
    "available": true,
    "orderMinCount": 1,
    "orderMaxCount": 50,
    "orderFields": [
      {
        "code": "departDate",
        "type": "date",
        "title": "Дата начала действия билета",
        "description": "С этой даты билет действует 30 календарных дней.",
        "required": true,
        "daysFrom": 0,
        "daysTo": 30,
        "timezone": "Europe/Moscow",
        "options": []
      }
    ]
  }
}

Поля товара те же, что в поиске, — таблица Good.

Параметры заказа

Скоро. orderFields — то, что нужно спросить у покупателя перед оформлением: дату поездки, вариант, строку. Пустой массив — спрашивать нечего.

ПолеТипСмысл
codestringКлюч параметра, уникален в товаре: буква, затем буквы и цифры, до 32 знаков. Он же подстановка {code} в шаблоне ссылки на оформление
typestringdate — дата ГГГГ-ММ-ДД, string — строка, enum — одно из options[].value
titlestring(100)Подпись для покупателя
descriptionstring(500)Подсказка: что значит параметр
requiredboolОбязателен ли параметр; по умолчанию false
daysFrom, daysTointТолько date: дата не раньше «сегодня + daysFrom» и не позже «сегодня + daysTo» дней. Нет поля — без границы
timezonestringТолько date: часовой пояс IANA, в котором считается «сегодня». По умолчанию Europe/Moscow
maxLengthintТолько string: предел длины, от 1 до 1000
optionsarrayТолько enum: от 1 до 50 вариантов { "value", "title" }, строки до 100 знаков

Значение, которое ввёл покупатель, проверяет тот, кто оформляет заказ: витрина его не принимает. MCP-сервер Инвойсбокс проверяет дату — по окну и часовому поясу, вариант — по списку, строку — по длине — и только после этого собирает ссылку на оформление.

Читайте также

Страница помогла?
getВозвращает детальную информацию о конкретном товаре магазинаДемо
curl -X GET 'https://api.invoicebox.ru/v3/marketplace/paymentgateway/shop/<alias>/good/<goodId>' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: MyApp 1.0'
Витрина отвечает без токена: выполните запрос по примеру рядом, подставив алиас магазина и номер товара.