Sobre:
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 entrada | Tipo | Descrição |
|---|---|---|
| CustomerType | String | É o tipo de cliente que se está cadastrando. No momento só é possivel cadastrar cliente do tipo “Person” (Pessoa). obrigatório |
| String | É o e-mail do cliente a ser cadastrado. Esta informação será usada posteriormente para login. | |
| Password | String | Senha do cliente que está cadastrando. |
| Password Check | String | verificação da senha que está se cadastrando. Deve ser o mesmo valor do campo “Password” a fim de permitir o cadastro. |
| Name | String | Nome do cliente. obrigatório |
| Surname | String | Sobrenome do cliente. obrigatório |
| BirthDate | String | Data de nascimento. obrigatório |
| Gender | String | Sexo do cliente. Informar "M" (masculin) ou "F" (feminino). obrigatório. |
| CPF | String | CPF do cliente. obrigatório |
| Phone | String | Telefone do cliente. |
| ExtendedProperties | metadata | coleção de objetos |
| Name | String | Nome do endereço (Ex: Casa, escritório). obrigatório |
| ContactName | String | Nome da pessoa de contato no endereço. |
| AddressLine | String | Nome do logradouro (Rua 123, avenida 123). |
| City | String | Cidade. obrigatório |
| Neighborhood | String | Bairro. obrigatório |
| Number | String | Número do endereço. obrigatório. |
| State | String | Estado do endereço. obrigatório |
| PostalCode | String | CEP do endereço. obrigatório |
| AddressNotes | String | Notas sobre o endereço |
| Landmark | String | Ponto de Referência |
| Latitude | Ponto latitudinal do endereço | |
| Longitude | Ponto longitudinal do endereço | |
| ExtendedProperties | metadata | coleção de objetos |
| etAsShippingAddress | Boolean |
{
"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ída | Tipo | Descrição |
|---|---|---|
| Basket | Object | Contém todas as informações pertinentes ao cadastro do cliente, mais o carrinho gerado. |
| Shopper | Object | Contém as informações do cliente. |
| BasketID | Int | Identificar do carrinho do cliente. |
| Items | Coleção de objetos | Contém os itens para compra do cliente |
| DeliveryGroups | Coleção de objetos | |
| SingleDeliveryOption | boolean | Indica se há apenas um método de entrega. |
| SelectedDeliveryOption | String | Método de entrega. |
| PostalCode | String | O CEP cadastrado no carrinho. |
| IsPostalCodeReadonly | Boolean | Se o CEP é apenas leitura. |
| Awards | Coleção de objetos | Retorna todos os premios aplicados no carrinho |
| ItemAwards | Coleção de objetos | Retorna todos os descontos aplicados no carrinho |
| Discounts | Coleção de objetos | Retorna todos os descontos aplicados no carrinho |
| Upsells | Coleção de objetos | Retorna todos os upsells aplicados no carrinho |
| PaymentTerms | Coleção de objetos | Retorna todos os prazos do carrinho |
| Payments | Coleção de objetos | Retorna todos os pagamentos aplicados no carrinho |
| CreditCompetence | Object | |
| ItemDiscounts | String | Retorna todos os descontos de produtos aplicados no carrinho.. |
| DeliveryDiscounts | String | Retorna todos os descontos de entrega aplicados no carrinho. |
| GiftCertificates | String | |
| Coupons | String | Retorna todos os cupons aplicados no carrinho. |
| DeliveryAmount | Decimal | Retorna o total do frete do carrinho |
| DeliveryDiscountAmount | Decimal | Retorna o total de descontos do frete do carrinho |
| DeliveryLoyaltyProgramPoints | Decimal | Retorna o total de pontos de fidelidade para a entrega. |
| DiscountAmount | Decimal | Retorna o total de descontos do carrinho |
| SubTotal | Decimal | Retorna o Subtotal do carrinho |
| Total | Decimal | Retorna o total do carrinho |
| IsFreeShipping | Boolean | Retorna se essa linha do basket será usada ou não como opção de forma de entrega. |
| TaxAmount | Decimal | Retorna Total das taxas |
| TaxationAmount | Decimal | Retorna Total de STs |
| LoyaltyCardAmount | Decimal | Retorna o total de cartão fidelidade do carrinho |
| MinETADays | Int | Retorna o numero mínimo de dias para entrega |
| MaxETADays | Int | Retorna o número máximo de dias para a entrega. |
| DeliveryETADays | Int | Retorna o número de dias para a entrega baseado na forma selecionada (prazo de entrega) |
| HasAnyAvailableWrapping | Boolean | Se tem opção de embalagem. |
| HasAnyAdditionalService | Boolean | Se possui algum serviço adicional. |
| HasAnyWishlist | Boolean | Se há alguma lista de desejos. |
| HasAnyCustomization | Boolean | Se tem alguma lista customizada. |
| HasLoyaltyProgram | Boolean | Se há algum programa de fidelidade. |
| Wishlist | Coleção de objetos | |
| ProductAdditionals | Coleção de objetos | |
| ProductAdditionalServices | Coleção de objetos | |
| IsValid | Boolean | Se o carrinho é valido como um todo. |
| HasAnyOutOfStockItem | Boolean | Se há produtos sem estoque |
| HasPartiallyAnyOutOfStockItem | Boolean | Se há produtos parcialmente sem estoque |
| Sellers | Coleção de objetos | Coleção de vendedores |
| HasSeller | Boolean | Se possui algum vendedor |
| LoyaltyProgramTotalOfProductPoints | Decimal | Total de pontos no programa de fidelidade com base nos produtos. |
| LoyaltyProgramMode | String | Modo de como funciona o programa de fidelidade (P = por produto, O = por pedido) |
| HasAllUndeliverableItems | Boolean | Todos os produtos não podem ser entregues |
| IsReadOnly | Boolean | Estado do carrinho é apenas leitura |
| OrderTypeID | Int | ID do tipo de ordem |
| HasCompetenceDiscount | Boolean | |
| Quote | Object | Orçamento |
| BasketHash | String | Código de hash de todo o carrinho |
| ShopperTicket | Object | |
| ShopperTicketID | String | Identificação |
| WebSiteID | Int | ID do website cujo ticket pertence |
| CustomerID | Int | ID do cliente |
| CommingFromUrl | String | URL de origem |
| UtmSource | String | |
| UtmMedium | String | |
| UtmCampaign | String | |
| UtmTerm | String | |
| UtmContent | String | |
| LastTicketID | String | ID do ultimo ticket criado para o cliente |
| CreatedDate | String | Data da criação |
| TrafficSourceID | Int | Identificação da fonte do trafego. |
| BasketID | Int | ID do carrinho relacionado ao ticket |
| CustomerGroupIDs | Coleção de Int | ID(s) dos grupos de clientes |
| IsAuthenticated | Boolean | Se o cliente está autenticado |
| Name | String | Nome do cliente |
| IsGuest | Boolean | Se é visitante |
| String | E-mail do cliente | |
| SessionID | String | SessionID do cliente |
| IsActive | Boolean | Se o cliente está ativo |
| isNewShopper | Boolean | Se o cliente é novo no sistema |
| LastOrderID | String | ID do último pedido realizado |
| CustomerImpersonation | Object | Informações de personificação de cliente |
| JsonWebToken | String | Token para utilização de Json na Web. |
| StateChanged | Boolean | Se o estado do cliente mudou |
| IsValid | Boolean | Se a estrutura de dados está válida |
| Errors | Coleção de objetos | Coleção de erros que podem ocorrer internamente |
| IsValid | Boolean | Se a estrutura de dados está válida |
| StateChanged | Boolean | se o estado do cliente mudou |
| Errors | Coleção de objetos | Coleçã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 entrada | Tipo | Descrição |
|---|---|---|
| key | String | É o login do cliente cadastrado previamente na loja. É necessário que seja informado um e-mail. |
| Password | String | É 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 entrada | Tipo | Descrição |
|---|---|---|
| CustomerID | String | É o código do cliente criado. Este código é imutável e deve ser guardado para futuras requisições. |
| SessionID | String | É 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. |
| ShopperTicketID | String | É 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. |
| DocumentNumber | String | CPF 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 entrada | Tipo | Descrição |
|---|---|---|
| CustomerID | Int | É o código do cliente. |
| SessionID | String | É 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 entrada | Tipo | Descrição |
|---|---|---|
| CustomerID | Int | Código do cliente |
| SessionID | String | É 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 entrada | Tipo | Descrição |
|---|---|---|
| code | String | Obtido 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 entrada | Tipo |
|---|---|
| access_token | String |
{
"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 entrada | Tipo | Descrição |
|---|---|---|
| oauth_token | String | Fornecido do processo de OAuth do Twitter. Este oauth_token deve ser gerado usando os mesmos dados de credencial configurados na plataforma. |
| oauth_verifier | String | Fornecido 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"
}