insert

Disponível na versão: 1.0+

Permite inserir um artigo.

O campo type aceita três valores, com o seguinte significado:

  • 1: Produto;
  • 2: Serviço;
  • 3: Outros.

O campo reference deve ser único.

Pode definir um conjunto de fornecedores e impostos, embora eles não sejam obrigatórios.
Tenha em consideração de que os parâmetros inválidos nos fornecedores ou impostos, irá fazer com que a inserção ou a atualização do produto falhe.

O campo at_product_category torna-se obrigatório caso o artigo tenha stocks (campo has_stock). Este campo aceita os seguintes valores: 

  • M: mercadorias;
  • P: matérias-primas, subsidiárias e de consumo;
  • A: produtos acabados e intermédios;
  • S: subprodutos, desperdícios e refugos;
  • T: produtos e trabalhos em curso.

Como sempre, você irá receber uma série de erros, em que o índice do array mais alto estará no formato suppliers[i] ou taxes[i], sendo o índice i do item com o erro vem devolvido pela ordem enviada.
No entanto, só vai ver esses erros se o produto em si for válido, ou seja, se não falhar logo nos campos do próprio produto.

Os erros de envio são devolvidos em duas etapas:

  • Primeiro, se a sua informação de produto é inválida;
  • Se o produto for válido e, alguns dos itens mencionados nas matrizes forem inválidos também.

Os ids dos fornecedores e impostos devem ser válidos.
Você pode obter esses dados a partir de outras classes e métodos da API.

O campo value dos itens fiscais será anulado com o valor do imposto correspondente, se o imposto não for do tipo 3 (Ver Impostos e Taxas para mais informações).
Lembre-se que a ordem dos impostos é importante, e se houver mais de um imposto, e se alguns forem cumulativos, tomar cuidado extra com a ordem dos mesmos.

Se não houver nenhum imposto, ou se nenhum deles for do saft_type igual a 1 (IVA), ou se aqueles tiverem valor zero, o exemption_reason do produto é obrigatório.

Se a sua empresa tiver gestão de armazéns e o artigo a inserir tiver stocks:

  • Pode enviar o parâmetro warehouse_id para definir um armazém por defeito para este artigo;
  • Se não enviar a estrutura warehouses e enviar um valor no parâmetro stock, este será colocado no armazém por defeito da sua empresa;
  • Se, por outro lado, enviar a estrutura warehouses, o stock global do artigo será a soma de todos os stocks enviados para armazéns (ignorando qualquer valor enviado);
  • Se não enviar o parâmetro stock nem a estrutura warehouses, o artigo terá stock zero.
Pedido

https://api.moloni.pt/v1/products/insert/?access_token=[current_access_token]

Parâmetros
company_id int

Obrigatório

category_id int

Obrigatório

type int

Obrigatório

name string

Obrigatório

summary string

Facultativo

reference string

Obrigatório

ean string

Facultativo

price float

Obrigatório

unit_id int

Obrigatório

has_stock int

Obrigatório

stock float

Obrigatório

minimum_stock float

Facultativo

pos_favorite int

Facultativo

at_product_category string

Facultativo

exemption_reason string

Facultativo

taxes array

Facultativo

tax_id int

Obrigatório

value float

Obrigatório

order int

Obrigatório

cumulative int

Obrigatório

suppliers array

Facultativo

supplier_id int

Obrigatório

cost_price float

Obrigatório

referenceint

Facultativo

properties array

Facultativo

property_id int

Obrigatório

value string

Obrigatório

warehouses array

Facultativo

warehouse_id int

Obrigatório

stock float

Obrigatório

Nota
- O parâmetro qty tem como default 50 e o offset 0, sendo que o máximo qty é 50;
- Campos de preenchimento facultativo, significa que podem ser uma string vazia ou zero, dependendo do respectivo tipo.
Resposta
{
    valid: 1,
    product_id: int
}
Lista de erros possíveis
Sempre que existir um erro no preenchimento dos campos, será devolvido via JSON o objeto com os erros indexado pela ordem dos campos.
As mensagens de erro, são devolvidas sob a forma de códigos, e para perceber quais os erros disponíveis e como interpretar as mensagens recebidas, consulte esta ligação.

© 2024 Moloni

Software de faturação online

Certificado pela Autoridade Tributária N.º 2860