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.