> ## Documentation Index
> Fetch the complete documentation index at: https://pedirgasdocs.supergasbras.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Sessões: carrinho e checkout na plataforma Supergasbras

> Entenda como as sessões de carrinho (Cart API) e de compra (Checkout API) funcionam juntas no fluxo completo de pedidos da plataforma Supergasbras.

Na plataforma Supergasbras, o conceito de **sessão** é central para o processo de compra. Existem dois tipos de sessão: a sessão de carrinho (Cart) e a sessão de compra (Checkout). Cada uma tem responsabilidades distintas e juntas formam o fluxo completo de um pedido.

## Sessão de carrinho

A sessão de carrinho é gerenciada pela Cart API e representa o estado do carrinho de um cliente antes de iniciar o processo de compra formal. Ela armazena os itens selecionados e permite:

* Criar ou atualizar o carrinho de compras
* Consultar o estado atual do carrinho
* Agendar a sessão para uma data e horário específicos

Cada sessão de carrinho é identificada por um `sessionId` único que você define ao criar a sessão.

## Sessão de compra

A sessão de compra é gerenciada pela Checkout API e representa o processo de finalização de um pedido. Ela encapsula:

* Dados do cliente e endereço de entrega
* Cupons promocionais aplicados
* Método e status de pagamento
* Estado geral do pedido (aberto, concluído, cancelado)

## Ciclo de vida de uma sessão de compra

```
CREATED → (atualização de dados) → PAYMENT_INITIATED → COMPLETED
                                                      ↘ CANCELLED
```

| Estado             | Descrição                                                          |
| ------------------ | ------------------------------------------------------------------ |
| Criado             | Sessão de compra iniciada, aguardando dados de entrega e pagamento |
| Pagamento iniciado | Pagamento em processamento                                         |
| Concluído          | Pedido finalizado com sucesso                                      |
| Cancelado          | Sessão cancelada pelo cliente ou sistema                           |

## Relacionamento entre as sessões

Uma sessão de compra referencia uma sessão de carrinho. O fluxo típico é:

1. Crie uma sessão de carrinho via Cart API
2. Use o `cartSessionId` ao criar a sessão de compra na Checkout API
3. Continue o checkout na Checkout API até a conclusão

<Note>
  O `sessionId` é um identificador que você controla. Use um UUID ou outro identificador único por cliente/sessão para evitar colisões.
</Note>
