Pagamentos
Last updated
Last updated
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.
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,
}
]
}
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
{
"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
}
}
}
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.
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.
Criar Cabeçalho de Pagamentos
2
800000046
1
1
1
2024-02-29
12
11.3
Comentário interno
0
Comentários visíveis
MO
9
POST /api/v1/commercial_purchases_payments HTTP/1.1
Host: {{base_url}}
Authorization: Bearer YOUR_OAUTH2_TOKEN
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
}
No content
Atualizar Pagamento
TODO
4
PATCH /api/commercial_purchases_payments/{id} HTTP/1.1
Host: {{base_url}}
Authorization: Bearer YOUR_OAUTH2_TOKEN
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"
}
}
No content
Adicionar Linha a Pagamentos
POST /api/commercial_purchases_payment_lines HTTP/1.1
Host: {{base_url}}
Authorization: Bearer YOUR_OAUTH2_TOKEN
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"
}
}
No content