Pular para o conteúdo principal

API do Fipli

Esta documentação cobre a API disponível em https://portal.fipli.pro/api/v1.

URL base

https://portal.fipli.pro/api/v1

Autenticação

Quase todas as rotas privadas exigem estes dois campos no body:

CampoTipoObrigatórioDescrição
access_tokenstringSimToken de acesso da API do domínio.
unit_tokenstringSimToken da unidade que será consultada ou alterada.

Como obter o access_token

  1. No portal, abra o menu do usuário.
  2. Entre em Perfil.
  3. Abra a aba API.
  4. Gere e copie o token.

Observação: o token é exibido uma única vez no momento da geração.

Como obter o unit_token

  1. Abra a listagem de unidades.
  2. Edite a unidade desejada.
  3. Copie o campo Token API.

Formatos de requisição

application/json

É o formato padrão da maioria das rotas.

curl -X POST 'https://portal.fipli.pro/api/v1/get_users' \
-H 'Content-Type: application/json' \
-d '{"access_token":"<access_token>","unit_token":"<unit_token>"}'

multipart/form-data

Usado em rotas com upload de arquivo:

  • /insert_expense
  • /update_expense
  • /insert_expense_files
  • /insert_income
  • /insert_income_files
  • /get_ocr_data_by_file
  • /insert_screening
  • /insert_contract
  • /update_contract

Padrões reais de resposta

A API possui dois padrões de resposta em produção.

1. Padrão direto

Mais comum nas rotas mais novas.

{
"success": true,
"data": []
}

2. Envelope legado

Algumas rotas antigas retornam um objeto com status e response no corpo, mesmo quando o HTTP status fica 200.

{
"status": 200,
"response": {
"success": true,
"data": []
}
}

Esse comportamento existe de fato no backend atual e está documentado nas páginas específicas quando aplicável.

Convenções importantes

  • Todos os endpoints privados do módulo legado validam access_token + unit_token.
  • Diversas rotas aceitam aliases para o mesmo campo, por exemplo token e id_token.
  • Datas em filtros geralmente usam YYYY-MM-DD.
  • Alguns módulos retornam datas formatadas para exibição, por exemplo DD/MM/YYYY.
  • A rota POST / (alias: POST /transactions) lista lançamentos e aceita intervalo máximo de 365 dias entre from_date e to_date.
  • A rota POST /cash_flow usa initial_date e final_date (nomes diferentes dos usados em POST /).

Rotas públicas

As rotas abaixo não usam access_token e unit_token:

  • GET /sales_orders/public_payment/:token
  • GET /sales_orders/public_boleto/:token
  • GET /sales_orders/public_pix_qr/:token
  • POST /sales_orders/public_event
  • POST /sales_orders/public_pay

Elas existem para o portal público de pagamento de pedidos de venda.

Inventário da API

Financeiro

  • POST / (alias: POST /transactions)
  • POST /insert_expense
  • POST /update_expense
  • POST /list_expense_files
  • POST /insert_expense_files
  • POST /delete_expense_files
  • POST /insert_income
  • POST /update_income
  • POST /list_income_files
  • POST /insert_income_files
  • POST /delete_income_files
  • POST /cash_flow
  • POST /get_status

Cadastros

  • POST /get_categories
  • POST /insert_category
  • POST /disable_category
  • POST /enable_category
  • POST /update_category
  • POST /list_group_categories
  • POST /get_projects
  • POST /insert_project
  • POST /disable_project
  • POST /enable_project
  • POST /update_project
  • POST /get_contacts
  • POST /insert_contact
  • POST /disable_contact
  • POST /enable_contact
  • POST /update_contact
  • POST /get_bank_account
  • POST /insert_bank_account
  • POST /disable_bank_account
  • POST /enable_bank_account
  • POST /update_bank_account
  • POST /get_type_banks
  • POST /get_banks
  • POST /list_payments_method
  • POST /get_users

Produtos, estoque e documentos

  • POST /get_products_and_services
  • POST /insert_product_or_service
  • POST /disable_product_or_service
  • POST /enable_product_or_service
  • POST /update_product_or_service
  • POST /insert_inventory_movement
  • POST /get_inventory_moviment
  • POST /update_inventory_movement
  • POST /disable_inventory_movement
  • POST /enable_inventory_movement
  • POST /get_inventory_reports
  • POST /get_ocr_data_by_file
  • POST /insert_screening

Pedidos e contratos

  • POST /list_sales_orders
  • POST /get_sales_order_by_id
  • POST /insert_sales_order
  • POST /disable_sales_order
  • POST /enable_sales_order
  • POST /generate_charge
  • POST /cancel_charge
  • POST /resend_charge
  • POST /generate_nf
  • POST /cancel_nf
  • POST /send_danfe_xml
  • POST /list_purchase_orders
  • POST /get_purchase_order_by_id
  • POST /insert_purchase_order_by_access_key
  • POST /set_purchase_order_active
  • POST /list_nfes
  • POST /list_stock_items_by_unit
  • POST /manifest_nfe
  • POST /list_contracts
  • POST /insert_contract
  • POST /update_contract
  • POST /enable_contract
  • POST /disable_contract
  • POST /delete_contract_files