Headers dos Métodos

  • Todos os métodos aqui listados são do tipo POST e a autenticação deverá ser com Basic Authentication recebendo como parâmetro um content-type: application/json.

Register

  • /web-api/v1/Profile/Account/Register
    • Realizar o cadastro de um novo cliente na plataforma para que o mesmo esteja habilitado a realizar compras.

Request

Parâmetros de entradaTipoDescrição
CustomerTypeStringÉ o tipo de cliente que se está cadastrando. No momento só é possivel cadastrar cliente do tipo “Person” (Pessoa). obrigatório
E-mailStringÉ o e-mail do cliente a ser cadastrado. Esta informação será usada posteriormente para login.
PasswordStringSenha do cliente que está cadastrando.
Password CheckStringverificação da senha que está se cadastrando. Deve ser o mesmo valor do campo “Password” a fim de permitir o cadastro.
NameStringNome do cliente. obrigatório
SurnameStringSobrenome do cliente. obrigatório
BirthDateStringData de nascimento. obrigatório
GenderStringSexo do cliente. Informar "M" (masculin) ou "F" (feminino). obrigatório.
CPFStringCPF do cliente. obrigatório
PhoneStringTelefone do cliente.
ExtendedPropertiesmetadatacoleção de objetos
NameStringNome do endereço (Ex: Casa, escritório). obrigatório
ContactNameStringNome da pessoa de contato no endereço.
AddressLineStringNome do logradouro (Rua 123, avenida 123).
CityStringCidade. obrigatório
NeighborhoodStringBairro. obrigatório
NumberStringNúmero do endereço. obrigatório.
StateStringEstado do endereço. obrigatório
PostalCodeStringCEP do endereço. obrigatório
AddressNotesStringNotas sobre o endereço
LandmarkStringPonto de Referência
Latitude
Ponto latitudinal do endereço
Longitude
Ponto longitudinal do endereço
ExtendedPropertiesmetadatacoleção de objetos
etAsShippingAddressBoolean


{
    "Customer": {
        "CustomerType": "Person",
        "Email": "teste14@dcg.com.br",
        "Password": "123",
        "Password_Check": "123",
        "Name": "João",
        "Surname":"Silva",
        "BirthDate": "01/01/1990",
        "Gender": "M",
        "Cpf": "79915457090",
        "Contact": {
            "Phone": "555 5555"
        },
        "ExtendedProperties": []
    },
    "Addresses": [
        {
            "ID": 0,
            "Name": null,
            "ContactName": "Nome de contato",
            "AddressLine": "Linha de endereço",
            "City": "Cidade",
            "Neighbourhood": "vizinhança",
            "Number": "123",
            "State": "RS",
            "PostalCode": "01234567",
            "AddressNotes": null,
            "Landmark": null,
            "Latitude": null,
            "Longitude": null,
            "ExtendedProperties": [],
            "SetAsShippingAddress": true
        }
    ]
}


Response:

  • Retornará as informações pertinentes ao cadastro e, também, disponibilizará dados da sessão com o intuito do customer já ter a possibilidade de compra.
