API like:
/api
returns
an array of command signatures.
a command signature
consists of
- command name
- command return type
- command return type range
- command return value description
- array of command parameter descriptors
a parameter descriptor
consists of
- position
- type
- type range
- value description
- default value when optional
signature / descriptors being position-based in an array or key-based in an object is up to you (array is less data transferred, object can serve as a reminder to the developer what is where).
users
command by
/api/command name?parameter 1¶meter2&…
- parameter X is url-encoded without key
- GET allows easy commanding on devices, environments and circumstances which have no ui to POST
-
You make available any and every command you like.
Perhaps you can even auto-generate a server (ie. write code which does) based on machine code documentation you have. -
If a command requires prerequisites, carrying a state parameter or a state-identifiying parameter (returned from another command) is a solution.
easy, light, fun.