---
---

Belden Jukebox Front/Back Specification:

This document outlines how data will be transmitted between the frontend and the backend.

### Standard Object All objects sent between the frontend and backend will follow this format. ```json { type: "name_of_request" call: "send, request" data: { } } ``` --- ## CABLE_MAP Object ### Front: > Front -> Back ```json { type: "cable_map" call: "request" data: { } } ``` ### Back: > Back -> Front ```json { type: "cable_map" call: "send" data: { map: [ item { part_number: 12345 position: 0-53 name: "Fancy Displayable Name" brand: "Belden" description: "This is a good cable!" short_description: "Good cable!" } ... many more items ] } } ``` ## CABLE_DETAILS Object ### Front: > Front -> Back ```json { type: "cable_details" call: "request" data: { part_number: [ 12345, 67890, ... ] position: [ 0, 1, 2, ... 53 ] } } ``` ### Back: > Back -> Front ```json { type: "cable_details" call: "send" data: { cables: [ { part_number: 12345 position: 0-53 part_image_url: "https://belden.com" brand_image_url: "https://belden.com" extracted_object: { ....... #brand will be in here } }, ..... ] } } ``` --- ## CABLE_SEARCH Object ### Front: > Front -> Back ```json { type: "cable_search" call: "request" data: { string: "name/part_number/type/category/etc" } } ``` ### Back: > Back -> Front ```json { type: "cable_search" call: "send" data: { cables: [ { part_number: 12345 position: 0-53 part_image_url: "https://belden.com" brand_image_url: "https://belden.com" extracted_object: { ....... #brand will be in here } }, .... ] } } ``` --- ## KEYBOARD Object ### Front: > Front -> Back ```json { type: "keyboard" call: "request" data: { enabled: True / False } } ``` --- ## MACHINE_SETTINGS Object ### Front: > Front -> Back ```json { type: "machine_settings" call: "request" data: { } } ``` ### Back: > Back -> Front ```json { type: "machine_settings" call: "send" data: { settings: [ { setting_name: "text field" type: "text" current_value: "current value of seting" }, { setting_name: "radio button" type: "radio" current_value: "option 1" radio_values: [ "option 1", "option 2", "option 3" ] }, { setting_name: "check box" type: "check" current_value: ["option 1", "option 2"] radio_values: [ "option 1", "option 2", "option 3" ] }, { setting_name: "enabled or disabled" type: "boolean" current_value: True }, { setting_name: "slider bar" type: "slider" current_value: 50.0 #Float min: -100.0 #Float max: 100.0 #Float } ] } } ``` ### Front: > Front -> Back ```json { type: "machine_settings" call: "send" data: { settings: [ { setting_name: "text field" type: "text" new_value: "current value of seting" }, { setting_name: "radio button" type: "radio" new_value: [ "option 1", "option 2", "option 3" ] }, { setting_name: "check box" type: "check" new_value: [ "option 1", "option 2", "option 3" ] }, { setting_name: "enabled or disabled" type: "boolean" new_value: False }, { setting_name: "slider bar" type: "slider" new_value: 100.0 #Float } ] } } ``` ---