Atualizar item
curl --request PATCH \
--url https://api.upag.io/v1/invoices/{invoiceId}/items/{itemId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"price": {},
"quantity": 123
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({price: {}, quantity: 123})
};
fetch('https://api.upag.io/v1/invoices/{invoiceId}/items/{itemId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.upag.io/v1/invoices/{invoiceId}/items/{itemId}';
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({price: {}, quantity: 123})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Faturas
Atualizar item
Troca o preço ou a quantidade de um item de uma fatura em rascunho
PATCH
https://api.upag.io
/
v1
/
invoices
/
{invoiceId}
/
items
/
{itemId}
Atualizar item
curl --request PATCH \
--url https://api.upag.io/v1/invoices/{invoiceId}/items/{itemId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"price": {},
"quantity": 123
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({price: {}, quantity: 123})
};
fetch('https://api.upag.io/v1/invoices/{invoiceId}/items/{itemId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.upag.io/v1/invoices/{invoiceId}/items/{itemId}';
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({price: {}, quantity: 123})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Altera o preço e/ou a quantidade de um item de uma fatura em
draft e recalcula amountDue. Trocar o preço copia o name e o amount atuais do novo preço; mudar só a quantidade mantém o valor unitário com que o item entrou.
Permissão: invoice.write. Apenas chave secreta (sk_…).
Os exemplos usam o sandbox (
https://api.upag.dev/v1). Em produção use https://api.upag.io/v1 com sk_live_….Endpoint
curl -X PATCH https://api.upag.dev/v1/invoices/5b0e8d3a-9c71-4e26-a8f4-1d7c3b6e9a02/items/e4a1c7f8-2b95-4d03-8e6a-9f1b5d0c3a74 \
-H "Authorization: Bearer sk_test_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "quantity": 3 }'
import { Upag } from 'upag';
const upag = new Upag('sk_test_your_api_key');
const item = await upag.invoices.updateItem(
'5b0e8d3a-9c71-4e26-a8f4-1d7c3b6e9a02',
'e4a1c7f8-2b95-4d03-8e6a-9f1b5d0c3a74',
{ quantity: 3 },
);
Parâmetros
string (uuid)
required
ID da fatura. Precisa estar em
draft.string (uuid)
required
ID do item.
string (uuid)
Novo preço. Precisa ter a mesma moeda da fatura.
integer
Nova quantidade, inteiro ≥ 1.
Resposta
200 OK com o item atualizado.
Response
{
"id": "e4a1c7f8-2b95-4d03-8e6a-9f1b5d0c3a74",
"product": "7d2b5e90-1c34-4a68-b9f7-0e3a6c8d1f25",
"price": "3a7e9c14-6b2d-4f85-9e10-5c8d2a7b4f61",
"name": "Plano mensal",
"amount": 4950,
"quantity": 3,
"totalAmount": 14850
}
Erros
| Status | Código | Quando |
|---|---|---|
404 | INVOICE_NOT_FOUND | A fatura não existe ou é de outra conta |
404 | INVOICE_ITEM_NOT_FOUND | O item não pertence à fatura |
404 | PRICE_NOT_FOUND / PRODUCT_NOT_FOUND | O novo preço, ou o produto dele, não existe na conta |
400 | INVOICE_NOT_DRAFT | A fatura já foi aberta |
400 | INVOICE_CURRENCY_MISMATCH | O novo preço está em outra moeda |