Необходимо написать подключаемый модуль для NodeJS, разбирающей и собирающей сообщения FIX Protocol Что такое FIX Protocol
https://ru.wikipedia.org/wiki/Financial_Informatio... Реализовывать два метода
- Декодирование из FIX строки
- Кодирование в FIX строку
Результат возвращать как синхронно так и через callback Описание протокола в формате XML (приложено), идеальное если версию протокола, можно менять просто заменив xml файл.
Декодирование: На входе имеем ASCII строку вида (разделитель полей SOH — Start of Header (0x01) ): 8=FIX.4.2|9=48|35=0|49=QUIK|56=TEST|34=62|52=20160204-10:35:50|10=182|
- Проверяем контрольную сумму, если не сходится возвращаем ошибку и все,
- если сходится то декодируем, параллельно проверяя все ли обязательные поля есть. (особое внимание к декодированию повторяющихся групп)
на выходе JSON: {"BeginString":"FIX.4.2","BodyLength":"48","MsgType":"0","SenderCompID":"QUIK","TargetCompID":"TEST","MsgSeqNum":62,"SendingTime":"2016-02-04T10:35:50.000Z","CheckSum":"182"}
Кодирование: На входе JSON: {"MsgType":"0","TestReqID":"CRT","BeginString":"FIX.4.2","SendingTime":"2016-02-04T10:05:41.013Z","SenderCompID":"TEST","TargetCompID":"QUIK","MsgSeqNum":7}
- кодируем, параллельно проверяя все ли обязательные поля есть.
- вычисляем контрольную сумму и добавляем по правилам
На выходе ASCII строка вида (разделитель полей SOH — Start of Header (0x01) ) 8=FIX.4.2|9=59|35=0|49=TEST|56=QUIK|34=7|52=20160204-10:05:41.013|112=CRT|10=001|