Pular para o conteúdo principal

Core API

Alterações publicadas na Core API.

16 de setembro de 2026​

ÁreaTipoDescrição
EntidadesAlteração

Retenção na fonte na ficha da entidade

Validação e normalização da retenção na fonte na criação e actualização de entidades.

`holdingTaxAmount` usa pontos percentuais 0–100 (ex.: 30 = 30%), não um rácio 0–1.

`holdingTaxType`: 0 Desconhecido, 1 Consumidor final, 2 Sujeito passivo de IVA, 3 Entidade pública.

Com tipo Desconhecido, o servidor desliga a retenção e zera taxa e IVA de Caixa; IVA de Caixa só se mantém com tipo 2.

Activar `holdingTax` com a configuração global desligada devolve `Entity.HoldingTax.Disabled` (400), excepto actualização de entidade que já tinha retenção activa.

`GET /gateway/xconfig` passa a expor `holdingTax`.

POST /gateway/entity

RecibosAlteração

Pagamentos a fornecedor no fluxo de recibos

O endpoint existente `POST /gateway/receipt-document` passa a cobrir também pagamentos a fornecedor (`PF`), além dos recibos de cliente (`RE`).

O mesmo contrato serve para liquidar compras elegíveis: a entidade tem de ser fornecedor e os documentos de origem têm de ser de compra.

A criação passa a exigir `Idempotency-Key`, aceita `multipart/form-data` e liquida um ou mais documentos (`receiptBodyDetails`), com pagamentos, descontos, outros valores, retenção na fonte e troco calculado pelo servidor.

Consulta, listagem, próximo número, dados de impressão, arquivo digital e anulação usam o mesmo conjunto `/gateway/receipt-document`.

Guia: Recibos e Pagamentos a Fornecedores.

POST /gateway/receipt-document

RecibosAdição

Documentos pendentes para liquidação

Novo endpoint para listar documentos emitidos elegíveis para liquidação por recibo ou pagamento a fornecedor.

Parâmetros obrigatórios: `entityKeyId` e `receiptNature` (`RE` ou `PF`).

A resposta devolve valores pendentes com sinais normalizados (facturas positivas, notas de crédito negativas), moeda, retenção remanescente e `idHeader` para usar em `receiptBodyDetails`.

Use esta consulta antes de criar o recibo; não construa as linhas a partir de listagens genéricas de documentos.

GET /gateway/receipt-document/pending-documents

13 de agosto de 2026​

ÁreaTipoDescrição
AdministraçãoAlteração

Cache do tenant mais previsível

Os tempos de vida da cache do tenant foram revistos por tipo de dado (referência, master data, documentos, dashboards e dados operacionais), com impacto em todas as APIs do gateway.

Alterações de configuração de layouts e listagens passam a actualizar a cache de imediato, sem depender só da expiração.

`POST /gateway/cache/clear` continua a limpar toda a cache do tenant autenticado.

POST /gateway/cache/clear

Como actualizar

Após alterações manuais na base de dados, use `POST /gateway/cache/clear` se ainda vir dados desactualizados.

SATAdição

Pré-visualização do fecho da ordem de serviço

Novo endpoint para consultar verificações pré-fecho (intervenções abertas e presença de fatura) sem alterar a ordem.

GET /gateway/service-order/{guid}/close-preview

SATAdição

Fecho da ordem de serviço

Novo endpoint para fechar uma ordem de serviço, com registo no histórico de estados.

Com intervenções abertas, é necessário `concludeOpenInterventions: true` (caso contrário `409 Conflict`).

POST /gateway/service-order/{guid}/close

SATAdição

Reabertura da ordem de serviço

Novo endpoint para reabrir uma ordem de serviço previamente fechada, com registo no histórico de estados.

POST /gateway/service-order/{guid}/reopen

SATAdição

Indicar se a ordem já tem fatura

Novo endpoint que indica se a ordem tem pelo menos uma fatura não anulada (tipos FT/FR/FS).

GET /gateway/service-order/{guid}/has-invoice

SATAdição

Documentos emitidos a partir da ordem

Novo endpoint para listar os documentos (ex.: faturas) emitidos a partir de uma ordem de serviço.

GET /gateway/service-order/{guid}/issued-documents

SATAdição

Dados de impressão da ordem de serviço

Novo endpoint com os dados enriquecidos para renderizar o layout de impressão List & Label da ordem.

GET /gateway/service-order/{guid}/printing-data

SATAdição

Associar intervenção à ordem de serviço

Novo endpoint para associar uma intervenção existente a uma ordem de serviço.

POST /gateway/service-order/{guid}/interventions/{id}

