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)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 PagamentoEndpoint: 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 importantesHeaders: além do Authorization: Basic ..., em integrações padrão o Content-Type: application/json é recomendado. IDs e tokens (BasketID, BasketAuthorityToken, PaymentMethodID, groupKey, deliveryOptionID, ID de 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).
|
|