Hardware - Racking Integratations

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

  1. Customer generates a design and clicks the Export button:
  1. Scanifly will log the progress and process to the menu in the lower left corner:

  1. Customer will be redirected to your tool using the URL that you provide, using the chosen method (redirect or iframe):
  1. You will detect the page load and parse out parameters that are passed in the URL.

  2. Redirect approach: Scanifly will pass additional parameters in the URL you provided: companyId, projectId and designId. https://subdomain.companysite.com/scanifly/{companyId}/{projectId}/{designId}

  3. 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

  4. You now have all of the data elements to use Scanifly API's to retrieve the JSON file detailing the design.

    1. 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
  5. You can parse out the segment and array data to generate the design in your design assistant.

  6. The JSON includes links to files that are nice to include in proposals or reports

    1. propertyOverheadUrl
    2. 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

  1. Follow above steps 1-6 above
  2. 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:
FieldDescription
systemSizeProduction for whole system
ASAAnnual Solar Access
annualProductionAnnual production for all segments combined
shadeReportUrlShade report URL will be populated if a user has generate shade analysis this in Scanifly
hourlyProductionUrlLink to the system hourly production report
hourlyProductSegmentUrlsLinks to the hourly production by segments report
projectInfoReportIncludes project info, nearest weather station info and distance to weather station
systemOverviewIncludes segment count, module quantity, estimated production, annual consumption, System offset, roof surface area, etc
dxf2DWireframeUrlURL to 2D design file location
dxf3DWireframeUrlURL to 3D design file location
segmentInfoIncludes module type, quantity, arraySize, estimated production, systemLosses, monthlyAsa, etc.
monthlyBreakdownProduction and Consumption by month