Skip to main content

Introdução

Na API do Procfy o detalhamento de valores permite dividir o valor total de uma transação em itens individuais (filhos). Quando o primeiro detalhamento é adicionado a uma transação simples, ela é automaticamente convertida para uma transação detalhada. Os totais da transação pai (valor, valor pago, status de pagamento) são recalculados automaticamente a partir dos filhos.
Atributos com o valor null serão retornados na resposta.
Ao excluir o último detalhamento de uma transação detalhada, ela é automaticamente revertida para simples.

Rotas

Visualizar todos os detalhamentos

Para visualizar todos os detalhamentos de uma transação, faça uma requisição GET para o endpoint correspondente.

Visualizar um detalhamento específico

Para visualizar um detalhamento específico, faça uma requisição GET informando o id do detalhamento.

Criar um detalhamento

Para criar um detalhamento, faça uma requisição POST com os atributos desejados no corpo da requisição.

Editar um detalhamento

Para editar um detalhamento, faça uma requisição PUT ou PATCH informando o id do detalhamento.

Atualizar coleção completa de detalhamentos

Para substituir a coleção inteira de detalhamentos em uma única requisição, utilize o endpoint update_collection.

Excluir um detalhamento

Para excluir um detalhamento, faça uma requisição DELETE informando o id do detalhamento.

Visualizando todos os detalhamentos

Para visualizar todos os detalhamentos de uma transação, faça uma requisição GET para o endpoint correspondente. A resposta inclui um resumo dos totais da transação e o array items com os detalhamentos.
Exemplo de requisição para visualizar todos os detalhamentos de uma transação
Exemplo de resposta para uma transação simples (sem detalhamentos)
Exemplo de resposta para uma transação detalhada (com detalhamentos)

Visualizando um detalhamento específico

Para visualizar um detalhamento específico, faça uma requisição GET informando o id do detalhamento.
Exemplo de requisição para visualizar um detalhamento específico
Exemplo de resposta para visualizar um detalhamento específico

Criando um detalhamento

Para criar um detalhamento, faça uma requisição POST para o endpoint correspondente. A API retorna o objeto criado. Se a transação for simples, ela é automaticamente convertida para detalhada. Os atributos opcionais não informados são herdados da transação pai (due_date, competency_date, category_id, contact_id, cost_center_id). Os atributos são:
Exemplo de requisição para criar um detalhamento
Exemplo de corpo da requisição para criar um detalhamento
Exemplo de resposta para criar um detalhamento (201 Created)

Editando um detalhamento

Para editar um detalhamento, faça uma requisição PUT ou PATCH informando o id do detalhamento. Apenas os atributos informados no corpo da requisição serão atualizados. Os demais permanecem inalterados. Após a edição, os totais da transação pai são recalculados automaticamente.
Exemplo de requisição para editar um detalhamento
Exemplo de corpo da requisição para marcar como pago
Exemplo de resposta para editar um detalhamento (200 OK)

Atualizando coleção de detalhamentos

Para substituir a coleção inteira de detalhamentos em uma única requisição, utilize o endpoint update_collection.
Detalhamentos não incluídos no array items serão excluídos. Itens com id informado são atualizados; itens sem id são criados.
Os atributos do array items são:
Exemplo de requisição para atualizar a coleção de detalhamentos
Exemplo de corpo da requisição (mantém um existente, cria um novo, remove os demais)
Exemplo de resposta para atualizar a coleção (200 OK)

Excluindo um detalhamento

Para excluir um detalhamento, faça uma requisição DELETE informando o id do detalhamento.
Se o detalhamento excluído for o último filho da transação, ela é automaticamente revertida para simples.
Exemplo de requisição para excluir um detalhamento
Exemplo de resposta para excluir um detalhamento (200 OK)

Erros

Erros que podem ocorrer durante as operações de detalhamento de valores.

Erros de validação

Os erros de validação são retornados quando os atributos obrigatórios não são informados ou quando os valores informados não passam nas regras de validação (ex: amount igual a zero ou negativo).

Tabela de erros

Exemplo de resposta para erro de validação (422 Unprocessable Entity)