Connected Devices/Projects/Project Link/Taxonomy
< Connected Devices | Projects | Project Link
Jump to navigation
Jump to search
Taxonomy Documentation
Github Link: http://fxbox.github.io/taxonomy/doc/foxbox_taxonomy/index.html
Current REST API Examples
Account
- To create account:
- POST http://localhost:3000/users/setup {"email": "a@b.com","username":"admin","password": "00000000"}
- To login:
- POST http://localhost:3000/users/login (Header contains Authorization: Basic <base64 encode of username:password)
Service List
- To get list of services:
- To use the getter:
- PUT http://localhost:3000/api/v1/channels/get {“id”: <getter service id> }
- To use the setter: (“value” is for the type of value the user is sending to the foxbox)
- PUT http://localhost:3000/api/v1/channels/set {“select”:{“id”: <setter service id>, “value”: {<value type>:{}}}}
Time
- Get the current time
- PUT http://localhost:3000/api/v1/channels/get {"id":"getter:timeofday.clock@link.mozilla.org"}
Camera
- Take a picture with camera
- PUT http://localhost:3000/api/v1/channels/set {"select": {"id": "setter:snapshot.ae67e622-7a66-465e-bab0-28107b2df980@link.mozilla.org"}, "value": {"Json": {}}}
- Get list of images taken
- PUT http://localhost:3000/api/v1/channels/get {"id":"getter:image_list.ae67e622-7a66-465e-bab0-28107b2df980@link.mozilla.org"}
- Download the last taken picture
- PUT http://localhost:3000/api/v1/channels/get {"id":"getter:image_newest.ae67e622-7a66-465e-bab0-28107b2df980@link.mozilla.org"}
- Get list of services that can take image (snapshot)
- POST http://localhost:3000/api/v1/services {"setters":[{"kind":{"adapter":"Adapter","kind":"snapshot","type": "Json", "vendor":"DLink"} }]}
Tags
- Assign Tags to a service
- POST http://localhost:3000/api/v1/services/tags {"services":[{"id":"thinkerbell-root-service"}],"tags":["Living Room"] }
- Note: there can be multiple tags, (in array)
- Remove Tags of a service
- DELETE http://localhost:3000/api/v1/services/tags {"services":[{"id":"thinkerbell-root-service"}],"tags":["Living Room"] }
- Same URL, same body
- Query all devices matching the tag
- POST http://localhost:3000/api/v1/services {"tags":["Living"]}
Recipe
- Send Recipe
- List available Recipes
WebPush
- Add push subscription
- PUT http://localhost:3000/api/v1/channels/set {"select": {"id": "setter:subscribe.webpush@link.mozilla.org"}, "value": {"Json": {“subscriptions”:[{“push_uri”:”http://push.service/t54wtresfesfd”,”public_key”:”base64_encoded_key”}]}}}
- Remove push subscription
- PUT http://localhost:3000/api/v1/channels/set {"select": {"id": "setter:unsubscribe.webpush@link.mozilla.org"}, "value": {"Json": {“subscriptions”:[{“push_uri”:”http://push.service/t54wtresfesfd”,”public_key”:”base64_encoded_key”}]}}}
- Set resources to receive notifications on
- PUT http://localhost:3000/api/v1/channels/set {"select": {"id": "setter:resource.webpush@link.mozilla.org"}, "value": {"Json": {“resources”:[“res1”, “res2”]}}}
- Get current subscriptions
- PUT http://localhost:3000/api/v1/channels/set {"select": {"id": "getter:subscription.webpush@link.mozilla.org"}, "value": {"Json": {}}}
- Get current resources receiving notifications on
- PUT http://localhost:3000/api/v1/channels/set {"select": {"id": "getter:resource.webpush@link.mozilla.org"}, "value": {"Json": {}}}
- Trigger notification
- PUT http://localhost:3000/api/v1/channels/set {"select": {"id": "setter:notify.webpush@link.mozilla.org"}, "value": {"Json": {“resource”:“res1”,”message”:”push_message_data”}}}