not quite minimalistic enough  

Hitting a brick wall

OTRS has not only a somewhat useful interactive web UI, but also a “web service” interface that can both receive calls from other applications and make outgoing calls.

Getting it to work, however, is a bit tricky. The main issue is that it simply does not work because it gets basic CGI wrong; see OTRS bug #12796 (since fixed). (It certainly works for others, so I’m probably wrong there.) After fixing the bug (or hacking around it in an exceedingly ugly way; I and Perl are never going to be friends), the next problem is to get it to accept my requests.

This OTRS instance is configured for SSO, as usual via REMOTE_USER set by the web server. While OTRS has separate configuration options for the authentication method to use for the agent and customer web interfaces, it does not have a separate one for the “generic interface” and uses the one configured for the agent instead. So the HTTP request to the generic interface must provide HTTP authentication.

The generic interface also requires the caller to provide credentials according to its own request schema, therefore the HTTP request must contain them, too.

Written on April 27, 2017