Versões comparadas

Chave

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

...

Chave do grupo de itens ao qual a entrega será aplicada (ex.: 14_group1)
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

) Definir Opção de Entrega

) Recuperar Checkout (POST)

  • Endpoint: POST /
SetDeliveryOption
  • Objetivo: Selecionar a opção de entrega para um grupo do carrinho/checkout.
  • Get

Body (request)

CampoTipoObrigatórioDescrição
sessionIDstringSimIdentificador
de sessão do cliente.
deliveryOptionIDstringSimID da opção de entrega retornada pelo cálculo de frete.
groupKeystringSim
da sessão.
BasketIDintegerSimID do carrinho.
BasketAuthorityTokenstringSimToken de autoridade do carrinho.


Exemplo

mínimo

Bloco de código
languagesass
themeMidnight
{
  "sessionID": "<SessionID>",
  
"
deliveryOptionID
BasketID":
"3_589-fe_entrega-oms-STANDARD",
 
"groupKey":"14_group1", "BasketID":
123456,
  
"BasketAuthorityToken": "<BasketAuthorityToken>"
}


3)

Definir Endereço (seleção de endereço salvo)

Grupos de Pagamento

Endpoint: POST /

SetAddress

PaymentGroups
Objetivo:

Definir um endereço previamente cadastrado como entrega e/ou cobrançaSessionID

retornar grupos e meios de pagamento disponíveis.
Body (request)

CampoTipoObrigatórioDescrição
IDintegerSimID do endereço existente (catálogo de endereços do cliente).
sessionIDstringSim
Identificador de sessão do cliente
Sessão atual.
BasketIDintegerSim
ID do carrinho
Carrinho.
BasketAuthorityTokenstringSimToken
de autoridade
do carrinho.
SetAsShippingAddress
booleanSimTrue para aplicar como endereço de entrega.SetAsBillingAddressbooleanSimTrue para aplicar como endereço de cobrança.


Exemplo

mínimo

Bloco de código
languagesass
themeMidnight
{
  "
ID
sessionID":
338862,
 
"SessionID":
"<SessionID>",
  
"BasketID": 123456,
  
"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)

    CampoTipoObrigatórioDescrição
    Paymentsarray<object>Sim (≥1)Lista de pagamentos
    a aplicar
    .
    SessionIDstringSim
    Identificador de sessão do cliente
    Sessão.
    Estrutura de


    Payments[]

    CampoTipoObrigatórioDescrição
    PaymentMethodIDintegerSim
    ID do meio
    Meio de pagamento habilitado
    no Checkout
    .
    InstallmentsintegerSimNúmero de parcelas.
    CardInfoobjectCondicional
    Necessário quando
    Quando o
    meio
    método exigir dados de cartão ou um token.
    Estrutura de


    CardInfo (quando aplicável)

    CampoTipoObrigatórioDescrição
    HolderstringSim*Nome
    impresso
    no cartão
    (*quando aplicável)
    .
    NumberstringSim*PAN
    do cartão (formato aceito pelo provedor)
    .
    SecurityCodestringSim*CVV/CVC.
    MonthintegerSim*
    Mês de expiração (
    1–12
    )
    .
    YearintegerSim*
    Ano de expiração (
    YYYY
    )
    .
    ExpirationDatestringOpcionalAlternativa
    de expiração (
    MM/YY
    ), se suportado
    .
    TokenstringAlternativoQuando o provedor usa tokenização.


    Exemplo

    mínimo

    (cartão)

    Bloco de código
    languagesass
    themeMidnight
    {
      
    "Payments": [
        
    {
    
          
    "PaymentMethodID": 955,
          "Installments": 1,
          "CardInfo": {
            "Holder": "NOME CLIENTE",
            "
    Holder":"NOME DO CLIENTE",
    Number": "4000000000000010",
            "SecurityCode": "123",
            "Month": 1,
            "Year": 2026
        
    "Number":"4000 0000 0000 0010
      }
        }
      ],
      "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,
      "
    SecurityCode
    SessionID": "
    123
    <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
    {
      "
    Month
    sessionID":
    1
     "<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": "
    Year
    <SessionID>",
      "BasketID":
    2026
     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>",
      "
    ExpirationDate
    BasketID": 123456,
      "BasketAuthorityToken": "
    01/26
    <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",
      "
    Installments
    deliveryOptionID":
    1
     "pickup-oms",
      "latitude": -23.55052,
      
    }
    "longitude": -46.63331,
      "radiusKm": 
    ]
    30,
    
      "
    SessionID
    page":
    "<SessionID>"
     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).