Skip to content
  1. Компоненты
  2. MiniShop3
  3. Разработка
  4. Web API
  5. Корзина

Корзина

Все пути /cart/* с TokenMiddleware (auto-mint гостевого токена). Передавайте cookie или Bearer; query ms3_token не используйте.

Мутации

МетодПутьТело (JSON)
POST/cart/addid, опционально count, options, render
POST/cart/changeключ позиции + count
POST/cart/change-optionключ + опции
POST/cart/removeключ позиции
POST/cart/clean
GET/cart/getquery: include_thumbs 0|1 (default 0)

Точные имена полей позиции смотрите в ответе cart/get и в коде CartController. Опциональный render: токены сниппетов для HTML SSR (не Nuxt SSR).

GET /cart/get

После нормализатора (CartResponseNormalizer):

json
{
  "success": true,
  "message": "",
  "data": {
    "items": [
      {
        "product_key": "123_…",
        "product_id": 123,
        "name": "…",
        "count": 1,
        "price": 1500,
        "cost": 1500,
        "weight": 0.5,
        "options": {},
        "old_price": 0,
        "discount_price": 0,
        "discount_cost": 0
      }
    ],
    "cart": {
      "123_…": {}
    },
    "status": {
      "total_positions": 1,
      "total_count": 1,
      "total_cost": 1500,
      "total_weight": 0.5,
      "total_discount": 0
    }
  }
}
ПолеФормаДля кого
itemsвсегда массивЧитать в новых клиентах
cartmap по product_keyLegacy. Пустая корзина → {}, не []
statustotalsТолько товары. Доставка / оплата / итог: GET /order/cost

Пример

bash
curl -c jar.txt -b jar.txt -sS \
  'https://shop.example/assets/components/minishop3/api.php?route=/api/v1/customer/token/get'

curl -c jar.txt -b jar.txt -sS -X POST \
  'https://shop.example/assets/components/minishop3/api.php?route=/api/v1/cart/add' \
  -H 'Content-Type: application/json' \
  -d '{"id":123,"count":1}'

Полный сценарий: Примеры. Checkout: Checkout.