SATAdição

Remover intervenção da ordem de serviço

Novo endpoint para remover (soft delete) uma intervenção ligada a uma ordem de serviço.

DELETE /gateway/service-order/{guid}/interventions/{id}

SATAdição

Obter ordem por série e número

Novo endpoint para obter uma ordem de serviço pela série e número (identificação do talão).

GET /gateway/service-order/{series}/{number}

SATAdição

Próximo número da série de ordens

Novo endpoint que devolve o próximo número disponível para uma série de ordens de serviço.

GET /gateway/service-order/next-number/{series}

SATAdição

Raiz do arquivo digital de ordens de serviço

Novo endpoint para obter o directório raiz do arquivo digital das ordens de serviço.

GET /gateway/service-order/digital-archives-directories/root

SATAdição

Arquivo digital associado a uma ordem

Novo endpoint para obter o directório de arquivo digital associado a uma ordem de serviço.

GET /gateway/service-order/{keyId}/digital-archives-directories

SATAdição

Configuração do módulo SAT

Novos endpoints para obter e actualizar a configuração do módulo SAT (`GET`/`PUT /gateway/sat-config`).

GET /gateway/sat-config

6 de agosto de 2026​

ÁreaTipoDescrição
AdministraçãoAdição

Terminais, cache e campos extra

Administração: gestão de terminais (CRUD, next-id, `GET /gateway/terminal/configuration`), limpeza de cache e campos extra configuráveis (`extra-tables-fields-config`).

POST /gateway/cache/clear

Conta correnteAdição

Saldos por escalão (balance-aging)

Consulta de saldos por escalão (`balance`, `notDue`, `overdue0To30` … `points`) e recálculo via `POST .../balance-aging/recalculate`.

Regras do motor: pagamentos com `SendToCheckingAccount` lançam o documento na CC; não se mistura com pagamentos imediatos; FR não aceita CC.

GET /gateway/entity/{keyId}/balance-aging

ContratosAdição

Contratos e modelos de avença

Contratos de cliente (`entity-contract`), tipos, grupos e modelos de avença (`covenants-agreement`), com CRUD, next-id e atribuição de entidades.

GET /gateway/entity-contract

CRMAdição

Módulo CRM

Novo módulo CRM: workspace do cliente, vendas, linhas, recibos, detalhes de pagamento, histórico/ocorrências e configurações (`crm-config`).

Guias: crm-config, crm-current-account, crm-customer-workspace.

GET /gateway/crm/customers/{keyId}

FaturaçãoAdição

Tipos de documento convertíveis

Matriz de conversão: lista os tipos de documento que podem ser convertidos para o tipo indicado (ex.: para FT devolve GR, GT, …).

GET /gateway/document-type/{id}/convertible-sources

PlataformaBreaking

PUT passa a exigir o id no URL

Vários PUT deixaram de aceitar o path base e passaram a exigir o identificador no URL, com DTOs de atualização parcial (`*UpdateDTO` — só os campos enviados são alterados):

`/gateway/warehouse/{id}`, `/gateway/currency/{keyId}`, `/gateway/payment-mode/{id}`, `/gateway/payment-type/{id}`, `/gateway/itemsgroups/{id}`, `/gateway/sales-zone/{id}`, `/gateway/delivery-region/{id}`, `/gateway/address-type/{id}`, `/gateway/customer-contacts/{id}`, `/gateway/points-config/{id}`.

PUT /gateway/warehouse/{id}

Como actualizar

Altere os clientes para PUT `.../{id}` (ou `{keyId}` em currency). Envie apenas os campos a alterar. `EntityGuid` passa a ser gerado pela API na criação e é imutável.

PlataformaRemoção

Removido GET entity-layout

`GET /gateway/entity-layout/{entityList}` deixou de existir.

GET /gateway/entity-layout/{entityList}

Como actualizar

Remova chamadas a este endpoint. Use a configuração de layouts/campos extra documentada na Core API.

PlataformaAlteração

Login combinado e erros RFC 9110

Login combinado é o fluxo recomendado para toda a API (obrigatório em relatórios/gráficos).

`Idempotency-Key` obrigatório em POST sensíveis a repetição. Erros normalizados RFC 9110 com `errors[].code`.

`documentTypeId` não é portável entre bases — resolver via `GET /gateway/document-type`.

POST /gateway/auth/combined-login

SATAdição

Assistência técnica (SAT)

Assistência técnica: equipamentos (brand/model/type), intervenções (CRUD, billing, printing-data, arquivo digital), ordens de serviço, RMA/devoluções e acessórios.

GET /gateway/intervention