Реализация API корзины, Реализация API корзины

В данном руководстве представлены технические сведения об API и схемы полезной нагрузки для интеграции API корзины покупок по протоколу Universal Commerce Protocol (UCP) в версии 2026-04-08 .

Прежде чем создавать конечные точки, убедитесь, что вы ознакомились с обзором API корзины покупок , чтобы узнать об основных концепциях и необходимых условиях.

Создать корзину

Этот эндпоинт позволяет создать новую сессию корзины. Для интеграции реализуйте эндпоинт CreateCart ( POST /carts ). Когда пользователь решает перенести свою корзину, Google вызывает этот эндпоинт со всеми подробностями позиций. Ваша система должна ответить ссылкой continue_url , перенаправляющей пользователя в его предварительно заполненную корзину на вашем сайте.

  • Конечная точка: POST /carts
  • Триггер: запрос CreateCart ( POST /carts ) запускается только тогда, когда пользователь нажимает кнопку переноса (например, «Оформить заказ» у продавца ), чтобы перенести свою корзину в ваш магазин.

Поток тележки

Управление потоком и состоянием корзины осуществляется следующим образом:

  • Накопление товаров в Google: когда пользователь добавляет товары в корзину, Google накапливает эти товары локально. Google не отправляет множество вызовов API по мере добавления товаров.
  • Полезная нагрузка: один POST /carts будет содержать полный массив всех накопленных line_items одновременно.
  • Перенаправление и состояние: бэкэнд продавца отвечает ссылкой continue_url , указывающей на предварительно заполненную корзину на его веб-сайте.

Запрос: Google отправляет массив line_items , которые необходимо добавить в корзину.

Пример запроса:

{
  "line_items": [
    {
      "item": {
        "id": "item_123"
      },
      "quantity": 2
    }
  ]
}

Ответ: Вы возвращаете инициализированную сессию корзины, включая сведения о позициях заказа, итоговые суммы и поле continue_url . Поле continue_url в ответе должно направлять пользователя обратно на страницу вашего сайта, где он сможет продолжить управление корзиной. Обычно это ссылка на страницу корзины или оформления заказа, где сессия, идентифицированная по id уже загружена.

Пример ответа:

{
  "ucp": {
    "version": "2026-04-08",
    "capabilities": {
      "dev.ucp.shopping.cart": [{"version": "2026-04-08"}]
    }
  },
  "id": "cart_abc123",
  "line_items": [
    {
      "id": "li_1",
      "item": {
        "id": "item_123",
        "title": "Red T-Shirt",
        "price": 2500
      },
      "quantity": 2,
      "totals": [
        {"type": "subtotal", "amount": 5000},
        {"type": "total", "amount": 5000}
      ]
    }
  ],
  "currency": "USD",
  "totals": [
    {
      "type": "subtotal",
      "amount": 5000
    },
    {
      "type": "total",
      "amount": 5000,
      "display_text": "Estimated total (taxes calculated at checkout)"
    }
  ],
  // Used for redirecting the user back to the merchant's cart experience from Google surfaces.
  "continue_url": "https://business.example.com/checkout?cart=cart_abc123",
  // Indicate the timestamp at which the cart session will expire and become invalid.
  "expires_at": "2026-01-16T12:00:00Z"
}

Обработка ошибок

Полные инструкции по форматированию сообщений об ошибках и разграничению ошибок протокола и ошибок бизнес-логики см. в разделе «Коды ошибок» .