Communication and Message Format
VAVS exchanges fixed-length messages over TCP/IP through a dedicated line or an encrypted internet connection.
Communication Environment
| Item | Dedicated Line | Internet |
|---|---|---|
| Lines | One line or two Active-Active lines | Connection details supplied after contracting |
| Recommended Speed | 64 Kbps or higher | Depends on the network environment |
| Protocol | X.25 or TCP/IP | TCP/IP |
| Encryption | No additional encryption | SEED/CBC/PKCS5Padding |
When applying for a dedicated line, coordinate rental of the Hecto Financial-side DSU equipment as part of the setup.
Encryption for Internet Connections
The encryption profile is identical to the existing firm-banking profile on the developer site.
| Item | Value |
|---|---|
| Algorithm | SEED |
| Mode | CBC |
| Padding | PKCS5Padding |
| IV | 0123456789012345 |
| Key | 1234567890123456 |
Build the fixed-length plaintext with EUC-KR before encrypting it.
Connection Modes
Synchronous Mode
This mode is typically used for deposit-only integrations.
- The client institution listens on the agreed port as a server.
- Hecto Financial connects when a transaction occurs.
- The request and response are exchanged over the same connection.
- The connection closes after the response.
The receiving process must support concurrent connections.
Asynchronous Mode
Sending and receiving are separated and messages are processed over maintained connections.
- Each side requires a sending client and receiving server process.
- The transport processes must communicate with the business-processing application.
- Session retention and reconnection behavior follow the agreed integration profile.
Request and Response Codes
The second digit is 0 for a request and 1 for the corresponding response.
| Operation | Request | Response |
|---|---|---|
| Recipient inquiry | 2000 | 2100 |
| Deposit | 1000 | 1100 |
| Transfer deposit | 3000 | 3100 |
| Remittance | 6010 | 6110 |
| Holder-name inquiry | 2001 | 2101 |
| Reconciliation | 7000 | 7100 |
Data Modes
| MODE | Meaning | Alignment and Padding |
|---|---|---|
A | Alphabetic characters | Left-aligned, SPACE padded |
N | Numeric digits | Right-aligned, 0 padded |
AN | Alphabetic and numeric | Left-aligned, SPACE padded |
AH | Korean and alphabetic | Left-aligned, SPACE padded |
YYYY | Year | Four digits |
MM | Month or minute | Two digits according to context |
DD | Day | Two digits |
HH | Hour | Two digits |
SS | Second | Two digits |
Lengths Are Measured in Bytes
Message Framing
The actual TCP transmission unit is 204 bytes.
| Component | Length | Value and Description |
|---|---|---|
| Transport Length header | 4 bytes | 0200; length of the following message, excluding this header |
| VAVS message | 200 bytes | 70-byte common header + 130-byte operation body |
| Complete TCP frame | 204 bytes | Actual transmitted length including the transport header |
The VAVS common header also starts with its own LENGTH field. The 200-byte VAVS message therefore starts with LENGTH=0200, while the TCP frame adds another transport Length header with the same 0200 value.
Transport Length (4, 0200)
+ Common header (70, starts with LENGTH 0200)
+ Operation body (130)
= 204 bytes
Offsets in the operation tables are relative to the 200-byte VAVS message. Add four bytes to obtain the corresponding TCP-frame offset.
Transaction Codes
| Type | Request | Description |
|---|---|---|
| Deposit | 1000 | Deposit |
| Deposit | 1001 | Deposit retry |
| Deposit | 1010 | Deposit cancellation |
| Transfer deposit | 3000 | Transfer-based deposit |
| Transfer deposit | 3001 | Transfer-based deposit retry |
| Transfer deposit | 3010 | Transfer-based deposit cancellation |
| Missing record | 1003 | Missing deposit |
| Missing record | 1013 | Missing cancellation |
| Inquiry | 2000 | Recipient inquiry initiated by a bank |
| Inquiry | 2001 | Holder-name inquiry initiated by the client |
| Remittance | 6010 | Remittance |
| Insurance | 1030 | Actual depositor notification |
| Reconciliation | 7000 | Summary |
Implementation Checklist
- Delimit one complete message correctly from the receive buffer.
- Right-align numeric fields with
0; left-align text fields with SPACE. - Encode Korean text as EUC-KR before enforcing byte length.
- Convert the request code to its response code and set the client-to-Hecto direction value.
- Do not use reserved fields for custom data.
- Mask personal data in operational logs.
Need technical support?
Code Samples
HectoFinancial GitHub