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. Versões Anteriores
  3. Compras

Pagamentos

PreviousDocumentos de CompraNextAPIs Auxiliares

Last updated 1 year ago

Criação de pagamentos

Tal como no caso dos recibos, as compras são constituídas por:

  1. Um cabeçalho

  2. Umas ou mais linhas

1. Criação do cabeçalho

De modo a criar uma compra, deverá inicialmente criar o cabeçalho do documento. Para este efeito, deverá realizar o seguinte pedido:

No pedido acima, o <access_token> corresponde ao token de acesso válido devolvido pelo serviço de OAuth

O <payload JSON> deverá vir no seguinte formato

{
  "data": {
    "type": "commercial_purchases_payments",
    "attributes": {
      "date": "2017-06-01", // Data do pagamento
      "payment_mechanism": "MO|CH|DC|CC|TR|DDA|MB|OU|..." // Por omissão, MO. Modo de pagamento: MO (numerário), CH (cheque), DC (cartão de débito), CC (cartão de crédito), TR (transferência), DDA (débito directo), MB (referência MB), OU (outro)
    },
    "relationships": {
      "commercial_document_series": { // Associação à série de pagamentos. Pode ser omitida, se for para usar a série por omissão
        "data": {
          "type": "commercial_document_series",
          "id": "<id da série de documentos associada>" // Este id pode ser obtido por um GET /commercial_document_series?filter[document_type]=PF&filter[prefix]=2020|ou outro qualquer...
        }
      },
      "bank_accounts": { // SÓ NECESSÁRIO se o meio de pagamento for DC,CC,TR,CH, e se for para indicar uma conta bancária específica. Associação à conta bancária da empresa de onde o pagamento foi feito
        "data": {
          "type": "bank_accounts",
          "id": "<id da conta bancária associada>" // Este id pode ser obtido por um GET /company_bank_accounts?filter[iban]=<IBAN da conta>, ou GET /company_bank_accounts?filter[name]=<nome da conta>
        }
      },
      "cash_accounts": { // SÓ NECESSÁRIO se o meio de pagamento for MO, e se for para indicar uma conta de caixa específica. Associação à conta de caixa da empresa de onde o pagamento foi feito
        "data": {
          "type": "cash_accounts",
          "id": "<id da conta de caixa associada>" // Este id pode ser obtido por um GET /cash_accounts?filter[name]=<nome da conta de caixa>
        }
      }
    }
  }
}

Após criar o cabeçalho, a resposta TEM QUE ser consultada para obtenção do identificador interno ("id") da compra criada. Este identificador será necessário para a criação de todas as linhas.

2. Criação de Linha de Pagamento

Em todos os pedidos seguintes, é necessário saber qual o id do documento de compra. Este id pode ser guardado a partir da resposta (JSON) ao pedido de criação anterior, ou pode ser consultado via API. Via API, o id do documento pode ser obtido por um

GET /commercial_purchases_payments?filter[document_no]=<número do documento,  ex: PF 2020/1> 

De modo a inserir linhas na compra criada, deverá realizar o seguinte pedido

No pedido acima, o <access_token> corresponde ao token de acesso válido devolvido pelo serviço de OAuth. O payload JSON deverá vir no seguinte formato, dependendo se se trata de um produto, ou categoria de despesa

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)

Linha de pagamento

{
  "data": {
    "type": "commercial_purchases_payment_lines",
    "attributes": {
      "payment_id": "<id do pagamento a que pertence esta linha>", // NOTA: quando a API estiver concluída, isto vai ser também uma "relationship", mas por agora indica-se aqui, nos atributos
      "payable_type": "Purchases::Document",
      "payable_id": "<id do documento de compra a pagar>",
      "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
      
      "commercial_purchases_documents_id":"<id do documento de compra a pagar>"
    }
  }
}

  • Criação de pagamentos
  • 1. Criação do cabeçalho
  • POSTCriar Cabeçalho de Pagamentos
  • 2. Criação de Linha de Pagamento
  • POSTAdicionar Linha a 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

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