Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Info |
---|
This is slightly out of date. While the DAL still functions in the same manner, there are additional paths and metrics that can be requested. Make sure to work with your integration manager to ensure you implement the best flow for your needs. |
EverBright offers what we call the Data Access Layer (DAL) to our API partners. Extensive data is collected
and calculated throughout the
lifecycle of a deal in
EverBright, including information about the solar design, proposal, and financial information. The DAL allows our partners to always retrieve the most relevant and pertinent data effectively and quickly.
Authentication and Credentials
Authentication and access for the data access layer are the same as those used for other
EverBright API endpoints. If
you require this information, please contact your
EverBright account representative or
Retrieving from the base endpoint reveals what options and information are available through the DAL. Each of the options represent a different starting point for how associated information, "metrics," are derived.
Credit QualificationCommon Paths / Options
Site
The credit qualification part of the DAL derives information related to credit pulls. Depending on the set up of the financier and integration, this may include product information and approval amounts among other data.
Product
The product option on the DAL returns information around the specific financing products for which your account has access. site is the data object around which the entire EverBright platform is centered. It encompasses the homeowner contact, address, and utility information. This option on the DAL will return higher-level information related to each site.
Quote
The quote option returns information related to the quotes that have been created in your account. Pricing information, status, and dates of creation can be accessed for each individual quote.
SiteWorkflow
The site (sometimes referred to as solarsite) is the data object around which the entire Sighten platform is centered. It encompasses the homeowner contact, address, and utility information. This option on the DAL will return higher level information related to each site.
System
The system data structure includes all array information that is part of a system design.
workflow option is usually preferred anytime after a Contract has been signed. Using the Operations workflow to pull related information ensures it is the most up-to-date data available for this job.
Code Block |
---|
GET https://engine.goeverbright.com/api/data/ |
Code Block | ||
---|---|---|
| ||
Success Response { "datastatus_code": {200, "optionsmessages": [{ "credit_qualification"warning": [], "productinfo": [], "quoteerror": [], "sitecritical",: [] }, "systemdata": { ] "options": [ }, "messagesaddress":, { "warningcontact":, [], "error": [],lookup_table", "infoorganization":, [], "criticalpayment":, [] }, "status_code": 200 } |
Metrics
Each of these data structures then each return a set of data (or "metrics") related to that data structure. Appending the data object option to the api/data/
endpoint reveals the full list of possible metrics (pieces of data) that are related to the data object and retrievable.
Code Block |
---|
GET https://engine.sighten.io/api/data/credit_qualification/ |
Code Block |
---|
{ "data": {product", "product_result", "project", "proposal", "qualification", "optionsquote": [, "ach_electedsite", "address_line_1task", "address_override_line_1usage_profile", "address_validated_line_1user", "amount_financedworkflow", "arrayworkflow_capacityhistory", ] "array_capacity_kw", "array_gen_ac_total", "array_id", "array_inverter_external_id", "array_module_external_id", "array_n_inverters", "array_n_modules_series", "array_n_series_parallel", "array_number_of_modules", "array_productivity", "city_name", "complete_milestone_count", "contact_applicant_type", "contact_date_created", "contact_email", } } |
Metrics
Each of these data structures returns a set of data (or "metrics") related to that data structure. Appending the data object option to the api/data/
endpoint reveals the full list of possible metrics (pieces of data) that are related to the data object and retrievable.
Code Block |
---|
GET https://engine.goeverbright.com/api/data/workflow/ |
Code Block |
---|
GET https://engine.goeverbright.com/api/data/project/ |
Both examples above return the full list of possible metrics
A specific metric can be retrieved by appending it to the api/data/<data_object_option>/
endpoint as a query argument. Only the metrics specified will be returned in the response for each data object.
Field | Type | Description |
---|---|---|
|
| The number of entries of data objects. |
|
| Is there more data beyond the current page. |
|
| The number of pages of data. |
|
| Array of data metric objects. Each object contains the values for the metrics specified in the URL retrieval. |
Code Block |
---|
GET https://engine.goeverbright.com/api/data/qualification/?metrics=site_id |
Code Block |
---|
{ "count": 90658, "has_next_page": true, "messages": { "info": [], "critical": [], "warning": [], "error": [] }, "status_code": 200, "pages": 4533, "data": [ { "contact_email_[index]", site_id": "f9f9df3b-132d-4d6f-b53a-4279e8f67ebf" "contact_email_list"}, { "contact_first_name", "contactsite_id",": "c74f1784-f7b8-4b4b-19a7-c3ce2d2e14a5" }, "contact_is_legal",{ "contactsite_last_nameid", : "c0a26dd5-7a1e-a4f5-aff8-bcca5b9ea46f" "contact_name"}, { "contact_name_[index]", "site_id": "contact_names","36a863d2-da0c-4b37-9901-5f6e61e5aaa0" }, "contact_phone_number", { "contact_phone_number_list", "site_id": "5ba89921-946e-4b69-b25f-76764ae332dc" "contract_address_line_1"}, { "contract_city_name", "contractsite_county_nameid", : "80beb076-be0c-4cc9-8369-d066cd76afa4" "contract_rate",}, "contract_signed",{ "contractsite_start_dateid", : "cb5bcf33-63b9-4268-a1c6-2b5511284faf" "contract_state_abbreviation"}, "contract_term",{ "contractsite_typeid", : "07501fb0-82c9-42bc-a6b3-cee538e85cdf" "contract_zipcode"}, "county_name", { "creditsite_last_updatedid", : "ab158a4f-a6f7-45d3-b53b-ad3da42fe165" "credit_qualification_amount_approved"}, "credit_qualification_amount_approved_override",{ "credit_qualification_date_updated",site_id": "82406937-ffd2-4d30-b7a9-d2eb0728398b" }, "credit_qualification_external_id", { "credit_qualificationsite_id", : "fe1a9e9e-c717-4213-90a3-918a5e8846c1" "credit_qualification_is_active"}, { "credit_qualification_modified_by", "creditsite_qualification_statusid", : "6495c911-b543-490b-a8fc-b4286cc5b0ba" "credit_status"}, { "credit_status_for_job", "currentsite_milestone_nameid", : "c8b48b6e-d599-45a7-901c-487f19a20bc5" "date_signed",}, { "external_ids", site_id": "4e925c52-bf19-4042-beb6-ad9cb5b2a302" }, "financier",{ "grandparentsite_product_organizationid", : "52324cd3-26e1-441b-b483-5d922398cfb4" "incomplete_milestone_count"}, { "initial_payment", "installsite_costid", : "601ecafb-08bb-458d-87a3-4bc8ec9daedc" "install_cost_per_watt"}, { "inverter_manufacturer_name", "site_id": "inverter_model","834323d5-c88b-4dd2-b505-4e71b125f682" }, "inverter_model_abbreviated", { "inverter_model_list", "site_id": "e4d5f57e-77a9-4c49-8449-d492887e1c63" "legal_contact_applicant_type"}, { "legal_contact_date_updated", "legal_contact_email","site_id": "9d9cbfda-da86-4157-b619-792fda47aec3" }, "legal_contact_email_[index]", { "legal_contact_first_name", "legal_contact"site_id", "legal_contact_id_[index]",: "4fe662aa-936e-4713-905c-cb1f7bd141ce" } "legal_contact_last_name", "legal_contact_name", "legal_contact_name_[index]", "legal_site_address_line_1", "legal_site_city_name", "legal_site_county_name", "legal_site_state_abbreviation", "legal_site_zipcode", "milestone_count", "milestone_date_completed", "milestone_date_completed_[index]", "milestone_date_rejected", "milestone_date_rejected_[index]", "milestone_date_submitted", "milestone_date_submitted_[index]", "milestone_id", "milestone_name", "milestone_name_[index]", "milestone_one_status", "milestone_order", "milestone_status", "milestone_status_[index]", "milestone_status_abbreviated", "module_manufacturer_name", "module_model", "module_model_abbreviated", "module_model_list", "module_rating_nominal", "operational_year", "organization_name", "organization_uuid", "owned_by_organization", "parent_product_organization", "product_count", "product_id", "product_name", "product_names", "product_organization", "proposal_count", "proposal_date_created", "proposal_downloaded", "proposal_has_signed_quote", "proposal_id", "qualification_credit_qualification_external_id", "qualification_status", "quote_contract_apr", "quote_count", "quote_date_created", "quote_id", "quote_monthly_payment", "quote_monthly_payment_no_prepay", "quote_owned_by_user", "quote_secondary_amount_financed", "quote_secondary_contract_term_months", "quote_status", "quote_status_for_job", "quote_stub_payment", "quote_stub_payment_no_prepay", "quotetask_date_updated", "quotetask_name", "quotetask_status", "rate_contract", "rate_escalator", "scorecard_amount_approved_usd", "scorecard_amount_approved_usd_[index]", "scorecard_decision", "scorecard_decision_[index]", "scorecard_decision_date", "scorecard_decision_date_[index]", "scorecard_id", "scorecard_name", "scorecard_name_[index]", "scorecard_name_without_term", "scorecard_term", "signed_quote_count", "site_date_created", "site_id", "site_last_updated", "site_owned_by_user", "site_status", "siteowner_covers_oandm", "solar_bill", "solar_spend", "solar_spend_cum", "state_abbreviation", "system_capacity", "system_capacity_kw", "system_count", "system_id", "system_number_of_modules", "system_production_in_first_year", "system_productivity", "user_email", "utility_bill_post", "utility_bill_pre", "utility_id", "utility_name", "utility_rate_schedule_name", "workflow_last_updated", "zipcode" ] }, "messages": { "error": [], "critical": [], "info": [], "warning": [] }, "status_code": 200 } |
A specific metric can be retrieved by appending it to the api/data/<data_object_option>/
endpoint as a query argument.
Code Block |
---|
GET https://engine.sighten.io/api/data/credit_qualification/?metrics=site_id |
Code Block |
---|
{ "count": 90658, "has_next_page": true, "messages": { "info": [], "critical": [], "warning": [], "error": [] }, "status_code": 200, "pages": 4533, "data": [ { "site_id": "f9f9df3b-132d-4d6f-b5fa-4279e8f67ebf" }, { "site_id": "c74f1784-f7b8-4b4b-99a7-c3ce2d2e14a5" }, { "site_id": "c0a26dd5-7a1e-44f5-aff8-bcca5b9ea46f" }, { "site_id": "36a863d2-da0c-4b37-9901-5f6e61e7aaa0" }, { "site_id": "5ba89921-946e-4b69-b25f-76764ae331dc" }, { "site_id": "80beb076-be0c-4cc9-8369-d066cd76a1a4" }, { "site_id": "cb5bcf33-63b9-4268-afc6-2b5511284faf" }, { "site_id": "07401fb0-82c9-42bc-a6b3-cee538e85cdf" }, { "site_id": "a3158a4f-a6f7-45d3-b53b-ad3da42fe165" }, { "site_id": "82406637-ffd2-4d30-b7a9-d2eb0728398b" }, { "site_id": "fe1a9e0e-c717-4213-90a3-918a5e8846c1" }, { "site_id": "6495cc11-b543-490b-a8fc-b4286cc5b0ba" }, { "site_id": "c8b18b6e-d599-45a7-901c-487f19a20bc5" }, { "site_id": "4e925c62-bf19-4042-beb6-ad9cb5b2a302" }, { "site_id": "12324cd3-26e1-441b-b483-5d922398cfb4" }, { "site_id": "601ecffb-08bb-458d-87a3-4bc8ec9daedc" }, { "site_id": "824323d5-c88b-4dd2-b505-4e71b125f682" }, { "site_id": "e4d5f57d-77a9-4c49-8449-d492887e1c63" }, { "site_id": "9d9cbfdb-da86-4157-b619-792fda47aec3" }, ] } |
Filtering
The Data Access Layer endpoints support filtering so users can retrieve the subset of data in which they are interested.
For example, from the quote section, the user can filter for only the quotes that have a SIGN
status, meaning a contract has been signed. Additionally, the user can filter for jobs from a range of dates.
Pagination
By default, the DAL will return 20 unique entries. If the user would like to see more or less entries at one time, the limit filter can be appended to the request. If there are multiple pages of entries, the user can also append the page filter to access a specific page of entries.
Example:
Code Block |
---|
GET https://engine.goeverbright.io/api/data/quote/?metrics=quote_status,site_id,site_last_updated"e_status=SIGN&site_last_updated_after=2017-05-01&limit=3000&page=3 |
Code Block |
---|
GET https://engine.goeverbright.com/api/data/quote/?metrics=quote_status,site_id,site_last_updated"e_status=SIGN&site_last_updated_after=2017-05-01 |
Code Block |
---|
{ "count": 3226, "messages": { "error": [], "critical": [], "info": [], "warning": [] }, "status_code": 200, "data": [ { "site_last_idupdated": "4fe662ac2017-936e-4713-905c-cb1f7bd141ce"05-08T16:47:31.088253+00:00", } ] } |
Data Filtering
?date_updated_after=2017-01-20&date_updated_before=2017-01-22
Finding sites and when they were last updated:
In order to find when a site was last updated, we can call the api/data/quote/ endpoint to return the last updated dates along with the quote ids and site ids.
GET https://engine.sighten.io/api/data/site/?metrics=site_last_updated,site_id
GET https://engine.sighten.io/api/data/site/?metrics=site_last_updated,site_id&limit=3000
limit => how many entries to display in the response
GET https://engine.sighten.io/api/data/site/?metrics=site_last_updated,site_id&limit=3000&page=3
Response:
Fields of interest:
pages => number of pages of entries
count => number of total entries
has_next_page => there are more entries on the next page
{
messages:
{
info: [ ],
warning: [ ],
error: [ ],
critical: [ ]
},
pages: 1095,
data:
[
{
site_last_updated: "2016-01-21T22:53:50.889244+00:00",
site_id: "353da0c0-67ab-44a2-913b-2ca1ffc8137a"
},
{
site_last_updated: "2016-01-21T22:53:50.889244+00:00",
site_id: "353da0c0-67ab-44a2-913b-2ca1ffc8137a"
},
{
site_last_updated: "2016-01-21T22:53:50.889244+00:00",
site_id: "353da0c0-67ab-44a2-913b-2ca1ffc8137a"
},
{
site_last_updated: "2016-01-21T22:53:50.889244+00:00",
site_id: "353da0c0-67ab-44a2-913b-2ca1ffc8137a"
},
{
site_last_updated: "2016-01-21T22:53:50.889244+00:00",
site_id: "353da0c0-67ab-44a2-913b-2ca1ffc8137a"
},
{
site_last_updated: "2016-02-03T15:45:54.782968+00:00",
site_id: "ec9d7a8a-4f24-4c15-92dc-294c67fde3e1"
},
{
site_last_updated: "2016-02-05T17:18:15.580026+00:00",
site_id: "610d3705-a808-4f1e-ae53-6009ea4bf8c6"
},
{
site_last_updated: "2016-02-05T17:18:15.580026+00:00",
site_id: "610d3705-a808-4f1e-ae53-6009ea4bf8c6"
},
{
site_last_updated: "2016-02-05T17:18:15.580026+00:00",
site_id: "610d3705-a808-4f1e-ae53-6009ea4bf8c6"
},
{
site_last_updated: "2016-02-05T19:03:15.641856+00:00",
site_id: "f463f568-7129-4504-8c31-6352a5ccd23f"
},
{
site_last_updated: "2016-02-05T19:03:15.641856+00:00",
site_id: "f463f568-7129-4504-8c31-6352a5ccd23f"
},
{
site_last_updated: "2016-02-05T19:03:15.641856+00:00",
site_id: "f463f568-7129-4504-8c31-6352a5ccd23f"
},
{
site_last_updated: "2016-02-05T19:03:15.641856+00:00",
site_id: "f463f568-7129-4504-8c31-6352a5ccd23f"
},
{
site_last_updated: "2016-02-05T19:03:15.872990+00:00",
site_id: "671df10c-3330-474d-ad00-4d5ad4b98668"
},
{
site_last_updated: "2016-02-05T19:03:15.872990+00:00",
site_id: "671df10c-3330-474d-ad00-4d5ad4b98668"
},
{
site_last_updated: "2016-02-05T19:03:15.872990+00:00",
site_id: "671df10c-3330-474d-ad00-4d5ad4b98668"
},
{
site_last_updated: "2016-02-05T19:03:16.534995+00:00",
site_id: "5bc86965-582a-48fe-9062-58914d1f8fda"
},
{
site_last_updated: "2016-02-05T19:03:16.534995+00:00",
site_id: "5bc86965-582a-48fe-9062-58914d1f8fda"
},
{
site_last_updated: "2016-02-05T19:03:16.534995+00:00",
site_id: "5bc86965-582a-48fe-9062-58914d1f8fda"
},
{
site_last_updated: "2016-02-05T19:03:16.534995+00:00",
site_id: "5bc86965-582a-48fe-9062-58914d1f8fda"
}
],
count: 21897,
has_next_page: true,
status_code: 200
"site_id": "cc328ab2-aba3-4213-9b59-babfe6288a74",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-03T12:20:48.002937+00:00",
"site_id": "111ee62b-8623-4298-bf40-882acd174302",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-04T14:35:31.227004+00:00",
"site_id": "6f2c1d06-5eac-4327-af06-eaebd33b6a0c",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-05T21:36:22.929002+00:00",
"site_id": "bcf73ec9-aceb-495e-b245-1ddff22144f4",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-10T23:39:45.927919+00:00",
"site_id": "e3cb004c-5236-4637-ac87-82c8c4c4cedc",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-08T16:47:31.088253+00:00",
"site_id": "cc328ab2-aba3-4213-9b59-babfe6288a74",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-08T16:47:31.088253+00:00",
"site_id": "cc328ab2-aba3-4213-9b59-babfe6288a74",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-01T18:46:05.858952+00:00",
"site_id": "bec53c6d-1457-4d17-b2b8-8cebfd38da86",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-01T18:46:05.858952+00:00",
"site_id": "bec53c6d-1457-4d17-b2b8-8cebfd38da86",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-09T17:52:49.150111+00:00",
"site_id": "80b1ef2a-1703-450b-9169-e8473d0c1fe5",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-05T18:35:28.825842+00:00",
"site_id": "23140913-3fa1-44de-84f6-6af88157add8",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-10T17:43:15.466829+00:00",
"site_id": "e19f87ea-93be-452a-b917-40aaff036e87",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-08T17:58:12.924447+00:00",
"site_id": "68288d69-1aec-456b-a675-04a67e5be1ab",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-01T21:08:05.707306+00:00",
"site_id": "831ee381-5cb4-47af-b6ce-0b546b73c5da",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-04T00:17:33.554579+00:00",
"site_id": "77ac39bc-da99-4039-b9af-eb109546d355",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-03T20:34:29.664546+00:00",
"site_id": "842c0e82-b01f-4ea7-b45c-a385df9deccc",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-03T17:51:14.296281+00:00",
"site_id": "7a6f368c-5a3c-462c-aa9c-52f6bf0e5950",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-05T22:26:19.720932+00:00",
"site_id": "c0fe104d-fec4-4bfd-9f21-916f15b835e2",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-04T11:36:23.781644+00:00",
"site_id": "35296d05-3d4e-45b9-9df4-c8e81912da7c",
"quote_status": "SIGN"
},
{
"site_last_updated": "2017-05-04T18:42:39.780416+00:00",
"site_id": "dc81e4c6-a6a6-4d84-97c9-40dfd17d8e23",
"quote_status": "SIGN"
}
],
"has_next_page": true,
"pages": 162
}
|
Related articles
You might also want to check out these related topics: