MT Message
The SWIFT MT messages start with the letters MT followed by a 3-digit number. The first digit represents the message category, the second digit represents a group of related parts in a transaction life cycle and third digit represents the message type.
MT Message Types
- System Messages
- Sent by a user to the SWIFT system (delivery notifications, retrievals) or the other way around (retrieved messages, non-delivery warnings). System messages are represented by MT0nn and used for system-level information, such as delivery notifications and non-delivery warnings.
- User to User Messages
- Enable financial transactions and are sent from one user to another. These messages are represented by MT1nn through MT9nn.
- Service Messages
- Also known as control messages and related either to system commands LOGIN, SELECT, or QUIT or to message acknowledgments. For example, when you send a message to the SWIFT network, SWIFT accepts the message and sends you an ACK if the syntax of the message is correct. If not, it returns a NAK.
MT Message Structure
All SWIFT MT messages are ASCII text messages that have the following structure:- Basic header block
This block is represented by {1:} and includes details, such as the application ID, service ID, address of the logical terminal, session number, sequence number, and so on. The application ID in this block helps you identify whether a message is a GPA message (system message) or an MT message (user to user message). For example, ’M’ indicates that the message is an MT message and ’A’ indicates that the message is a GPA message.
- Application header block
This block is represented by {2:}. Application headers contain two types: input and output. The structure of the block varies depending on the type of the application header. This header block typically includes details, such as the message type, message priority, delivery monitoring, and so on.
- User header block
This block is represented by {3:} and includes details, such as the banking priority code and so on. This is an optional block.
- Text block
This block is represented by {4:} and contains the actual MTnnn message. This block includes details, such as the ordering customer, beneficiary customer, amount, currency code, date, and so on. This block consists of field tags of the format :nna: where nn is a number and a is an optional letter, which might be present on selected tags. The symbol CrLf is a control character and it represents Carriage Return or Line Feed. The symbol CrLf is a mandatory delimiter in this block.
- Trailer block
This block is represented by {5:} and a message always ends in a trailer block. It is used for control purposes and includes details, such as message authentication code and checksum calculated for all the message types.
The following figure is a graphical representation of a typical SWIFT MT message: