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": "[email protected]",
"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": "[email protected]",
"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
c | 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": "[email protected]",
"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"
}
/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"
}
/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"
}