集成指南
查询交易
概述
交易查询端点允许您使用多种筛选条件和分页查询账户的 PIX 交易历史。数据以用户友好的格式返回,状态和类型已翻译为葡萄牙语,金额以 BRL 为单位。
认证
此端点需要在 Authorization 请求头中提供有效的 Bearer token:
Authorization: Bearer <your_token>令牌必须通过生成令牌端点获取。
查询参数
| 参数 | 类型 | 描述 |
|---|---|---|
page | integer | 页码(默认:1) |
size | integer | 每页记录数(默认:20,最大:100) |
status | string | 按状态筛选:PENDING、CONFIRMED、ERROR |
type | string | 按类型筛选:PAYMENT、WITHDRAW、REFUND_IN、REFUND_OUT |
startDate | date | 开始日期(ISO 8601)。默认:最近 31 天 |
endDate | date | 结束日期(ISO 8601)。默认:今天 |
externalId | string | 按您的外部标识符筛选 |
endToEndId | string | 按 PIX End-to-End ID 筛选 |
startDate 和 endDate 之间的间隔不能超过 31 天。
字段映射
状态
内部状态已翻译为公开格式:
| 内部值 | 返回值 |
|---|---|
PENDING | Pendente |
CONFIRMED | Confirmado |
ERROR | Error |
操作类型
交易类型已翻译为葡萄牙语:
| 内部值 | 返回值 | 描述 |
|---|---|---|
PAYMENT | Pix in | PIX 收款 |
WITHDRAW | Pix out | PIX 付款 |
REFUND_IN | Refund in | 退款请求(出账) |
REFUND_OUT | Refund out | 收到退款(入账) |
变动类型
表示交易是账户的入账还是出账:
| 操作类型 | 变动 |
|---|---|
Pix in | CREDIT |
Pix out | DEBIT |
Refund in | DEBIT |
Refund out | CREDIT |
金额
所有金额以 BRL 为单位,保留 2 位小数:
originalAmount:原始交易金额feeAmount:扣除的手续费finalAmount:最终金额(原始金额 +/- 手续费)
证件号脱敏
出于安全考虑,对手方的证件号已脱敏:
- CPF:
123.456.789-00->***.456.789-** - CNPJ:
12.345.678/0001-90->**.345.678/****-**
使用示例
查询所有已确认的交易
curl -X GET "https://api.avista.global/api/transactions?status=CONFIRMED&page=1&size=10" \
-H "Authorization: Bearer your_token_here"const response = await fetch(
'https://api.avista.global/api/transactions?status=CONFIRMED&page=1&size=10',
{
headers: {
'Authorization': 'Bearer your_token_here'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.avista.global/api/transactions',
params={
'status': 'CONFIRMED',
'page': 1,
'size': 10
},
headers={
'Authorization': 'Bearer your_token_here'
}
)
data = response.json()
print(data)按时间段查询交易
curl -X GET "https://api.avista.global/api/transactions?startDate=2025-01-01&endDate=2025-01-15&type=PAYMENT" \
-H "Authorization: Bearer your_token_here"const params = new URLSearchParams({
startDate: '2025-01-01',
endDate: '2025-01-15',
type: 'PAYMENT'
});
const response = await fetch(
`https://api.avista.global/api/transactions?${params}`,
{
headers: {
'Authorization': 'Bearer your_token_here'
}
}
);按特定标识符查询
# By externalId (your identifier)
curl -X GET "https://api.avista.global/api/transactions?externalId=order-12345" \
-H "Authorization: Bearer your_token_here"
# By endToEndId (PIX ID)
curl -X GET "https://api.avista.global/api/transactions?endToEndId=E12345678901234567890123456789012" \
-H "Authorization: Bearer your_token_here"响应示例
{
"data": [
{
"transactionId": "12345",
"externalId": "order-abc123",
"status": "Confirmado",
"operationType": "Pix in",
"movementType": "CREDIT",
"originalAmount": 100.00,
"feeAmount": 1.00,
"finalAmount": 99.00,
"endToEndId": "E12345678901234567890123456789012",
"createdAt": "2025-01-15T10:30:00.000Z",
"processedAt": "2025-01-15T10:30:05.000Z",
"counterpart": {
"name": "João Silva",
"document": "***.456.789-**",
"bank": {
"bankISPB": "00000000",
"bankName": "Banco do Brasil",
"bankCode": "001",
"accountBranch": "0001",
"accountNumber": "123456-7"
}
}
}
],
"metadata": {
"page": 1,
"size": 20,
"total": 150,
"totalPages": 8,
"hasNext": true,
"hasPrevious": false
}
}分页
响应包含分页元数据以便于导航:
| 字段 | 描述 |
|---|---|
page | 当前页码 |
size | 每页记录数 |
total | 找到的总记录数 |
totalPages | 可用总页数 |
hasNext | 是否有下一页 |
hasPrevious | 是否有上一页 |
页面间导航
// First page
const page1 = await fetchTransactions({ page: 1, size: 20 });
if (page1.metadata.hasNext) {
// Next page
const page2 = await fetchTransactions({ page: 2, size: 20 });
}常见使用场景
错误码
| 状态码 | 描述 |
|---|---|
400 | 参数无效或日期间隔超过 31 天 |
401 | 未提供令牌或令牌无效 |