In case this helps... Simple post of transaction to RES 3700 via TS attached below with some thoughts.. Not sure it hits your need.
There are creative ways to fire SIM from a TS post using idle no trans and evaluating for a specific transaction element, fairly rough to explain here though.
I have found that instead of a DLL (which can be rough depending on environment) you can achieve an awful lot of functional needs through a service that accepts RX/TX messages to do your more advanced stuff outside of SIM but make it feel like SIM code or features triggered by SIM.
A sample / simple post of a Transaction to TS below, check out SoapUI if you want to test and learn in a UI application that can enable posting various transactions to POS.
<soapenv:Envelope xmlns:soapenv="
xmlns:res="
<soapenv:Header/>
<soapenv:Body>
<res

ostTransaction>
<res

GuestCheck>
<res:CheckID>Whatever-ID</res:CheckID>
<res:CheckTableObjectNum>0</res:CheckTableObjectNum>
<res:CheckRevenueCenterObjectNum>1</res:CheckRevenueCenterObjectNum>
<res:CheckOrderType>1</res:CheckOrderType>
<res:CheckEmployeeObjectNum>1</res:CheckEmployeeObjectNum>
<res:CheckGuestCount>0</res:CheckGuestCount>
<res

CheckInfoLines>
<res:string>Test Line 1</res:string>
<res:string>Test Line 2</res:string>
</res

CheckInfoLines>
<res:CheckStatusBits>1</res:CheckStatusBits>
</res

GuestCheck>
<res

pMenuItems>
<res:ResPosAPI_MenuItem>
<res:MenuItem>
<res:MiObjectNum>200</res:MiObjectNum>
<res:MiMenuLevel>1</res:MiMenuLevel>
<res:MiReference>TEST</res:MiReference>
</res:MenuItem>
</res:ResPosAPI_MenuItem>
</res

pMenuItems>
<res

TmedDetail>
<res:TmedObjectNum>101</res:TmedObjectNum>
<res:TmedPartialPayment>0.00</res:TmedPartialPayment>
</res

TmedDetail>
</res

ostTransaction>
</soapenv:Body>
</soapenv:Envelope>
Hope this helps in some way.. Good luck.