Parâmetros de saídaTipoDescrição
BasketObjectContém todas as informações pertinentes ao cadastro do cliente, mais o carrinho gerado.
ShopperObjectContém as informações do cliente.
BasketIDIntIdentificar do carrinho do cliente.
ItemsColeção de objetosContém os itens para compra do cliente
DeliveryGroupsColeção de objetos
SingleDeliveryOptionbooleanIndica se há apenas um método de entrega.
SelectedDeliveryOptionStringMétodo de entrega.
PostalCodeStringO CEP cadastrado no carrinho.
IsPostalCodeReadonlyBooleanSe o CEP é apenas leitura.
AwardsColeção de objetosRetorna todos os premios aplicados no carrinho
ItemAwardsColeção de objetosRetorna todos os descontos aplicados no carrinho
DiscountsColeção de objetosRetorna todos os descontos aplicados no carrinho
UpsellsColeção de objetosRetorna todos os upsells aplicados no carrinho
PaymentTermsColeção de objetosRetorna todos os prazos do carrinho
PaymentsColeção de objetosRetorna todos os pagamentos aplicados no carrinho
CreditCompetenceObject
ItemDiscountsStringRetorna todos os descontos de produtos aplicados no carrinho..
DeliveryDiscountsStringRetorna todos os descontos de entrega aplicados no carrinho.
GiftCertificatesString
CouponsStringRetorna todos os cupons aplicados no carrinho.
DeliveryAmountDecimalRetorna o total do frete do carrinho
DeliveryDiscountAmountDecimalRetorna o total de descontos do frete do carrinho
DeliveryLoyaltyProgramPointsDecimalRetorna o total de pontos de fidelidade para a entrega.
DiscountAmountDecimalRetorna o total de descontos do carrinho
SubTotalDecimalRetorna o Subtotal do carrinho
TotalDecimalRetorna o total do carrinho
IsFreeShippingBooleanRetorna se essa linha do basket será usada ou não como opção de forma de entrega.
TaxAmountDecimalRetorna Total das taxas
TaxationAmountDecimalRetorna Total de STs
LoyaltyCardAmountDecimalRetorna o total de cartão fidelidade do carrinho
MinETADaysIntRetorna o numero mínimo de dias para entrega
MaxETADaysIntRetorna o número máximo de dias para a entrega.
DeliveryETADaysIntRetorna o número de dias para a entrega baseado na forma selecionada (prazo de entrega)
HasAnyAvailableWrappingBooleanSe tem opção de embalagem.
HasAnyAdditionalServiceBooleanSe possui algum serviço adicional.
HasAnyWishlistBooleanSe há alguma lista de desejos.
HasAnyCustomizationBooleanSe tem alguma lista customizada.
HasLoyaltyProgramBooleanSe há algum programa de fidelidade.
WishlistColeção de objetos
ProductAdditionalsColeção de objetos
ProductAdditionalServicesColeção de objetos
IsValidBooleanSe o carrinho é valido como um todo.
HasAnyOutOfStockItemBooleanSe há produtos sem estoque
HasPartiallyAnyOutOfStockItemBooleanSe há produtos parcialmente sem estoque
SellersColeção de objetosColeção de vendedores
HasSellerBooleanSe possui algum vendedor
LoyaltyProgramTotalOfProductPointsDecimalTotal de pontos no programa de fidelidade com base nos produtos.
LoyaltyProgramModeStringModo de como funciona o programa de fidelidade (P = por produto, O = por pedido)
HasAllUndeliverableItemsBooleanTodos os produtos não podem ser entregues
IsReadOnlyBooleanEstado do carrinho é apenas leitura
OrderTypeIDIntID do tipo de ordem
HasCompetenceDiscountBoolean
QuoteObjectOrçamento
BasketHashStringCódigo de hash de todo o carrinho
ShopperTicketObject
ShopperTicketIDStringIdentificação
WebSiteIDIntID do website cujo ticket pertence
CustomerIDIntID do cliente
CommingFromUrlStringURL de origem
UtmSourceString
UtmMediumString
UtmCampaignString
UtmTermString
UtmContentString
LastTicketIDStringID do ultimo ticket criado para o cliente
CreatedDateStringData da criação
TrafficSourceIDIntIdentificação da fonte do trafego.
BasketIDIntID do carrinho relacionado ao ticket
CustomerGroupIDsColeção de IntID(s) dos grupos de clientes
IsAuthenticatedBooleanSe o cliente está autenticado
NameStringNome do cliente
IsGuestBooleanSe é visitante
EmailStringE-mail do cliente
SessionIDStringSessionID do cliente
IsActiveBooleanSe o cliente está ativo
isNewShopperBooleanSe o cliente é novo no sistema
LastOrderIDStringID do último pedido realizado
CustomerImpersonationObjectInformações de personificação de cliente
JsonWebTokenStringToken para utilização de Json na Web.
StateChangedBooleanSe o estado do cliente mudou
IsValidBooleanSe a estrutura de dados está válida
ErrorsColeção de objetosColeção de erros que podem ocorrer internamente
IsValidBooleanSe a estrutura de dados está válida
StateChangedBooleanse o estado do cliente mudou
ErrorsColeção de objetosColeção de erros que podem ocorrer internamente


