The inventory API provides access to in SolarPlus Inventory pricebook for the business account where you can access and update products, stock codes, pricing, suppliers and much more.
Request URL: https://go.solarplus.co/graphql
Get the bearer token by generating a Secret Key in the SolarPlus.
Go to More Settings > Admin > User Preferences > Integrations
Open the top section, SolarPlus API credentials
Click Generate New Secret Key
Paste it as Graphql’s authorization access
Set the bearer token from the collection settings
Create a POST request from the request URL above
Set the body as GraphQL and formulate a query
Perform a request
Visit postman documentation to learn how to write test cases
On the right, see documentation of app structure:
eg.
{ Inventory(id: 87381 )
{
id
name
InventoryPricings {
item_variation_suffix
unitPrice
}
}
}
VARIABLES:
METHOD:
createInventory
NOTE:
method returns the Inventory that has been created, kindly check the end of the page for the available fields on Inventory model
some categories will require model ( foriegn_id) field
some categories also have a default value for 'Cost of Sales Inc’
more information to this is added at the end of the page
Create Pricing Level:
VARIABLES:
note: same method is used for update pricing, to create a new one , supply id with value 0, or do not pass field id
METHOD:
savePricing
Create Pricing without SKU and Supplier
NOTES:
if is_default is not specified for the pricing, it is automatically set to true
if no supplier and SKU is provided for the pricing, an SKU is automatically generated for the pricing. This is usually the case for Inventories under service categories.
VARIABLES:
METHOD:
updateInventory
VARIABLES:
METHOD:
savePricing
VARIABLES :
id : required, inventory id to be deleted
METHOD:
deleteInventoryByPk
VARIABLES :
id : required, inventory id to be deleted
METHOD:
deleteInventoryByPk
METHOD:
Inventories
VARIABLES FOR INPUT (ARGUMENTS) :
VARIABLES FOR OUTPUT (DATA):
SAMPLE QUERY:
QUERY :
query Inventories( $archived: Boolean $categoryId: ID $orderBy: String $orderType: String $businessId: ID ) { Inventories( archived: $archived categoryId: $categoryId orderBy: $orderBy orderType: $orderType businessId: $businessId ) { id name Category { id name } series_and_model inventory_currency brand_name kit_value archived InventoryPricingDefault { id code markup_is_percentage markup_is_percentage_text markup_value unit_price retail_price Supplier { id name } item_variation_suffix } } } |
SAMPLE INPUT :
{ "archived": false, "categoryId": 8, "orderBy" : "updated", "orderType" : "DESC", "businessId" : 911 } |
SAMPLE OUTPUT:
{ "data": { "Inventories": [ { "id": "42289", "name": "neon genesis evangelion", "Category": { "id": "8", "name": "Modules" }, "series_and_model": "RSM72-6-315P", "inventory_currency": "$", "brand_name": "Risen", "kit_value": false, "archived": false, "InventoryPricingDefault": { "id": "24466", "code": "neon genesis evangelion", "markup_is_percentage": "1", "markup_is_percentage_text": "%", "markup_value": 12, "unit_price": 0, "retail_price": 0, "Supplier": { "id": "2848", "name": "sdwewewew" }, "item_variation_suffix": "test2" } }, ] } } |
VARIABLES FOR INPUT (ARGUMENTS) :
VARIABLES FOR OUTPUT(DATA):
SAMPLE QUERY:
QUERY:
query InventoryPricings( $inventoryId: ID ) { InventoryPricings( inventoryId: $inventoryId ) { id inventory_id supplier_id code unit_price markup_value markup_is_percentage unit_of_measure_string unit_of_measure item_variation_suffix spare_qty quantity } } |
SAMPLE INPUT :
{ "inventoryId": 29505 } |
SAMPLE OUTPUT:
{ "data": { "InventoryPricings": [ { "id": "24399", "inventory_id": "29505", "supplier_id": "293", "code": "ET Solar ET-M572190", "unit_price": 2, "markup_value": 12, "markup_is_percentage": "1", "unit_of_measure_string": "/ kW Solar PV", "unit_of_measure": "2", "item_variation_suffix": "", "spare_qty": 0, "quantity": 0 }, { "id": "15459", "inventory_id": "29505", "supplier_id": null, "code": "ET-M572190", "unit_price": 200, "markup_value": 12, "markup_is_percentage": "1", "unit_of_measure_string": "/ item", "unit_of_measure": "0", "item_variation_suffix": "", "spare_qty": 0, "quantity": 0 } ] } } |
INVENTORY MODEL:
1 Mounting
2 Isolators - DC
3 Fuses/Breakers
4 Cables
5 Accessories
6 Monitoring
7 Inverters
8 Modules
9 Labour
10 Difficulty surcharges
11 Travel/Freight
12 Administrative
13 Miscellaneous
14 Kit
15 Warranty
16 Isolators - AC
17 Battery
18 Subsidy
19 Metering
20 Battery Access
21 Grid Protection
22 Generator
23 Battery Isolator
24 Energy Management
25 Discount
26 Contractor install kits
27 Safety & access equipment
7 Inverters
8 Modules
17 Battery
5 Accessories
20 Battery Access
23 Battery Isolator
4 Cables
24 Energy Management
3 Fuses/Breakers
22 Generator
21 Grid Protection
16 Isolators - AC
2 Isolators - DC
14 Kit
19 Metering
13 Miscellaneous
6 Monitoring
1 Mounting
CATEGORIES THAT THE DEFAULT VALUE FOR COST OF SALES IS FALSE:
9 Labour
10 Difficulty surcharges
11 Travel/Freight
12 Administrative
13 Miscellaneous
15 Warranty
18 Subsidy
25 Discount