xsend is probably using the really old api "sendcommand" function, there was another "sendcommand" function afterwards where you could send the parameters separately. Since I didn't write xsend I can't help with that, but I would just use the internal get/post option from triggering an per-existing event.
Here is an old write up on it.....
Events that have been defined inside of xlobby can be called using a
post or get request.
A "get" request can be done from any internet browser, by pasting the
url into the address bar. A "post" request can be done in
html/javascript/php/c#/vb or any other modern programming language.
For both "get" and "post" requests, the IP and port of the xlobby
webserver are required. Hence, the xlobby webserver must be running
for this feature to work.
The following is an example of triggering the "goto movies" event. The
"goto movies" event is in the group "goto", so we will use those two
pieces of information to trigger the execution of this event through a
"get" request.
http://192.168.1.110:8002/eventname=goto movies&groupname=goto
As you can see we are passing the event and its group name in the url
that is targetting the xlobby webserver, the event name "goto movies"
is passed with the keyword "eventname=", the same applies to the group
name although it is passed with the keyword "groupname". Note the
webserver is running on IP 192.168.1.110 and the port is set to 8002.
Post requests must target the "post" location as seen in the example below.
http://192.168.1.110:8002/postThe information you will pass in a post request is the same as a get request
"eventname=goto movies"
"groupname=goto"
If the webserver is password protected, the keyword "password=" must
be used with the corresponding password.
"get" with a password
http://192.168.1.110:8002/eventname=goto movies&groupname=goto&
password=test
post with password
http://192.168.1.110:8002/posteventname=goto movies
groupname=goto
password=test