Swagger:Para acessar o swagger, insira após o domínio da loja '/web-api/docs/index.html' Exemplo:
Collection Postman:| View file |
|---|
| name | OCA.postman_collection(OCA).json |
|---|
| height | 250 |
|---|
|
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 | Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"sessionID":"<SessionID>",
"BasketID":123456,
"BasketAuthorityToken":"<BasketAuthorityToken>"
} |
2) Definir Opção de EntregaRecuperar Checkout (POST)- Endpoint:
POST /SetDeliveryOption- Objetivo: Selecionar a opção de entrega para um grupo do carrinho/checkout.
Get
Body (request) | Campo | Tipo | Obrigatório | Descrição |
|---|
sessionID | string | Sim | Identificador | de do clientedeliveryOptionID | string | SimgroupKey | string | Sim | Chave do grupo de itens ao qual a entrega será aplicada (ex.: 14_group1). | ID da opção de entrega retornada pelo cálculo de frete. | BasketID | integer | Sim | ID do carrinho. | BasketAuthorityToken | string | Sim | Token de autoridade do carrinho. |
Exemplo mínimo
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { |
"sessionID": "<SessionID>", |
"deliveryOptionID":"3_589-fe_entrega-oms-STANDARD",
"groupKey":"14_group1",
"BasketID":123456,
"BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>" |
3) Definir Endereço (seleção de endereço salvo)Grupos de PagamentoEndpoint: POST / SetAddressPaymentGroups Objetivo: Definir um endereço previamente cadastrado como entrega e/ou cobrança retornar grupos e meios de pagamento disponíveis. Body (request) | Campo | Tipo | Obrigatório | Descrição |
|---|
ID | integer | Sim | ID do endereço existente (catálogo de endereços do cliente). | SessionID | Identificador de sessão do cliente| Sessão atual. | BasketID | integer | Sim | ID do carrinho| Carrinho. | BasketAuthorityToken | string | Sim | Token | de autoridade SetAsShippingAddress | boolean | Sim | True para aplicar como endereço de entrega. | SetAsBillingAddress | boolean | Sim | True para aplicar como endereço de cobrança. |
Exemplo mínimo
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { |
ID338862,
SessionID":"
"BasketAuthorityToken": "<BasketAuthorityToken> | ",
"SetAsShippingAddress:true,
"SetAsBillingAddress":true
4) Finalizar Pedido (PlaceOrder)- Endpoint:
POST /PlaceOrder - Objetivo: Efetivar o pedido com uma ou mais formas de pagamento.
Body (request) | Campo | Tipo | Obrigatório | Descrição |
|---|
Payments | array<object> | Sim (≥1) | Lista de pagamentos | a aplicarIdentificador de sessão do cliente Estrutura de
Payments[]
| Campo | Tipo | Obrigatório | Descrição |
|---|
PaymentMethodID | integer | Sim | ID do meio | Meio de pagamento habilitado | no Checkout| . | Installments | integer | Sim | Número de parcelas. | CardInfo | object | Condicional | Necessário quando meio | método exigir dados de cartão ou um token. |
Estrutura de
CardInfo (quando aplicável)
| Campo | Tipo | Obrigatório | Descrição |
|---|
Holder | string | Sim* | Nome | impresso (*quando aplicável) do cartão (formato aceito pelo provedor)| . | SecurityCode | string | Sim* | CVV/CVC. | Month | integer | Sim* | Mês de expiração ()Ano de expiração ()| . | ExpirationDate | string | Opcional | Alternativa | de expiração (), se suportado| . | Token | string | Alternativo | Quando o provedor usa tokenização. |
Exemplo mínimo(cartão)
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { |
"Installments": 1, "CardInfo": { |
DO
"Number": "4000000000000010", "SecurityCode": "123", "Month": 1, "Year": 2026 } } ], " | Number4000 0000 0000 0010",
"SecurityCode":"123",
"Month":1,
"Year":2026,
"ExpirationDate":"01/26"
},
"Installments":1
}
],
"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
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { "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
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { "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
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { "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
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { "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
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {"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 | Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| { "sessionID": "<SessionID>", "BasketID": 123456, "BasketAuthorityToken": "<BasketAuthorityToken>", "groupKey": "14_group1", "deliveryOptionID": "pickup-oms", "latitude": -23.55052, "longitude": -46.63331, "radiusKm": 30, "page": 1, "pageSize": 20 } |
| Nota |
|---|
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).
|
|