133 lines
2.0 KiB
Markdown
133 lines
2.0 KiB
Markdown
|
|
# AS4 Settlement API Reference
|
||
|
|
|
||
|
|
**Date**: 2026-01-19
|
||
|
|
**Version**: 1.0.0
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Base URL
|
||
|
|
|
||
|
|
```
|
||
|
|
http://localhost:3000/api/v1/as4
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Authentication
|
||
|
|
|
||
|
|
All endpoints (except metrics) require authentication:
|
||
|
|
|
||
|
|
```
|
||
|
|
Authorization: Bearer <token>
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Endpoints
|
||
|
|
|
||
|
|
### AS4 Gateway
|
||
|
|
|
||
|
|
#### POST /gateway/messages
|
||
|
|
Receive AS4 message
|
||
|
|
|
||
|
|
**Request**:
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"messageId": "MSG-001",
|
||
|
|
"fromMemberId": "MEMBER-001",
|
||
|
|
"toMemberId": "DBIS",
|
||
|
|
"businessType": "DBIS.SI.202",
|
||
|
|
"payload": "...",
|
||
|
|
"tlsCertFingerprint": "...",
|
||
|
|
"properties": {}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
**Response**: `202 Accepted`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Member Directory
|
||
|
|
|
||
|
|
#### GET /directory/members/:memberId
|
||
|
|
Get member by ID
|
||
|
|
|
||
|
|
**Response**: `200 OK` with member record
|
||
|
|
|
||
|
|
#### GET /directory/members
|
||
|
|
Search members
|
||
|
|
|
||
|
|
**Query Parameters**:
|
||
|
|
- `status` - Filter by status
|
||
|
|
- `capacityTier` - Filter by tier
|
||
|
|
- `routingGroup` - Filter by routing group
|
||
|
|
|
||
|
|
#### POST /directory/members
|
||
|
|
Register new member
|
||
|
|
|
||
|
|
**Request**:
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"memberId": "MEMBER-001",
|
||
|
|
"organizationName": "Test Bank",
|
||
|
|
"as4EndpointUrl": "https://...",
|
||
|
|
"tlsCertFingerprint": "...",
|
||
|
|
"allowedMessageTypes": ["DBIS.SI.202"],
|
||
|
|
"routingGroups": ["DEFAULT"]
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
#### GET /directory/members/:memberId/certificates
|
||
|
|
Get member certificates
|
||
|
|
|
||
|
|
#### POST /directory/members/:memberId/certificates
|
||
|
|
Add certificate
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Settlement
|
||
|
|
|
||
|
|
#### POST /settlement/instructions
|
||
|
|
Submit settlement instruction
|
||
|
|
|
||
|
|
**Request**:
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"fromMemberId": "MEMBER-001",
|
||
|
|
"payloadHash": "...",
|
||
|
|
"message": { ... }
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
#### GET /settlement/instructions/:instructionId
|
||
|
|
Get instruction status
|
||
|
|
|
||
|
|
#### GET /settlement/postings/:postingId
|
||
|
|
Get posting status
|
||
|
|
|
||
|
|
#### GET /settlement/statements
|
||
|
|
Generate statement
|
||
|
|
|
||
|
|
**Query Parameters**:
|
||
|
|
- `memberId` - Member ID
|
||
|
|
- `accountId` - Account ID
|
||
|
|
- `startDate` - Start date
|
||
|
|
- `endDate` - End date
|
||
|
|
|
||
|
|
#### GET /settlement/audit/:instructionId
|
||
|
|
Export audit trail
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Metrics
|
||
|
|
|
||
|
|
#### GET /metrics
|
||
|
|
Prometheus metrics (public endpoint)
|
||
|
|
|
||
|
|
#### GET /metrics/health
|
||
|
|
Health check with metrics summary
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**For detailed API documentation, see Swagger UI**: `/api-docs`
|