Skip to content

API requests

cyoq edited this page Jul 4, 2020 · 6 revisions

API requests routes, header data for request and response

Routes are described in routes/api.php.

  • auth routes:

    • POST api/auth/login - handles user logging into the system.

      • Request data: { email: string, password: string }
      • Response data: { token: string }
    • POST api/auth/register - handles user registration into the system.

      • Request data: { name: string, email: string, password: string }
      • Response data: No data | { errors: Array of { error: string } }
    • GET api/auth/refresh - handles JWT refresh.

      • Request data: No data
      • Response data: { token: string }
  • sockets routes:

    • POST api/sockets/add - handles the addition of the new Smart Power Socket.

      • Request data: { unique_id: number }
      • Response data: { unique_id: string, id: number }
    • PUT api/sockets/connect - connects new Smart Power Socket from the frontend.

      • Request data: { name: string, description: string | null, unique_id: number }
      • Response data: { id: number, unique_id: string, is_connected: boolean, name: string, description: string | null, switch_state: boolean }
    • GET api/sockets/list - shows all sockets which are available for a user.

      • Request data: No data
      • Response data: Array of { id: number, unique_id: string, is_connected: boolean, name: string, description: string | null, switch_state: boolean }
    • PUT api/sockets/update-info - updates information about socket itself, e.g. name, description.

      • Request data: { name: string, description: string | null }
      • Response data: { id: number, unique_id: string, is_connected: boolean, name: string, description: string | null, switch_state: boolean, user: { id: number, name: string, email: string, created_at: string(ISO Date), updated_at: string(ISO Date) } }
    • PUT api/sockets/{id} - switches the Smart Power Socket on and off.

      • Request data: { switch_state: number(0 or 1) }
      • Response data: { id: number, unique_id: string, is_connected: boolean, name: string, description: string | null, switch_state: boolean, user: { id: number, name: string, email: string, created_at: string(ISO Date), updated_at: string(ISO Date) } }
    • DELETE api/sockets/{id} - deletes the specific socket.

      • Request data: No data
      • Response data: No data
  • measurements routes:

    • POST api/measurements/add - adds new measurement to a socket.

      • Request data: { power: number }
      • Response data: { state: number(0 or 1) }
    • GETapi/measurements/list/{id} - shows the list of the measurements for the specific socket.

      • Request data: No data
      • Response data: Array of { id: number, socket_id: number, power: number, created_at: string(ISO Date), updated_at: string(ISO Date) }
    • DELETE api/measurements/{id} - deletes specific measurement.

      • Request data: No data
      • Response data: No data
    • POST api/measurements/get-period - gets all measurements in the given interval of time.

      • Request data: { time_from: string(ISO Date), time_to: string(ISO Date) }
      • Response data: Array of { id: number, socket_id: number, power: number, created_at: string(ISO Date), updated_at: string(ISO Date) }