Request: add all relevant "next action" URLs in response
Dear Neeo SDK team,
While working with the REST surface (creating a new PHP based SDK) I've had some difficulties understanding the structure, in particular which URLs will trigger next actions.
My request is to add such URLs just like they are added when you request a "recipe" via the "api" (but not via the "projects/home"!) locations, which gives you URLs to power on, power off, etc. a recipe. If this were provided along with the normal data for all other data types it would be a heck of a lot easier to navigate and understand the API.
Case in point for an API which does this *very* correctly would be GitHub, which simply returns a huge list of URLs along with every response - obviously, the Neeo brain doesn't need to be anywhere near as verbose, but it could include more URLs such as the trigger URL for macros, and also include the "recipe" urls in data when requested via "projects/home".
Thanks for considering!
Hi again Claus,
Happy to hear you're working on a PHP SDK for NEEO! Send us a link when you release it.
Currently the official interface is the node.js SDK, you can use the internal API (which is what we do in the node.js SDK) but we don't guarantee urls wont change in future updates. If they do we will update our official SDK to use the new urls so looking in there might be the best way to keep up (but I understand that's not ideal especially if your'e not familiar with the node.js stack).
Since we currently build the urls through the SDK we don't have plans to add pre-built urls in the API responses. Thanks for pointing out the GitHub API that's an interesting approach to documenting APIs, we'll explore the possibility to do something like that or to build some standard text documentation of the API.
Regarding your question on the recipes:
Recipes are executed, similar to how macros are triggered. So there's no way to power on or off a recipe, it's simply executed if it's executable. For added devices they have 2 recipes: launch and poweroff (respectively power on and power off), executing one or the other is probably what you want to do in this case.