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).
|
|