- 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.
- /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 | | E-mail | 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 |
|
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"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 | | Email | 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 |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"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": []
} |
- /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. |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"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 |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"CustomerID": 0,
"SessionID": "String",
"ShopperTicketID": "String",
"DocumentNumber": "String"
} |
- /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. |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"CustomerID": 0,
"SessionID": "String"
} |
Response: - Obtém-se somente um "HTTP CODE 200" onde indicará que o logout fora realizado com êxito.
- /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. |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"CustomerID": 1037,
"SessionID": "k1nfyjuyq5evdkfux5ckmjar"
} |
Response: - O retorno é somente um "HTTP CODE 200" que indicará que fora realizada a manutenção da sessão ativa.
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. |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"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 |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"CustomerID": 0,
"SessionID": "String",
"ShopperTicketID": "String",
"DocumentNumber": "String"
} |
- /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. |
| Bloco de código |
|---|
| language | sass |
|---|
| theme | Midnight |
|---|
| {
"CustomerID": 0,
"SessionID": "String",
"ShopperTicketID": "String",
"DocumentNumber": "String"
} |
|