Setting up GraphQL access via IDE
If creating an integration via IDE you can set up a config file to manage access and add your User API token generated in SolarPlus under 'Integrations'.
{ "name": "SolaPlus Live", "schemaPath": "schema.graphql", "extensions": { "endpoints": { "Default GraphQL Endpoint": { "url": "https://go.solarplus.co/graphql", "headers": { "user-agent": "JS GraphQL", "authorization": "Bearer ~add-token-here~" }, "introspect": false } } } }
Query the API
Create your query file
query Inventory($id: ID!) { Inventory(id: $id) { id name created } }
Add argument variables, eg. ID
{ "id": 181043 }
Result:
{ "data": { "System": { "id": "181043", "name": "9.6 kW Primo Telsa", "created": "2021-06-25 04:34:14" } }
Querying the API via browser
Go to https://go.solarplus.co/graphql while logged into the app in another tab
Open the schema panel on the right to review the schema structure .
Query as per instructions on the left hand panel:
{ Inventory(id: 87381 ) { id name InventoryPricings { id item_variation_suffix unitPrice } } }
Sample JSON result:
{ "data": { "Inventory": { "id": "87381", "name": "Clenergy ezRack Mounting 40mm Tin", "InventoryPricings": [ { "id": "77899", "item_variation_suffix": "Bracket Tin PV-ezRack", "unitPrice": "$2.43" }, { "id": "77900", "item_variation_suffix": "Isolator Shade, 280*158*114mm", "unitPrice": "$8.80" }, { "id": "77901", "item_variation_suffix": "Cable Clip for 2 cables", "unitPrice": "$0.30" }, { "id": "77902", "item_variation_suffix": "PV-ezRack End Clamp - 40mm", "unitPrice": "$0.80" }, { "id": "77903", "item_variation_suffix": "PV-ezRack Inter Clamp - 40mm", "unitPrice": "$2.00" }, { "id": "77904", "item_variation_suffix": "Clamp Grounding PV-ezRack", "unitPrice": "$0.34" }, { "id": "77905", "item_variation_suffix": "Eco Rail, 4200mm", "unitPrice": "$24.35" }, { "id": "77906", "item_variation_suffix": "Splice for ECO-Rail", "unitPrice": "$1.80" } ] } } }