Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Painel
borderColor#2C004B
titleColor#FFF
titleBGColor#2C004B
borderStylesolid
titleO que é?

Swagger:

Para acessar o swagger, insira após o domínio da loja '/web-api/docs/index.html'

Exemplo:

Collection Postman:

View file
nameOCA.postman_collection(OCA).json
height250


Painel
borderColor#2C004B
titleColor#FFF
titleBGColor#2C004B
borderStylesolid
titleContrato de dados (Requests)

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)

CampoTipoObrigatórioDescrição
sessionIDstringSimIdentificador de sessão do cliente.
BasketIDintegerSimID do carrinho.
BasketAuthorityTokenstringSimToken de autoridade do carrinho.

Exemplo mínimo

Bloco de código
languagesass
themeMidnight
 {
   "sessionID":"<SessionID>",
   "BasketID":123456,
   "BasketAuthorityToken":"<BasketAuthorityToken>"
}


2) Recuperar Checkout (POST)

  • Endpoint: POST /Get

Body (request)

CampoTipoObrigatórioDescrição
sessionIDstringSimIdentificador da sessão.
BasketIDintegerSimID do carrinho.
BasketAuthorityTokenstringSimToken de autoridade do carrinho.


Exemplo

Bloco de código
languagesass
themeMidnight
{
  "sessionID": "<SessionID>",
  "BasketID": 123456,
  "BasketAuthorityToken": "<BasketAuthorityToken>"

}


3) Grupos de Pagamento

Endpoint: POST /PaymentGroups
Objetivo: retornar grupos e meios de pagamento disponíveis.
Body (request)

CampoTipoObrigatórioDescrição
sessionIDstringSimSessão atual.
BasketIDintegerSimCarrinho.
BasketAuthorityTokenstringSimToken do carrinho.


Exemplo

Bloco de código
languagesass
themeMidnight
{
  "sessionID": "<SessionID>",
  "BasketID": 123456,
  "BasketAuthorityToken": "<BasketAuthorityToken>"

}


4) Finalizar Pedido

  • Endpoint: POST /PlaceOrder

Body (request)

CampoTipoObrigatórioDescrição
Paymentsarray<object>Sim (≥1)Lista de pagamentos.
SessionIDstringSimSessão.


Payments[]

CampoTipoObrigatórioDescrição
PaymentMethodIDintegerSimMeio de pagamento habilitado.
InstallmentsintegerSimNúmero de parcelas.
CardInfoobjectCondicionalQuando o método exigir dados de cartão ou um token.


CardInfo (quando aplicável)

CampoTipoObrigatórioDescrição
HolderstringSim*Nome no cartão.
NumberstringSim*PAN.
SecurityCodestringSim*CVV/CVC.
MonthintegerSim*1–12.
YearintegerSim*YYYY.
ExpirationDatestringOpcionalAlternativa MM/YY.
TokenstringAlternativoQuando o provedor usa tokenização.


Exemplo (cartão)

Bloco de código
languagesass
themeMidnight
{
  "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)

CampoTipoObrigatórioDescrição
sessionIDstringSimSessão.
deliveryOptionIDstringSimID da opção de entrega retornada no cálculo.
groupKeystringSimGrupo de itens (ex.: 14_group1).
BasketIDintegerSimCarrinho.
BasketAuthorityTokenstringSimToken do carrinho.


Exemplo

Bloco de código
languagesass
themeMidnight
{
  "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)

CampoTipoObrigatórioDescrição
IDintegerSimID do endereço salvo.
SessionIDstringSimSessão.
BasketIDintegerSimCarrinho.
BasketAuthorityTokenstringSimToken do carrinho.
SetAsShippingAddressbooleanSimAplicar como entrega.
SetAsBillingAddressbooleanSimAplicar como cobrança.


Exemplo

Bloco de código
languagesass
themeMidnight
{
  "ID": 338862,
  "SessionID": "<SessionID>",
  "BasketID": 123456,
  "BasketAuthorityToken": "<BasketAuthorityToken>",
  "SetAsShippingAddress": true,
  "SetAsBillingAddress": true

}


7) Aplicar Cupom

  • Endpoint: POST /AddCoupon

Body (request)

CampoTipoObrigatórioDescrição
sessionIDstringSimSessão.
BasketIDintegerSimCarrinho.
BasketAuthorityTokenstringSimToken do carrinho.
CouponCodestringSimCódigo do cupom.


Exemplo

Bloco de código
languagesass
themeMidnight
{
  "sessionID": "<SessionID>",
  "BasketID": 123456,
  "BasketAuthorityToken": "<BasketAuthorityToken>",
  "CouponCode": "PROMO10"

}


8) Remover Cupom

  • Endpoint: POST /RemoveCoupon

Body (request)

CampoTipoObrigatórioDescrição
sessionIDstringSimSessão.
BasketIDintegerSimCarrinho.
BasketAuthorityTokenstringSimToken do carrinho.
CouponCodestringSimCódigo a remover (ou cupom vigente).


Exemplo

Bloco de código
languagesass
themeMidnight
{
  "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)

CampoTipoObrigatórioDescrição
sessionIDstringSimSessão.
BasketIDintegerSimCarrinho.
BasketAuthorityTokenstringSimToken do carrinho.
groupKeystringSimGrupo de itens.
deliveryOptionIDstringSimOpção de entrega (ex.: modo “retirar”).
pageintegerOpcionalPágina (paginações grandes).
pageSizeintegerOpcionalTamanho da página.


Exemplo

Bloco de código
languagesass
themeMidnight
 {
  "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)

CampoTipoObrigatórioDescrição
sessionIDstringSimSessão.
BasketIDintegerSimCarrinho.
BasketAuthorityTokenstringSimToken do carrinho.
groupKeystringSimGrupo de itens.
deliveryOptionIDstringSimOpção de entrega (pickup).
latitudenumberSimLatitude de referência.
longitudenumberSimLongitude de referência.
radiusKmnumberOpcionalRaio de busca em km.
pageintegerOpcionalPágina.
pageSizeintegerOpcionalTamanho da página.


Exemplo

Bloco de código
languagesass
themeMidnight
{
  "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 importantes

  • Headers: 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).