Documentação da API RESTful

Guia completo para integrar o seu software de gestão com a plataforma Saft-Web

Autenticação

Todas as requisições devem incluir o header de autorização:

Authorization: Bearer SUA_CHAVE_DE_API

A chave de API está disponível no dashboard da sua empresa.

Enviar Factura de Venda

POST /api/factura_venda

{
  "tipo": "factura_venda",
  "InvoiceNo": "FT S001/1",
  "InvoiceDate": "2023-01-15",
  "InvoiceType": "FT",
  "CustomerID": "CLI001",
  "Line": [
    {
      "LineNumber": 1,
      "ProductCode": "PROD001",
      "ProductDescription": "Produto Exemplo",
      "Quantity": 10,
      "UnitPrice": 1000,
      "Tax": {
        "TaxType": "IVA",
        "TaxCode": "NOR",
        "TaxPercentage": 14
      }
    }
  ],
  "DocumentTotals": {
    "TaxPayable": 1400,
    "NetTotal": 10000,
    "GrossTotal": 11400
  }
}

Enviar Cliente

POST /api/cliente

{
  "tipo": "cliente",
  "CustomerID": "CLI001",
  "CustomerTaxID": "123456789",
  "CompanyName": "Cliente Exemplo Lda",
  "BillingAddress": {
    "AddressDetail": "Rua Principal, 123",
    "City": "Luanda",
    "Country": "AO"
  },
  "Email": "cliente@exemplo.com",
  "Telephone": "+244 923 456 789"
}

Enviar Movimento de Mercadoria

POST /api/movimento_mercadoria

{
  "tipo": "movimento_mercadoria",
  "DocumentNumber": "GR 2023/001",
  "MovementDate": "2023-01-15",
  "MovementType": "GR",
  "SupplierID": "FOR001",
  "Line": [
    {
      "LineNumber": 1,
      "ProductCode": "PROD001",
      "ProductDescription": "Produto Exemplo",
      "Quantity": 10,
      "UnitOfMeasure": "UN",
      "UnitPrice": 1000
    }
  ],
  "DocumentTotals": {
    "TaxPayable": 1400,
    "NetTotal": 10000,
    "GrossTotal": 11400
  }
}

Enviar Pagamento

POST /api/pagamento

{
  "tipo": "pagamento",
  "PaymentRefNo": "RC 2023/001",
  "TransactionDate": "2023-01-15",
  "PaymentType": "RC",
  "CustomerID": "CLI001",
  "Line": [
    {
      "LineNumber": 1,
      "SourceDocumentID": {
        "OriginatingON": "FT S001/1",
        "InvoiceDate": "2023-01-15"
      },
      "SettlementAmount": 11400
    }
  ],
  "DocumentTotals": {
    "TaxPayable": 1400,
    "NetTotal": 10000,
    "GrossTotal": 11400
  }
}

Respostas da API

Sucesso (201 Created):

{
  "message": "Dados recebidos com sucesso",
  "id": 123
}

Erro (400 Bad Request):

{
  "error": "Dados inválidos"
}

Não autorizado (401 Unauthorized):

{
  "error": "Chave de API inválida ou expirada"
}

Endpoints Disponíveis

  • POST /api/factura_venda - Enviar factura de venda
  • POST /api/movimento_mercadoria - Enviar movimento de mercadoria
  • POST /api/documento_trabalho - Enviar documento de trabalho
  • POST /api/pagamento - Enviar pagamento
  • POST /api/factura_compra - Enviar factura de compra
  • POST /api/movimento_contabilistico - Enviar movimento contabilístico
  • POST /api/cliente - Enviar/Atualizar cliente
  • POST /api/fornecedor - Enviar/Atualizar fornecedor
  • POST /api/produto - Enviar/Atualizar produto
  • POST /api/conta_contabilistica - Enviar/Atualizar conta contabilística
  • POST /api/imposto - Enviar/Atualizar imposto