Implementazione dell'API Cart

Questa guida fornisce il riferimento tecnico dell'API e gli schemi dei payload per l'integrazione dell'API Cart dell'Universal Commerce Protocol (UCP) nella versione 2026-04-08.

Prima di creare gli endpoint, assicurati di aver esaminato la panoramica dell'API Cart per i concetti di alto livello e i prerequisiti.

Crea carrello

Questo endpoint consente la creazione di una nuova sessione del carrello. Per l'integrazione, implementa l'endpoint CreateCart (POST /carts). Quando un utente sceglie di trasferire il carrello, Google chiama questo endpoint con i dettagli degli elementi. Il tuo sistema deve rispondere con un continue_url che indirizza l'utente al carrello precompilato sul tuo sito.

  • Endpoint: POST /carts
  • Trigger: l'utente fa clic su "Aggiungi al carrello" su un prodotto e aggiunge il primo articolo al carrello per il commerciante.

Richiesta: Google invia l'array di line_items da aggiungere al carrello.

Esempio di richiesta:

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

Risposta: restituisci la sessione del carrello inizializzata, inclusi i dettagli delle voci, i totali e un continue_url. Il campo continue_url nella risposta deve reindirizzare l'utente a una pagina del tuo sito in cui può continuare a gestire il carrello. In genere, questo link rimanda alla pagina del carrello o di pagamento con la sessione identificata da id precaricata.

Esempio di risposta:

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

Gestione degli errori

Per linee guida complete su come formattare i messaggi di errore e sulla distinzione tra errori di protocollo e di logica di business, consulta la sezione Codici di errore.