TOConline - Documentação API
  • Introdução
  • Setup do Postman
  • Autenticação Simplificada
  • Autenticação Detalhada
  • Características dos pedidos
  • APIs
    • Empresa
      • Clientes, Morada e E-mail
      • Fornecedores, Morada e E-mail
      • Produtos e Serviços
    • Vendas
      • Documentos de Venda
      • Documentos Retificativos
      • Recibos de Venda
      • Descarregar PDF de Documentos de Venda
      • Descarregar PDF de Recibo
      • Comunicação de documentos à AT
      • Envio de Documentos por email
      • Envio de Recibos por email
    • Compras
      • Documentos de Compra
      • Pagamentos
      • Descarregar PDF de Documentos de Compra
      • Descarregar PDF de Pagamentos
      • Comunicação de documentos à AT
    • Versões Anteriores
      • Vendas
        • Documentos de Venda
        • Recibos de Venda
      • Compras
        • Documentos de Compra
        • Pagamentos
    • APIs Auxiliares
      • Descritores de Taxa
      • Família de Itens
      • Países
      • Unidades de Medida
      • Contas Bancárias
      • Caixa Associada
      • Unidade Monetária
      • Taxas
      • Categorias de Despesa
      • Documentos de Série
Powered by GitBook
On this page
  1. APIs
  2. Compras

Pagamentos

PreviousDocumentos de CompraNextDescarregar PDF de Documentos de Compra

Last updated 1 year ago

Os pagamentos seguem a mesma estrutura anteriormente definida: São compostos por um cabeçalho, e linhas. Nesta nova versão, é possível criar ambas as componentes num só pedido, descrito de seguida.

Criar Cabeçalho de sPagamento

Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.

Este pedido permite criar um pagamento, e respetivas linhas, em simultâneo.

curl -v -X POST -H 'Content-Type: application/vnd.api+json' -H 'Accept: application/json' -H 'Authorization: Bearer <access_token>' -d '<payload JSON>' '<API_URL>/v1/commercial_purchases_payments'

Neste, o payload JSON deverá vir no seguinte formato

{
    "id":2,
    "lines": [
       {
            "payment_id": 2,
            "payable_type": "Purchases::Document",
            "payable_id": 2,
            "paid_value": 200,
            "settlement_percentage": 1.0,
            "cashed_vat_amount": null,
            "gross_total": 9.65,
            "settlement_amount": 0.0,
            "net_total": 5.0,
            "retention_total": 0.0,
        }
    ]
}

Anulação de um Pagamento

Atualizar Pagamento

O seguinte pedido pode ser realizado, após a criação do documento, e permite alterar informações sobre o documento. A estrutura do payload é a mesma do POST de criação. Neste, deverá enviar no id do pedido o id do documento a alterar. Os atributos enviados no body irão substituir os guardados no momento, e cada linha enviada dentro de lines irá substituir os dados guardados na linha com id especificado em payment_line_id

Adicionar Linhas ao Pagamento

Payload
{
  "data": {
    "type": "commercial_purchases_payment_lines",
    "attributes": {
      "payable_id": "<id do documento de compra a pagar>",
      "payable_type": "Purchases::Document",
      //"payment_id": "<id do pagamento a que pertence esta linha>"
     
      "paid_value": 50, // Valor total a pagar (não é necessário pagar a totalidade do documento, ou pode pagar-se mais do que um documento)
      // Indicar o atributo seguinte apenas se existir desconto no pagamento (3%, neste exemplo)
      "settlement_percentage": 3
    }
  }
}

NOTA: É na linha que se indica qual o documento de compra (FC ou DSP) a pagar. Se necessário, podem criar-se mais do que uma linha (e nesse caso o pagamento é feito de uma só vez para todos os documentos)

Remover Linhas de Pagamento

Do mesmo modo, caso pretenda remover linhas de um documento, pode utilizar a seguinte rota, onde apenas tem de indicar o id da linha a remover, no path.

Obter Pagamento por Id

Por fim, se pretender obter informações sobre um dado documento, pode utilizar a seguinte rota, onde deverá especificar o id do documento a analisar no path.

Obter Todos os Pagamentos

Anular Documentos de Compra

patch

Anular Documentos de Compra

