Swagger:
Para acessar o swagger, insira após o domínio da loja '/web-api/docs/index.html'
Exemplo:
Collection Postman:
Contratos de Checkout (Request)
- Base path ilustrativo:
/web-api/v1/Shopping/Checkout- Autenticação:
Authorization: Basic <credenciais>- Content-Type:
application/json
1) Recuperar Checkout
- Endpoint:
POST /Get- Objetivo: Retornar o estado atual do Checkout (endereços, grupos/pagamentos, etc.)
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Identificador de sessão do cliente. |
BasketID | integer | Sim | ID do carrinho. |
BasketAuthorityToken | string | Sim | Token de autoridade do carrinho. |
Exemplo mínimo
{
"sessionID":"<SessionID>",
"BasketID":123456,
"BasketAuthorityToken":"<BasketAuthorityToken>"
}
2) Recuperar Checkout (POST)
- Endpoint:
POST /Get
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Identificador da sessão. |
BasketID | integer | Sim | ID do carrinho. |
BasketAuthorityToken | string | Sim | Token de autoridade do carrinho. |
Exemplo
{ "sessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>" }
3) Grupos de Pagamento
Endpoint: POST /PaymentGroups
Objetivo: retornar grupos e meios de pagamento disponíveis.
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Sessão atual. |
BasketID | integer | Sim | Carrinho. |
BasketAuthorityToken | string | Sim | Token do carrinho. |
Exemplo
{ "sessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>" }
4) Finalizar Pedido
- Endpoint:
POST /PlaceOrder
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Payments | array<object> | Sim (≥1) | Lista de pagamentos. |
SessionID | string | Sim | Sessão. |
Payments[]
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
PaymentMethodID | integer | Sim | Meio de pagamento habilitado. |
Installments | integer | Sim | Número de parcelas. |
CardInfo | object | Condicional | Quando o método exigir dados de cartão ou um token. |
CardInfo (quando aplicável)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Holder | string | Sim* | Nome no cartão. |
Number | string | Sim* | PAN. |
SecurityCode | string | Sim* | CVV/CVC. |
Month | integer | Sim* | 1–12. |
Year | integer | Sim* | YYYY. |
ExpirationDate | string | Opcional | Alternativa MM/YY. |
Token | string | Alternativo | Quando o provedor usa tokenização. |
Exemplo (cartão)
{ "Payments": [ { "PaymentMethodID": 955, "Installments": 1, "CardInfo": { "Holder": "NOME CLIENTE", "Number": "4000000000000010", "SecurityCode": "123", "Month": 1, "Year": 2026 } } ], "SessionID": "<SessionID>" }
5) Selecionar Opção de Entrega
- Endpoint:
POST /SetDeliveryOption
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Sessão. |
deliveryOptionID | string | Sim | ID da opção de entrega retornada no cálculo. |
groupKey | string | Sim | Grupo de itens (ex.: 14_group1). |
BasketID | integer | Sim | Carrinho. |
BasketAuthorityToken | string | Sim | Token do carrinho. |
Exemplo
{ "sessionID": "<SessionID>", "deliveryOptionID": "3_589-fe_entrega-oms-STANDARD", "groupKey": "14_group1", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>" }
6) Selecionar Endereço
- Endpoint:
POST /SetAddress
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ID | integer | Sim | ID do endereço salvo. |
SessionID | string | Sim | Sessão. |
BasketID | integer | Sim | Carrinho. |
BasketAuthorityToken | string | Sim | Token do carrinho. |
SetAsShippingAddress | boolean | Sim | Aplicar como entrega. |
SetAsBillingAddress | boolean | Sim | Aplicar como cobrança. |
Exemplo
{ "ID": 338862, "SessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>", "SetAsShippingAddress": true, "SetAsBillingAddress": true }
7) Aplicar Cupom
- Endpoint:
POST /AddCoupon
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Sessão. |
BasketID | integer | Sim | Carrinho. |
BasketAuthorityToken | string | Sim | Token do carrinho. |
CouponCode | string | Sim | Código do cupom. |
Exemplo
{ "sessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>", "CouponCode": "PROMO10" }
8) Remover Cupom
- Endpoint:
POST /RemoveCoupon
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Sessão. |
BasketID | integer | Sim | Carrinho. |
BasketAuthorityToken | string | Sim | Token do carrinho. |
CouponCode | string | Sim | Código a remover (ou cupom vigente). |
Exemplo
{ "sessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>", "CouponCode": "PROMO10" }
9) OMS — Locations (Pickup)
- Endpoint:
POST /GetOMSLocations - Objetivo: retornar locais elegíveis (ex.: retirada em loja) para a opção de entrega selecionada.
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Sessão. |
BasketID | integer | Sim | Carrinho. |
BasketAuthorityToken | string | Sim | Token do carrinho. |
groupKey | string | Sim | Grupo de itens. |
deliveryOptionID | string | Sim | Opção de entrega (ex.: modo “retirar”). |
page | integer | Opcional | Página (paginações grandes). |
pageSize | integer | Opcional | Tamanho da página. |
Exemplo
{"sessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>", "groupKey": "14_group1", "deliveryOptionID": "pickup-oms", "page": 1, "pageSize": 20 }
10) OMS — Locations com Distância
- Endpoint:
POST /GetOMSLocationsWithDistance - Objetivo: retornar locais com cálculo de distância a partir de uma coordenada.
Body (request)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionID | string | Sim | Sessão. |
BasketID | integer | Sim | Carrinho. |
BasketAuthorityToken | string | Sim | Token do carrinho. |
groupKey | string | Sim | Grupo de itens. |
deliveryOptionID | string | Sim | Opção de entrega (pickup). |
latitude | number | Sim | Latitude de referência. |
longitude | number | Sim | Longitude de referência. |
radiusKm | number | Opcional | Raio de busca em km. |
page | integer | Opcional | Página. |
pageSize | integer | Opcional | Tamanho da página. |
Exemplo
{ "sessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>", "groupKey": "14_group1", "deliveryOptionID": "pickup-oms", "latitude": -23.55052, "longitude": -46.63331, "radiusKm": 30, "page": 1, "pageSize": 20 }
Observações importantes
Headers: além do
Authorization: Basic ..., em integrações padrão oContent-Type: application/jsoné recomendado.IDs e tokens (
BasketID,BasketAuthorityToken,PaymentMethodID,groupKey,deliveryOptionID,IDde endereço) devem ser obtidos previamente pelas etapas do carrinho/checkout.CardInfo só deve ser enviado quando o provedor/meio exigir dados sensíveis no front; em cenários com tokenização do provedor, substitua por token/nonce conforme o método cadastrado (mantendo a estrutura de
Payments).

