REST APIs » History » Version 12
Hammel, 27 Aug 2018 14:44
1 | 1 | Hammel | h1. REST APIs |
---|---|---|---|
2 | |||
3 | 9 | Hammel | h2. Monitor Node (imwww) |
4 | 1 | Hammel | |
5 | table{width:100%}. |
||
6 | 12 | Hammel | |_. Resource Name |_. HTTP Verbs |_. HTTP Methods |_. Returns |_. Direction |_. Description | |
7 | | Pair | CREATE Pair | POST /pair/iot | UUID | From IoT Node | Pair an IoT node w/ Monitor | |
||
8 | | Pair | CREATE Pair | POST /pair/iot/<uuid> | ACK | From IoT Node | Register an IoT node w/Monitor using UUID | |
||
9 | | Pair | CREATE Pair | POST /pair/jarvis/<uuid> | ACK | From Jarvis | Pair a Jarvis node with Monitor | |
||
10 | | Monitor | GET Monitor ID | GET /monitor | Monitor ID | From Jarvis | Monitor Identity information | |
||
11 | | Device | GET Devices | POST /devices | Device list | From Jarvis | Get list of device IDs and descriptors | |
||
12 | | Device | UPDATE Device | PUT /device/<uuid> | Device state | From Jarvis | Change device state with JSON | |
||
13 | | Device | GET Device | POST /device/<uuid> | Device state | From Jarvis | Get Device state as JSON | |
||
14 | | Monitor | GET Query Eevices | GET /query/devices | Updates states | From monitor | Causes monitor to update its device state information | |
||
15 | 1 | Hammel | |
16 | 6 | Hammel | Notes |
17 | * Monitor identity includes location and possibly other descriptors that uniquely identify the monitor |
||
18 | 11 | Hammel | * POST is required for GET requests because the sender must identify themselves with a valid encryption key, which is sent in a JSON body that GET does not allow. This is because we are not using HTTPS but rather encrypting the requests and responses inside a JSON packet stored in the body of messages. |
19 | 1 | Hammel | |
20 | h2. IoT Node (embedded in Arduino device code) |
||
21 | 7 | Hammel | |
22 | 1 | Hammel | table{width:100%}. |
23 | 9 | Hammel | |_. Resource Name |_. HTTP Verbs |_. HTTP Methods |_. Returns |_. Direction |_. Description | |
24 | | Device | UPDATE Device| PUT /device/<uuid> | Device state | From Monitor | Change device state with JSON | |
||
25 | | Device | GET Device | GET /device/<uuid> | Device state | From Monitor | Get Device state as JSON | |
||
26 | | Device | GET Register | GET /register/<uuid> | ACK | From Monitor | Provides UUID from monitor | |