Realizar envio de dados de vendas.
Envio de dados de Vendas
O envio é realizado a partir de um CSV ou JSON. O arquivo deve conter no máximo 1GB de tamanho, caso ultrapasse o limite o arquivo deve ser divido em partes contendo 1GB cada.
Os campos a serem enviados devem seguir o padrão PascalCase
nas duas estrutura (CSV e JSON).
Estrutura das informações
As informações é enviada em uma lista contendo a estrutura de Sale
.
Sale
OrderId* : String
OrderDate* : Datetime
OrderStatus* : String
OrderTotal : Float
OrderTotalQuantity : Integer
OrderTotalWeight : Float
OrderDiscount : Float
ProductId* : String
ProductName : String
ProductQuantity : Integer
ProductPrice* : Float
ProductBrand : String
ProductCategory : String
ProductSubcategory : String
StoreId* : String
StoreName : String
StoreCity : String
StoreState : String
ShippingPrice : Float
DeliveryCity : String
DeliveryState : String
PaymentMethods : String
VendedorName : String
ClientId : String
CustomerName : String
CustomerCPF_CNPJ* : String
CustomerCity : String
CustomerState : String
CustomerPhone* : String
CustomerEmail* : String
CustomerBirth : Datetime
CustomerGender : String
O objeto Sale
deve conter os campos obrigatórios. (*
)
Atributo do tipo
Float
deve conter uma casa decimal, para que seja identificado como um valor flutuante
Requisição
Deve incluir em seu cabeçalho, a chave de acesso e o tipo de conteúdo que será enviado, que pode ser application/json
para arquivos no formato .json
e application/csv
para arquivos no formato .csv
.
O envio do arquivo deve ser realizado através de streaming
. Se estiver utilizando um programa para fazer a requisição (Insomnia/Postman), é recomendado utilizar o formato Binary
no corpo da requisição para o envio do arquivo.
Exemplo de solicitação utilizando cURL
:
curl --request POST \
--url 'https://{base_url}/DataInserterSales/api/sales' \
--header 'Content-Type: application/json' \
--header 'apiKey: {apiKey}' \
curl --request POST \
--url 'https://{base_url}/DataInserterSales/api/sales' \
--header 'Content-Type: application/csv' \
--header 'apiKey: {apiKey}' \
Requisições realizadas pela documentação não irão retornar sucesso, pois a plataforma não suporta o formato
Streaming
Exemplos dos arquivos JSON e CSV
[
{
"OrderId": "1019",
"OrderDate": "2023-12-18T09:58:35.231Z",
"OrderStatus": "Devolução",
"OrderTotal": 62.95,
"OrderTotalQuantity": 1,
"OrderTotalWeight": 1.11,
"OrderDiscount": 10.1,
"ProductId": "2030",
"ProductName": "Caneta",
"ProductQuantity": 1,
"ProductPrice": 50.01,
"ProductBrand": "Faber castel",
"ProductCategory": "Papelaria",
"ProductSubcategory": "Material escolar",
"StoreId": "123",
"StoreName": "Paulista shopping",
"StoreCity": "São Paulo",
"StoreState": "SP",
"ShippingPrice": 20.95,
"DeliveryCity": "Bento Gonçalves",
"DeliveryState": "RS",
"PaymentMethods": "Dinheiro",
"VendedorName": "Saulo Oliveira",
"ClientId": "123abc",
"CustomerName": "João da Silva",
"CustomerCPF_CNPJ": "76784235789",
"CustomerCity": "Bento Gonçalves",
"CustomerState": "RS",
"CustomerPhone": "(54) 34515555",
"CustomerEmail": "[email protected]",
"CustomerBirth": "1985-11-03T00:00:00.000Z",
"CustomerGender": "Feminino"
}
]
OrderId;OrderDate;OrderStatus;OrderTotal;OrderTotalQuantity;OrderTotalWeight;OrderDiscount;ProductId;ProductName;ProductQuantity;ProductPrice;ProductBrand;ProductCategory;ProductSubcategory;StoreId;StoreName;StoreCity;StoreState;ShippingPrice;DeliveryCity;DeliveryState;PaymentMethods;VendedorName;ClientId;CustomerName;CustomerCPF_CNPJ;CustomerCity;CustomerState;CustomerPhone;CustomerEmail;CustomerBirth;CustomerGender
1019;2023-12-18T09:58:35.231Z;Devolução;62.95;1;1.11;10.1;2030;Caneta;1;50.01;Faber castel;Papelaria;Material escolar;123;Paulista shopping;São Paulo;SP;20.95;Bento Gonçalves;RS;Dinheiro;Saulo Oliveira;123abc;João da Silva;76784235789;Bento Gonçalves;RS;(54) 34515555;[email protected];1985-11-03T00:00:00.000Z;Feminino