Cart API の実装

このガイドでは、バージョン 2026-04-08 の Universal Commerce Protocol(UCP)カート API を統合するための技術的な API リファレンスとペイロード スキーマについて説明します。

エンドポイントを構築する前に、カート API の概要で、概要レベルのコンセプトと前提条件を確認してください。

カートを作成する

このエンドポイントを使用すると、新しいカート セッションを作成できます。統合するには、CreateCart エンドポイント(POST /carts)を実装します。ユーザーがカートの転送を選択すると、Google はこのエンドポイントを呼び出し、商品アイテムの詳細情報を渡します。システムは、ユーザーをサイトの事前入力されたカートに誘導する continue_url で応答する必要があります。

  • エンドポイント: POST /carts
  • トリガー: ユーザーが商品の [カートに追加] をクリックし、販売者のカートに最初の商品を追加します。

リクエスト: カートに追加する line_items の配列を Google が送信します。

リクエストの例:

{
  "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"
}

エラー処理

エラー メッセージの形式設定方法と、プロトコル エラーとビジネス ロジック エラーの違いに関する完全なガイドラインについては、エラーコードをご覧ください。