{
    "Basket": {
        "Shopper": {
            "Basket": {
                "BasketID": 6896,
                "Items": [],
                "DeliveryGroups": [],
                "SingleDeliveryOption": false,
                "SelectedDeliveryOption": null,
                "PostalCode": "01234567",
                "IsPostalCodeReadonly": false,
                "Awards": [],
                "ItemAwards": [],
                "Discounts": [],
                "Upsells": [],
                "PaymentTerms": [],
                "Payments": [],
                "CreditCompetence": {
                    "Reference": null,
                    "Amount": 0,
                    "ClaimedAmount": 0,
                    "AvailableAmount": 0
                },
                "ItemDiscounts": [],
                "DeliveryDiscounts": [],
                "GiftCertificates": [],
                "Coupons": [],
                "DeliveryAmount": 0,
                "DeliveryDiscountAmount": 0,
                "DeliveryLoyaltyProgramPoints": null,
                "DiscountAmount": 0,
                "SubTotal": 0,
                "Total": 0,
                "IsFreeShipping": true,
                "TaxAmount": 0,
                "TaxationAmount": 0,
                "LoyaltyCardAmount": 0,
                "MinETADays": -1,
                "MaxETADays": -1,
                "DeliveryETADays": -1,
                "HasAnyAvailableWrapping": false,
                "HasAnyAdditionalService": false,
                "HasAnyWishlist": false,
                "HasAnyCustomization": false,
                "HasLoyaltyProgram": false,
                "Wishlist": null,
                "ProductAdditionals": [],
                "ProductAdditionalServices": [],
                "IsValid": true,
                "HasAnyOutOfStockItem": false,
                "HasPartiallyAnyOutOfStockItem": false,
                "Sellers": [],
                "HasSeller": false,
                "LoyaltyProgramTotalOfProductPoints": 0,
                "LoyaltyProgramMode": "0",
                "HasAllUndeliverableItems": true,
                "IsReadOnly": false,
                "OrderTypeID": 0,
                "HasCompetenceDiscount": false,
                "Quote": null,
                "BasketHash": null
            },
            "ShopperTicket": {
                "ShopperTicketID": "7432fa45-70c5-4741-a607-6ef686ec18a8",
                "WebSiteID": 1,
                "CustomerID": 252675,
                "CommingFromUrl": null,
                "UtmSource": null,
                "UtmMedium": null,
                "UtmCampaign": null,
                "UtmTerm": null,
                "UtmContent": null,
                "LastTicketID": "ff8397fb-0966-4ee2-ae9f-74d1c016317a",
                "CreatedDate": "2018-08-22T14:12:24.0875239-03:00",
                "TrafficSourceID": null,
                "BasketID": 6896,
                "CustomerGroupIDs": null,
                "IsAuthenticated": true,
                "Name": "João",
                "IsGuest": false,
                "Email": "teste14@dcg.com.br",
                "SessionID": "dwo4dde5hkkkdbvlnmdwtwmq",
                "IsActive": true,
                "IsNewShopper": false,
                "LastOrderID": null,
                "CustomerImpersonation": null,
                "JsonWebToken": null
            }
        },
        "StateChanged": false,
        "IsValid": true,
        "Errors": []
    },
    "IsValid": true,
    "StateChanged": false,
    "Errors": []
}


Login

  • /web-api/v1/Profile/Account/Login
    • Realizar o login do cliente na plataforma retornando os dados de sessão para que o mesmo possa ser identificado e autorizado.

Request

Parâmetros de entradaTipoDescrição
keyStringÉ o login do cliente cadastrado previamente na loja. É necessário que seja informado um e-mail.
PasswordStringÉ a senha cadastrada para o cliente em questão.


{
    "Key": "emailDoUsuario@dcg.com.br",
    "Password": "123"
}


Response:

  • Após o request, o endpoint deverá retornar informações pertinentes a sessão que o usuário permanecerá logado:
