Inclusão de item em atendimento

Web Services - Inclusão de item em atendimento


O objetivo deste serviço é realizar a inclusão de itens em atendimentos (produtos ou serviços, nas operações de venda, consumo e comodato). Abaixo, segue exemplo do json de envio:


{
"ticket_item_insert":
{
"ticket_id": 5248,
"customer_id": 125,
"type": "product",
"operation": "sale",
"contract_id": 1658,
"item_id": 1588,
"serial_number": "A6587548",
"location_id": 1,
"quantity": 1,
"discount_amount": 0,
"installments_quantity": 2,
"installments_detail":
[
{
"description": "Parcela 1",
"amount": 10.5,
"reference_period": "2020-04-01"
},
{
"description": "Parcela 2",
"amount": 10.5,
"reference_period": "2020-05-01"
}
],
"dealer_id": 15
}
}

Detalhamento dos campos

ID Campo Obrigatório Pai Tipo Observações
A01 ticket_item_insert Sim Raiz -  
A02 ticket_id Sim A01 Número Número do atendimento. Aceita valores inteiros positivos e maiores que zero.
A03 customer_id Sim A01 Número

Código do cliente. Aceita valores inteiros positivos e maiores que zero.

A04 type Sim A01 Texto

Tipo de item. Valores aceitos:

  • service (para inclusão de itens de serviço)
  • product (para inclusão de itens de estoque)
A05 operation Sim A01 Texto

Tipo de operação. Valores aceitos:

  • sale (para operação Venda)
  • lending (para operação Comodato)
  • consumption (para operação Consumo)

Para itens de serviço, apenas a operação sale pode ser utilizada.

A06 contract_id Sim* A01 Número

Número do contrato do cliente. Aceita valores inteiros positivos e maiores que zero.

Este campo é opcional apenas na operação consumption

A07 item_id Sim A01 Número

Código do item (produto ou serviço). Aceita valores inteiros positivos e maiores que zero.

A08 serial_number Não* A01 Texto

Número serial do produto.

Este campo só deve ser informado para itens de estoque controlados por serial. Para os demais casos ele não deve ser informado.

A09 location_id Não* A01 Número

Código da locação. Aceita valores inteiros positivos e maiores que zero.

Este campo deve ser informado para itens de estoque não controlados por serial. Ele indica a locação de onde o item será movimentado.

A10 quantity Sim A01 Decimal (15.2)

Quantidade do item. Aceita valores numéricos (com 2 decimais) positivos e maiores que zero.

Para itens de estoque controlados por serial, é obrigatório ser informado com valor igual a um (1).

A11 discount_amount Não A01 Decimal (15.2)

Valor do desconto. Aceita valores numéricos (com 2 decimais) positivos e maiores que zero.

Só pode ser informado para operações do tipo sale.

O valor do desconto deve ser menor ou igual ao valor da quantidade - informada no campo quantity - multiplicado pelo preço de venda do produto.

A12 installments_quantity Não* A01 Número

Quantidade de parcelas do item. Aceita valores inteiros positivos e maiores que zero.

Este campo deve ser informado nas operações do tipo sale.

A13 installments_detail Não* A01 Lista de objetos

Grupo de informações das parcelas.

Este campo é obrigatório quando for informado um valor maior do que um (1) no campo installments_quantity.

A soma dos campos "amount" deve sempre ser igual ao valor do total do item.

A quantidade de objetos deve sempre ser igual ao valor do campo "installments_quantity".

B01 description Sim A13 Texto

Descrição da parcela do item.

Tamanho máximo: 50

B02 amount Sim A13

Decimal (15.2)

Valor da parcela do item. Aceita valores numéricos (com 2 decimais) positivos e maiores que zero.

B03 reference_period Sim A13 Data

Período de referência parcela do item. Formato: AAAA-MM-DD

Independente do valor passado em DD (dia), sempre será salvo "01".

Não é permitido um mesmo período de referência em mais de uma parcela.

A14 dealer_id Não A01 Número

Código do terceiro. Aceita valores inteiros positivos e maiores que zero.

 

Mensagem de retorno

Em caso de sucesso, será retornado um json conforme o exemplo abaixo:

{
  "status": 1,
  "error_code": 0,
  "error_description": "",
  "result": 
{
"item_id": 65487
} }

Em caso de falha, será retornado um json conforme o exemplo abaixo:

{
"status": 0,
"error_code": 19,
"error_description": "Unknown error!",
"result": ""
}

<<