Este guia fornece a referência técnica da API e os esquemas de payload para
integrar a API Cart do Protocolo de Comércio Universal (UCP) na versão
2026-04-08.
Antes de criar seus endpoints, revise a visão geral da API Cart para conhecer os conceitos e pré-requisitos de alto nível.
Criar carrinho
Esse endpoint permite a criação de uma nova sessão de carrinho. Para fazer a integração, implemente
o endpoint CreateCart (POST /carts). Quando um usuário opta por transferir o
carrinho, o Google chama esse endpoint com todos os detalhes dos itens de linha. Seu sistema
precisa responder com um continue_url direcionando o usuário ao carrinho
preenchido previamente no seu site.
- Endpoint:
POST /carts - Gatilho:uma única solicitação
CreateCart(POST /carts) é acionada somente quando o usuário clica no botão de transferência (por exemplo, Finalizar compra na loja) para transferir o carrinho para sua loja.
Fluxo do carrinho
O fluxo e o estado do carrinho funcionam da seguinte maneira:
- Acúmulo no Google:quando um usuário adiciona itens ao carrinho, o Google os acumula localmente. O Google não dispara várias chamadas de API à medida que os itens são adicionados.
- O payload:a única solicitação
POST /cartsvai conter a matriz completa de todos osline_itemsacumulados de uma só vez. - Redirecionamento e estado:o back-end do comerciante responde com um
continue_urlque aponta para o carrinho pré-preenchido no site.
Solicitação:o Google envia a matriz de line_items para ser adicionada ao carrinho.
Exemplo de solicitação:
{
"line_items": [
{
"item": {
"id": "item_123"
},
"quantity": 2
}
]
}
Resposta:você retorna a sessão do carrinho inicializada, incluindo detalhes do item de linha, totais e um continue_url. O campo continue_url na resposta
precisa direcionar o usuário de volta a uma página do seu site em que ele possa continuar
gerenciando o carrinho. Normalmente, ele é vinculado ao carrinho ou à página de finalização da compra com a
sessão identificada por id pré-carregada.
Exemplo de resposta:
{
"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"
}
Tratamento de erros
Para conferir diretrizes completas sobre como formatar mensagens de erro e a distinção entre erros de protocolo e de lógica de negócios, consulte os Códigos de erro.