Connector API BM-DOC-001
Connector API BM-DOC-001
These manufacturer and CRM system logos are trademarks' or registered ® trademarks of their respective
holders. Use of these logos does not imply any af liation with or endorsement to Bridge Select
fi
fi
Pre-requisites
• You have a technical person to help with integration of your CRM to
Bridge Select via the Connector API
• You have received a unique account KEY for the Connector API from the
Bridge Select team
• You have received a unique SALT for the Connector API from the Bridge
Select team
de nitions: a salt is a xed-length cryptographically-strong random value that is added to your input data to create unique values for every input, regardless of the input not being unique
fi
fi
Supported Certi cate Types
Solar PV Hot Aircon Battery EV
Water Upgrade Charging
BATTERY NO
PV STC HW STC STC
(coming soon)
CERT
(coming soon)
AIRCON
HW REPS REPS
(coming soon)
PRC
(coming soon)
fi
Important points of note
• Jobs cannot be updated via the API once they’ve been completed
• Date changes will result in the job being rendered non-SPV if an SDP (XML) has
been generated
• Error responses will need to be displayed in your CRM as the API will respond with
errors as and when applicable
• Master accounts are created for companies running SaaS / PaaS type systems, e.g.
Zoho, Salesforce, etc
Available Functions
• Create / Edit job - ${BASE_URL}/connector/${KEY}/job/create-or-edit
• Create a JSON of the same using the keys described in the slides under Create / Edit job section
and stringily it, for e.g. in javascript you can use JSON.stringify(…)
• Generate request to be sent to Bridge Select with your unique URL and as described in the format
below. The request contains “data” parameter which is the original base64 encoded JSON (without
the SALT) and the “csum” parameter which is the checksum of the appended string (JSON + SALT)
If required, please get in touch with us for running sample client side code. We can provide php and nodejs running samples.
fi
An Example
{
"crmid": “CRM#12345",
"at": "Physical", Assuming you have the data (on the left) for a job you want to
"e": "[email protected]", create in Bridge Select. The payload sent to Bridge Select API
"fn": "Anu",
would look like the below image
"id": "06/05/2019",
"ie": "[email protected]",
"ifn": "Anu",
"ilat": -38.043408,
"iln": "Berry",
"ilng": 145.32377999999994,
"im": "+61411297857",
"ipa": "2 Grand Arch ",
"ipc": 3806,
"iph": "+61411297857",
"ipra": "Grand Arch ",
"isb": "Berwick",
"ist": "VIC",
"istn": "2",
"istp": "WAY"
}
createKey method
If you are sending embedded JSON payloads in the request, for e.g. when creating panels and inverters
(explained later in the documentation) then all KEYS in the embedded JSON will have to be created using
the createKey method.
function createKey(key) {
var k = key.replace(/[^A-Z0-9^-]+/ig, "_");
return k;
}
Example: if you’re creating a job with Shanghai JA Solar Technology Co Ltd panels and with model number JAP60S01-275/SC
Key for manufacturer will be Shanghai_JA_Solar_Technology_Co_Ltd
And the key for model will become be JAP60S01-275_SC
How to assign panels to the job
Assuming you want to assign 20 Suntech panels to the job with model number STP275-20/Wfw. Please
embed the following json in the payload.
"mfs": { The key you need to send for creating panels is “mfs”.
"Wuxi_Suntech_Power_Co_Ltd": {
"ms": { Please refer to the createKey() explained earlier in the
"STP275-20_Wfw": { documentation.
"n": "STP275-20/Wfw",
"w": “275”,
"rs": “SF Suntech Australia Pty Ltd”,
"np": 20 For latest approved panel listing please refer to the CER website at https://
} www.cleanenergyregulator.gov.au/DocumentAssets/Pages/CEC-approved-PV-
modules.aspx
},
"n": "Wuxi Suntech Power Co Ltd"
}
}
Please note we only support 1 brand per job. SPV also supports 1 brand per claim. Multiple models within the same brand are supported however.
How to assign hot water tanks to the job
Assuming you want to assign 1 Rheem tank with 2 panels to the job with model number
511161/1CS26-26G. Please embed the following json in the payload.
"mfs": { The key you need to send for creating panels is “mfs”.
"Rheem": {
"ms": { Please refer to the createKey() explained earlier in the
“511161_1CS26-26G": { documentation.
"n": "511161/1CS26-26G",
"w": “200”, //tank capacity
"np": 1, //number of tanks
“nop”: “2” //number of panels For latest approved hot water products listing please refer to the CER website at
} https://www.cleanenergyregulator.gov.au/RET/Scheme-participants-and-industry/
Agents-and-installers/Small-scale-systems-eligible-for-certi cates/Register-of-
}, solar-water-heaters
"n": “Rheem"
}
}
fi
How to assign inverters to the job
"ifs": { "ifs": {
"Fronius_Australia": { "United_Renewable_Energy_Co_Ltd": {
"ms": { "ms": {
"Primo_GEN24_5_0_Plus": {
"MA1-INV": {
"n": "Primo GEN24 5.0 Plus",
"sr": "Fronius Primo GEN24 Plus", "n": "MA1-INV",
"w": "5000", "sr": "MA",
"np": 2 "w": "4600",
} "np": 1
Multiple Inverters }, Single Inverter }
"n": "Fronius Australia" },
}, "n": "United Renewable Energy Co Ltd"
"SolaX_Power_Co_Ltd": {
}
"ms": {
"X1-5_0-T-N": { }
"n": "X1-5.0-T-N",
"sr": "X1",
The key you need to send for creating inverters is “ifs”.
"w": "4999", Please refer to the createKey() explained earlier in the
"np": 1 documentation.
}
},
"n": "SolaX Power Co Ltd" For latest approved inverter listing please refer to the CER website at https://
} www.cleanenergyregulator.gov.au/DocumentAssets/Pages/CEC-approved-
inverters.aspx
}
How to assign batteries to the job
"bfs": { "bfs": {
"BYD": { "BYD": {
"ms": { "ms": {
“LVS_8_0”: { “LVS_8_0”: {
"n": “LVS 8.0”,
"n": “LVS 8.0”,
"sr": "Battery-Box Premium LVS",
"sr": "Battery-Box Premium LVS",
"np": 1
} "np": 1
}, }
Multiple Batteries "n": "BYD" Single Battery },
}, "n": "BYD"
"Tesla": { }
"ms": { }
"AC_Powerwall_AS4777-2_2020_": {
"n": "AC Powerwall (AS4777-2
2020)", PLEASE NOTE: if assigning batteries to a job you must assign
"sr": "Tesla Powerwall",
appropriate values to the eld “ctieg” - refer documentation below
"np": 1
}
},
The key you need to send for creating inverters is
"n": “Tesla" “bfs”. Please refer to the createKey() explained earlier
} in the documentation.
}
fi
How to assign an address to the job
Search Address 2/48 Rosanna Street Carnegie VIC 3163 Search Address 173 Golf Links Road Berwick VIC 3806
"eiprf": { "edprf": {
“s”: 1, //start sel e “m”: 1
“m”: 1, //middle sel e }
“e”: 1, //end sel e
}
fi
fi
fi
fi
fi
fi
How to assign external image links to a job
"external": {
“photos”: {
0: {
“l”: “https://abc.com/images/project-plan-1.png”,
“t”: “Project Plan 1”
},
1: {
“l”: “https://abc.com/images/project-plan-2.png”,
“t”: “Project Plan 2”
}
}
}
You will need to construct an array of photo objects, as displayed in above JSON sample. 0, 1, 2… is the
usual sequence format for arrays.
e.g.
https://abc.com/images/sample.png
https://xyz.com/ les/image.jpg
fi
AVAILABLE
[ENDPOINTS]
[ENDPOINT]
Job Status / Details
The following is what the raw request looks like for job status and details end point
{
"crmid": “CRM#12345”,
“retailer”: “retailerUsername” //required only if you have a master account with us
}
[ENDPOINT]
Job Create / Edit
Described in following slides
Common Fields
(for all jobs)
[ENDPOINT] Create / Edit Job
Field Name Description Mandator Request Respons Zapier
y e
crmid Unique ID from your CRM Y Y Y Y
crms Status of job in your CRM N Y N Y
fn Customer rst name Y N Y Y
ln Customer last name Y N Y Y
e Customer Email Y Y Y Y
Installation Date (expected values: Text Date: DD/
id MM/YYYY)
N Y Y Y
Customer Mobile Number (expected values: Text,
m e.g. +61411297857)
Y Y Y Y
Owner type (Expected values Individual, Y
ot Government,
(if you submit address
to BSEL)
Y Y Y
Customer Phone Number (expected values: Text,
p e.g. 0380863035)
N Y Y Y
at Address type (expected values: Physical/Postal) N Y Y Y
Customer address street number + installation Y
pa street name (expected values: Text, E.g. 95
(if you submit address
to BSEL)
Y Y Y
pc Postcode (expected values: Text, E.g. 3806) Y (if you submit address Y Y Y
to BSEL)
fi
Create / Edit Job (contd…)
Field Name Description Mandatory Request Response Zapier
Organisation name if customer type is other than
orn Individual N Y N Y
STC Discount offered to customer (expected
fp value: number) N (Y for SolarVIC) Y Y Y
lat Latitude (expected values: Float, e.g. -34.88042) Y (if you submit address to
Y Y Y
BSEL)
ist Installation State name (E.g. VIC) Y (if you submit installation
Y Y Y
address to BSEL)
stn Street number (expected values: Text, E.g. 95) Y (if you submit address to
Y Y Y
BSEL)
stp Street type (expected values: Text, E.g. ST) Y (if you submit address to
Y Y Y
BSEL)