Scanifly has successfully integrated with several Racking Providers to automatically sync designs, eliminating the need to recreate the designs, reducing manual errors and revisions.
Scanifly supports two integrations for Racking Providers:
- Layouts
- Plan Sets
There are also two integration approaches that are supported for your consideration.
- Redirect to URL: Scanifly will redirect the mutual customer to the Racking Provider's specified URL.
- Requires the mutual customer to generate a key in Scanifly (instructions) and store that key in the Racking Provider's application.
- Mutual customer will authenticate with the Racking Providers system if not already logged in
- Since there is user identification, designs can be stored, persist in Racking Providers system
- iFrame: Scanifly will load the Racking Provider's specified URL in an full-screen iFrame
- Scanifly will pass a key to webpage in jquery format, appending a JWT
- somecompany.com/scanifly/path?companyId=somecompanyid&userId=some
userid&projectId=someprojectId&designId=somedesignid& scaniflyLimitedAccessToken=someTokenValue - JWT expires after 15 mins
- Since there is no user identification with this method, Racking Provider will not have a way to associate the designs with an account, therefore, the mutual customer would need to regenerate the designs should they need to review at a later time.
Layouts Integration
Customer Experience
- Customer generates a design and clicks the Export button:

- Scanifly will log the progress and process to the menu in the lower left corner:

- Customer will be redirected to your tool using the URL that you provide, using the chosen method (redirect or iframe):

-
You will detect the page load and parse out parameters that are passed in the URL.
-
Redirect approach: Scanifly will pass additional parameters in the URL you provided: companyId, projectId and designId. https://subdomain.companysite.com/scanifly/{companyId}/{projectId}/{designId}
-
iframe approach: Scanifly will pass query elements and JWT in the URL:
somecompany.com/scanifly/path?companyId=somecompanyid&userId=some
userid&projectId=someprojectId&designId=somedesignid& scaniflyLimitedAccessToken=someTokenValue -
You now have all of the data elements to use Scanifly API's to retrieve the JSON file detailing the design.
- Make a call to the following endpoint using the projectId and designId from the URL, along with the API token saved by the user. https://api.portal.scanifly.com/api/v1/designs/:projectId/:designId/exports/layout
-
You can parse out the segment and array data to generate the design in your design assistant.
-
The JSON includes links to files that are nice to include in proposals or reports
- propertyOverheadUrl
- modelUrl
Plan Sets
The process to export Plan Sets is similar. Scanifly's design process generates several files that may or may not be needed to render the design in the Racking Provider's tool. This integration will
- Follow above steps 1-6 above
- You have the project and design ids. Make a Get designs by design id (link to call overview) call to find the location of the files needed to render designs in your tool. Depending on your process you may rely on 2D or 3D files. You may want shade reports or other project info. For that reason, the Get design API response will provide the location to the files you rely on. Commonly used files include:
Field | Description |
---|---|
systemSize | Production for whole system |
ASA | Annual Solar Access |
annualProduction | Annual production for all segments combined |
shadeReportUrl | Shade report URL will be populated if a user has generate shade analysis this in Scanifly |
hourlyProductionUrl | Link to the system hourly production report |
hourlyProductSegmentUrls | Links to the hourly production by segments report |
projectInfoReport | Includes project info, nearest weather station info and distance to weather station |
systemOverview | Includes segment count, module quantity, estimated production, annual consumption, System offset, roof surface area, etc |
dxf2DWireframeUrl | URL to 2D design file location |
dxf3DWireframeUrl | URL to 3D design file location |
segmentInfo | Includes module type, quantity, arraySize, estimated production, systemLosses, monthlyAsa, etc. |
monthlyBreakdown | Production and Consumption by month |