Существует два типа заголовков приложений: ввод и вывод (с точки зрения сети).Оба имеют фиксированную длину и непрерывны без разделителей полей.
Ввод Используется в исходящих сообщениях, когда сообщение вводится в сеть SWIFT.
Включает следующие поля:
- I = Ввод
- Тип сообщения
- Адрес получателя с X в позиции 9 / Он дополняется X, если ветвление не требуется.Пример: BANKDEFFXXXX
- Приоритет сообщения (S = Система, N = Нормальный, U = Срочный)
- Контроль доставки (1 = Предупреждение о доставке, 2 = Уведомление о доставке, 3 = Оба действительны
- Период устаревания. Указывает, когда уведомление о недоставке (003 - 15 минут, 020 - 100 минут)
Вывод Используется во входящих сообщениях, когда сообщение выводится из SWIFT.сеть.
Содержит следующие поля:
- O = Вывод
- Тип сообщения
- Время ввода по отношению к отправителю
- Ссылка на вход сообщения (MIR), включая дату ввода, с адресом отправителя. Иногда это сбивает с толку, поскольку это выходной блок со ссылкой на вход. Важно понимать, что информация MIR связана с оригиналомотправитель полученного сообщения.
- Дата и время вывода относительно получателя
- Приоритет сообщения
Вы можете найти болееИнформация о структуре MT здесь: https://www.prowidesoftware.com/resources/SWIFT
Кстати, я один из авторов библиотеки Prowide с открытым исходным кодом для SWIFT.Вы можете рассмотреть возможность использования этой библиотеки вместо написания своего собственного анализатора с нуля.