API should handle this (but doesn't)
A customer thought that this would be possible via the API, but from the look of things the api folder only supports email handling and cron (which is there to fetch emails)?
Are there plans to implement more features in the API at this stage?
We recently reviewed the pros and cons of a few means of approaching this, including inserting to osTicket's DB via SQL versus talking to osTicket's forms via HTTP. I prefer the latter approach, although it means parsing the output HTML to grok the error messages.
We'll avoid talking directly to osTicket via SQL because that removes abstraction.
Practically this means that future osTicket updates will require increased maintenance (as the SQL to create tickets might change) and that we need to understand and match osTicket's internals in our own application to avoid hitting any corner-case issues when inserting SQL. By using osTicket's exposed forms functionality to create tickets, we can ensure that osTicket is internally consistent, and doesn't have any data in a form other than what it expects.
I'd advise you to consider carefully your direct SQL approach for the same reasons.
A more abstracted approach for you to consider would be firing tickets in via email from your application. Then your .NET app needs only send emails, and osTicket can pick up the pieces.
(We can't use email due to DMZ restrictions, unfortunately.)
Another approach we reviewed was to include osTicket's code and then use Ticket:() in our app. Unfortunately, there are some function names which are used in both applications, and this triggers fatal errors in PHP, so it's not a route we can take.
Best wishes
Chris Burgess - www.giantrobot.co.nz(www.giantrobot.co.nz)