# Upload de uma planilha de inventário Upload de uma planilha de inventário. Este endpoint aceita solicitações HTTP no formato Form-Data. Veja um exemplo: curl --location 'http://{BASE_URL}/api/v3/stocks/{stockId}/inventories/{inventoryId}/upload' \ --header 'CPlug-Company-Id: COMPANY_ID' \ --header 'Idempotency-Key: IDEMPOTENCY_KEY' \ --header 'Authorization: Bearer TOKEN' \ --form 'file=@"/path/to/spreadsheet.xlsx"' * Quando o arquivo é validado com sucesso, este endpoint já salva os itens no inventário. * Se o arquivo não for validado com sucesso, este endpoint retorna todos os itens da planilha e em cada item, mostra qual foi o(s) erro(s) encontrado(s). * Neste caso, o usuário deve corrigir os itens e enviar novamente ou * Enviar os itens para o endpoint de importação que foram devolvidos neste endpoint. Endpoint: POST /api/v3/stocks/{stockId}/inventories/{inventoryId}/upload Version: 3.0.0 Security: OAuth2 ## Header parameters: - `CPlug-Company-Id` (number, required) Id da Empresa (Company). Você pode localizar os IDs das empresas no _endpoint_ de listagem de empresas. Example: 12 - `Idempotency-Key` (string, required) UUID aleatório gerado por você. Nós utilizamos esse header para evitar duplicidade de registros, ou seja, caso você não tenha recebido a resposta de alguma requisição e mandar o mesmo UUID, nós não duplicaremos o registro. ## Path parameters: - `stockId` (integer, required) ID do estoque. Example: 1 - `inventoryId` (integer, required) ID do inventário. Example: 1 ## Request fields (multipart/form-data): - `file` (string) ## Response 400 fields (application/json): - `data` (object) - `data.upload_items` (array) Lista de itens do inventário. - `data.upload_items.row_number` (integer) Número da linha da planilha. Example: 1 - `data.upload_items.item` (object) Item do inventário. - `data.upload_items.item.id` (integer) Identificador único do produto. Example: 123 - `data.upload_items.item.name` (string) Nome do produto. Example: "Nome do produto" - `data.upload_items.item.sku` (string) Código SKU do produto. Esse código deve ser único. Exemplo: COD-CP-01 Example: "COD-CP-01" - `data.upload_items.item.stock` (object) Informações do estoque do produto. - `data.upload_items.item.stock.unitary_cost` (object) Custo unitário do produto - `data.upload_items.item.stock.unitary_cost.amount` (number, required) Valor expresso como um número decimal das principais unidades monetárias Example: 99.95 - `data.upload_items.item.stock.unitary_cost.currency` (string, required) Código de moeda de 3 letras conforme definido pela ISO-4217 Example: "BRL" - `data.upload_items.item.stock.previous_amount` (number,null) Quantidade anterior do produto. Example: 1 - `data.upload_items.item.stock.new_amount` (number,null) Nova quantidade do produto. Example: 10 - `data.upload_items.item.stock.can_replace_cost` (boolean) Se o custo unitário pode ser substituído. Example: true - `data.upload_items.item.stock.balance` (object,null) Saldo do produto - `data.upload_items.item.stock.balance.amount` (number) Saldo do produto. Example: 10 - `data.upload_items.item.stock.balance.type` (string,null) Se o saldo é positivo ou negativo. Enum: "positive", "negative" - `data.upload_items.errors` (array) Lista de erros encontrados no item. - `data.upload_items.errors.code` (string) Código do erro. Example: "new_stock_empty" - `data.upload_items.errors.message` (string) Mensagem do erro. Example: "Novo estoque inválido: 100" ## Response 422 fields (application/json): - `code` (string, required) Código de erro. Example: "uneditable_entity" - `message` (string) Descrição do erro. Example: "description error" - `meta` (array) Dados adicionais sobre o erro. - `meta.field` (string, required) Nome do campo no qual existe um erro de validação. Example: "name" - `meta.validations` (array) - `meta.validations.type` (string, required) Tipo da validação aplicada. Example: "Required" - `meta.validations.value` (array) Tipo de valor aplicável (esse campo pode ser vazio). ## Response 204 fields ## Response 401 fields ## Response 404 fields