Parâmetros de entradaTipoDescrição
CustomerIDStringÉ o código do cliente criado. Este código é imutável e deve ser guardado para futuras requisições.
SessionIDStringÉ o código que indica a sessão de navegação do usuário. Este código é temporário e pode variar, mas deve ser utilizado sempre nas requisições de uma mesma sessão de usuário.
ShopperTicketIDStringÉ o código permanente da sessão, utilizado para identificar a origem do carrinho. Este código pode ser utilizado sempre nas requisições de uma mesma sessão de usuário e deve ser utilizado nas rotas de Checkout.
DocumentNumberStringCPF quando o cliente for pessoa física ou CNPJ quando for pessoa jurídica


{
    "CustomerID": 0,
    "SessionID": "String",
    "ShopperTicketID": "String",
    "DocumentNumber": "String"
}


Logout

  • /web-api/v1/Profile/Account/Logout
    • Realizar o logout do cliente na loja de maneira segura.

Request

Parâmetros de entradaTipoDescrição
CustomerIDIntÉ o código do cliente.
SessionIDStringÉ o código que indica a sessão do usuário logado.


{
    "CustomerID": 0,
    "SessionID": "String"
}


Response:

  • Obtém-se somente um "HTTP CODE 200" onde indicará que o logout fora realizado com êxito.

Keep Alive

  • /web-api/v1/Profile/Account/KeepAlive
    • Manter a sessão do usuário ativa enquanto o mesmo utiliza o aplicativo.

Request:

Parâmetros de entradaTipoDescrição
CustomerIDIntCódigo do cliente
SessionIDStringÉ o código que indica a sessão do usuário logado.


{
    "CustomerID": 1037,
    "SessionID": "k1nfyjuyq5evdkfux5ckmjar"
}


Response:

  • O retorno é somente um "HTTP CODE 200" que indicará que fora realizada a manutenção da sessão ativa.

Login Social

  • Apple

    • /OAuth/Apple/Login
    • Fazer o login do cliente usando o code da Apple.
    • Para logar através do provedor de Login da Apple devemos obter o code através do Authorization Response, do Login da Apple, após devemos chamar o método de login POST /OAuth/Apple/Login passando por parâmetro o "code".

Request:

Parâmetros de entradaTipoDescrição
codeStringObtido no Authorization Response, atráves do request utilizando o parâmetro state com o valor webapi, além das credenciais configuradas na plataforma.


{
    "CustomerID": 0,
    "SessionID": "String",
    "ShopperTicketID": "String",
    "DocumentNumber": "String"
}


  • Facebook

    • /OAuth/Facebook/Login
    • Fazer o login do cliente usando o access_token do Facebook.
    • Para logar através do provedor de login do Facebook devemos obter o Token de Acesso através do Login do Facebook, após devemos chamar o método de login POST /OAuth/Facebook/Login passando por parâmetro o "access_token".

Request:

Parâmetros de entradaTipo
access_tokenString


{
    "CustomerID": 0,
    "SessionID": "String",
    "ShopperTicketID": "String",
    "DocumentNumber": "String"
}


  • Twitter

    • /OAuth/Twitter/Login
    • Fazer o login do cliente usando os "oauth_token" e "oauth_verifier" do Twitter.
    • Após seguir os passos "Step 1: Obtaining a request token" e "Step 2: Redirecting the user" descritos na documentação oficial de Log in with Twitter, devemos chamar o método de login POST /OAuth/Twitter/Login passando os parâmetros "oauth_token" e "oauth_verifier" como propriedades do objeto raiz.

Request:

Parâmetros de entradaTipoDescrição
oauth_tokenStringFornecido do processo de OAuth do Twitter. Este oauth_token deve ser gerado usando os mesmos dados de credencial configurados na plataforma.
oauth_verifierStringFornecido do processo de OAuth do Twitter. Este oauth_verifier deve ser gerado usando os mesmos dados de credencial configurados na plataforma.


{
    "CustomerID": 0,
    "SessionID": "String",
    "ShopperTicketID": "String",
    "DocumentNumber": "String"
}