Hi,
Indeed, there is no real documentation for that. That is because Trackserver mainly works with 3rd party apps, and the protocols that are used to transport the data are defined by them, and not by Trackserver.
As such, Trackserver supports quite a few different ways to get data into it. The biggest requirement is, that it has to be over HTTP(S), which is a limit imposed by the fact that it’s a WordPress plugin. There are protocols that use HTTP GET and HTTP POST, and the latter comes in different flavors: some use JSON, some use XML, some just use multipart/form-data. Some use HTTP basic auth and others use more sophisticated authentication methods. Some have a notion of tracks, others only send locations and let Trackserver do the rest.
I’m afraid I have to refer you to the source code for actual information.
Trackserver figures out the protocol to use by doing some heuristics on the incoming request. See https://github.com/tinuzz/wp-plugin-trackserver/blob/master/class-trackserver.php#L482 for the parse_request() function that does this.
Then, it delegates the request to a protocol-specific request handler (https://github.com/tinuzz/wp-plugin-trackserver/blob/master/class-trackserver.php#L596)
I can’t make any recommendations, but the ‘getrequest’ protocol with HTTP basic auth is the simplest approch. Note that it doesn’t support creating tracks from the client. If you need ‘create track’ support in the client, look at the uLogger protocol (https://github.com/tinuzz/wp-plugin-trackserver/blob/master/class-trackserver-ulogger.php).
I hope this helps.
Martijn.