Brief Introduction to Fix and Fix JSON
fixparser.dev
fixparser.dev
A real-world FIX gateway will demand a BodyLength tag, so you have to compute your message length, and it'll want SenderCompID and TargetCompID ("from" and "to", respectively). So it's like, well, that much more complicated.
The complexity in these systems will all be the semantics given to the messages and the zillion fields your vendor/partner supports.
And sometimes they lie in their docs about it. And sometimes their certification environments behave differently than production.
A pox on them all.
*note my info is over a decade old so maybe the poxy devils have changed their ways, but I doubt it.
If in doubt, you can ask the mods using the contract link.