Authorizations
Path parameters
idstringRequiredExample: 41
Responses
200Success
patch
PATCH /api/v1/commercial_purchases_documents/{id}/void HTTP/1.1
Host: {{base_url}}
Accept: */*
200Success

No content

Remover Linhas de Pagamento

delete

Remover Linhas de Pagamento

Authorizations
Responses
200Success
delete
DELETE /api/commercial_purchases_payment_lines HTTP/1.1
Host: {{base_url}}
Accept: */*
200Success

No content

Obter Pagamento por Id

get

Obter Pagamento por Id

Authorizations
Path parameters
idstringRequired

TODO

Example: 4
Responses
200Success
get
GET /api/commercial_purchases_payments/{id} HTTP/1.1
Host: {{base_url}}
Accept: */*
200Success

No content

  • Criar Cabeçalho de sPagamento
  • POSTCriar Cabeçalho de Pagamentos
  • Anulação de um Pagamento
  • PATCHAnular Documentos de Compra
  • Atualizar Pagamento
  • PATCHAtualizar Pagamento
  • Adicionar Linhas ao Pagamento
  • POSTAdicionar Linha a Pagamentos
  • Remover Linhas de Pagamento
  • DELETERemover Linhas de Pagamento
  • Obter Pagamento por Id
  • GETObter Pagamento por Id
  • Obter Todos os Pagamentos

Criar Cabeçalho de Pagamentos

post

Criar Cabeçalho de Pagamentos

Authorizations
Body
cash_account_idnumberOptionalExample: 2
check_numberany | nullableOptional
company_idnumberOptionalExample: 800000046
country_idnumberOptionalExample: 1
currency_conversion_ratenumberOptionalExample: 1
currency_idnumberOptionalExample: 1
datestringOptionalExample: 2024-02-29
document_series_idnumberOptionalExample: 12
gross_totalnumberOptionalExample: 11.3
internal_observationsstringOptionalExample: Comentário interno
net_totalnumberOptionalExample: 0
observationsstringOptionalExample: Comentários visíveis
payment_mechanismstringOptionalExample: MO
supplier_idnumberOptionalExample: 9
third_party_idany | nullableOptional
third_party_typeany | nullableOptional
Responses
200Success
post
POST /api/v1/commercial_purchases_payments HTTP/1.1
Host: {{base_url}}
Content-Type: application/json
Accept: */*
Content-Length: 374

{
  "cash_account_id": 2,
  "check_number": null,
  "company_id": 800000046,
  "country_id": 1,
  "currency_conversion_rate": 1,
  "currency_id": 1,
  "date": "2024-02-29",
  "document_series_id": 12,
  "gross_total": 11.3,
  "internal_observations": "Comentário interno",
  "net_total": 0,
  "observations": "Comentários visíveis",
  "payment_mechanism": "MO",
  "supplier_id": 9,
  "third_party_id": null,
  "third_party_type": null
}
200Success

No content

Atualizar Pagamento

patch

Atualizar Pagamento

Authorizations
Path parameters
idstringRequired

TODO

Example: 4
Body
Responses
200Success
patch
PATCH /api/commercial_purchases_payments/{id} HTTP/1.1
Host: {{base_url}}
Content-Type: application/json
Accept: */*
Content-Length: 411

{
  "data": {
    "attributes": {
      "check_number": null,
      "currency_conversion_rate": 1,
      "date": "2024-02-29",
      "deleted": false,
      "document_no": "PF 2023/2",
      "document_series_id": 12,
      "gross_total": 0,
      "internal_observations": "Comentário interno",
      "net_total": 0,
      "observations": "Comentários visíveis",
      "payment_mechanism": "MO",
      "standalone": true,
      "third_party_id": null,
      "third_party_type": ""
    },
    "id": "4",
    "type": "commercial_purchases_payments"
  }
}
200Success

No content

Adicionar Linha a Pagamentos

post

Adicionar Linha a Pagamentos

Authorizations
Body
Responses
200Success
post
POST /api/commercial_purchases_payment_lines HTTP/1.1
Host: {{base_url}}
Content-Type: application/json
Accept: */*
Content-Length: 163

{
  "data": {
    "attributes": {
      "paid_value": 50,
      "payable_id": 2,
      "payable_type": "Purchases::Document",
      "settlement_percentage": 3
    },
    "type": "commercial_purchases_payment_lines"
  }
}
200Success

No content