Note: This API creates a customer record and also creates a proposal for the given customer.
Method: POST
Header: Accept: application/json
Key | Sub key | Required/Optional | Description |
public_api_key |
| required | Authentication API key |
customer | external_id | required | External provider ID |
customer | source | required | Lead source |
customer | first_name | required | Customer’s first name |
customer | last_name | optional | Customer’s last name |
customer | required | Customer’s email | |
customer | phone | optional | Customer’s phone number |
customer | street | required | Customer street address |
customer | city | required | Customer’s address city name |
customer | state | required | Customer’s address state name |
customer | postal_code | required | Zip code of address |
customer | country | optional | Country name |
customer | job_type | required | Job type should contain any value from this list: Solar, Roof,HVAC, Fence, Battery |
customer |
| optional |
|
owner | required | Lead’s owner email address. Using owner email, we assign the lead owner. If this email does not exist in our system, then an error will be thrown. |
Sample Payload:
{ "public_api_key":"API_KEY", "customer": { "territory": "Bay Area CA", "street": "test", "state": "AK", "source": "TEST SOURCE", "postal_code": "78764", "phone": null, "last_name": "opp", "job_type": "Roof", "first_name": "test opp", "external_id": "0063t000015F7cbAAC", "email": "test@test.com", "country": "US", "city": "test" }, "owner": { "email": "ashish.bansal+2@expansionjs.com" } }
Sample Response
Sample Response: { "id": 482, "uuid": "13502bfc-ff0d-43b7-9f95-f3b277244d45", "contact_id": 138, "street": "test", "city": "test", "territory": "California, CA", "state": "AK", "postal_code": "78764", "country": "US","latitude": 30.27, "longitude": -97.74, "img_bbox": null, "sunroof_building_data": null, "external_id": "0063t000015F7cbAAC", "stage": "New", "stages": null, "job_stage": null, "source": "TEST SOURCE", "lead_source": null, "lead_sub_source": null, "aurora_roof_summary": null, "job_type": "Roof", "co_signer_email": null, "co_signer_name": null, "designs": null, "sales_rep_first_name": null, "sales_rep_last_name": null, "sales_rep_email": null, "sales_rep_phone": null, "sales_rep_his_number": null, "hoa_info": { "is_hoa": false }, "with_single_dxf": false, "vivint_order_id": null, "vivint_appointment_status": null, "vivint_appointment_end": null, "vivint_appointment_start": null, "vivint_offer_id": null, "checklist": null, "existing_roof_type": null, "roof_type": "Sloped", "roof_job_type": "existing_roof", "owner_id": 3, "utility_company_name": null, "custom_field_data": null, "manager_id": 4, "proposal_layout": "horizontal layout", "active": true, "deleted_at": null, "created_at": "2023-06-22T12:40:06.000000Z","updated_at": "2023-06-22T12:40:06.000000Z", "parent_id": null, "cover_image_id": null, "created_by": 3, "base_system_cost": 0, "battery_total": 0, "gross_amount": 14.04, "balance": 14.04, "net_payable_amount": 14.04, "net_amount": 14.04, "loan_amount": 0, "downpayment": 0, "downpayment_method": null, "dealer_fee": 0, "adders_total": 14.04, "discounts_total": 0, "incentives_total": 0, "commission": 0, "fed_tax_credit": 0, "state_tax_incentive": 0, "img_zoom_type": 1, "tool_type": "basic", "monthly_usage": null, "annual_usage": 0, "no_of_panels": 0, "no_of_batteries": 0, "system_size": 0, "total_square": 0, "gutter_line_ft": 0, "fence_line_ft": 0, "design_tool_platform": "Aurora Solar", "design_in_aurora": false, "docusign_public_proposal": false, "disclosure_data": null, "mounting_type": null, "owner_name": "ashish second", "manager_name": "ashish new", "finalizeData": [ { "id": 78, "proposal_id": 482, "materials": null,"gutters": null, "adders": [ { "name": "test roof adder", "type": "Gutter", "unit": "Flat", "unit_price": 10, "fixed_amount": 0, "qty": 1, "min_qty": 1, "length": null, "cost_total": 10, "auto_added": true, "already_added_margin": false, "notes": "test", "margin": 0, "db_margin": 0, "global_margin": 0 }, { "name": "test", "type": "Painting", "unit": "Sq Ft", "unit_price": 1, "fixed_amount": 1, "qty": 1, "min_qty": 1, "length": null, "cost_total": 2.0202020202020203, "auto_added": true, "already_added_margin": false, "notes": "1", "margin": 1, "db_margin": 1, "global_margin": 0 }, { "name": "Roof Distance auto adder with state", "type": "Other", "unit": "Flat", "unit_price": 1, "fixed_amount": 1,"qty": 1, "min_qty": 1, "length": null, "cost_total": 2.0202020202020203, "auto_added": true, "already_added_margin": false, "notes": "1", "margin": 1, "db_margin": 1, "global_margin": 0 } ], "discounts": null, "incentives": null, "quotes": null, "finalized_quote": null, "adders_total": 14.04, "discounts_total": 0, "incentives_total": 0, "base_system_cost": 0, "gross_amount": 14.04, "finalized_option": true, "new_roof": null, "created_at": "2023-06-22T12:40:06.000000Z", "updated_at": "2023-06-22T12:40:06.000000Z", "balance": 14.04, "net_amount": 14.04, "fed_tax_credit": 0, "loan_amount": 0, "dealer_fee": 0, "net_payable_amount": 14.04, "downpayment": 0, "downpayment_method": null, "exclude_auto_adders": null, "financed_quote": null } ], "savings": null, "public_proposal_url": "http://localhost:4200/public-proposal/13502bfc-ff0d-43b7-9f95-f3b277244d45", "owner": { "id": 3, "first_name": "ashish","last_name": "second", "email": "ashish.bansal+2@expansionjs.com", "username": "salesmanager", "phone": "+1 2356897845", "country_code": null, "role": "Design Engineer", "user_offices": [ { "office_name": "test", "office_id": 1, "role": "test", "user_id": 3, "user_name": "test", "organization_id": "1" }, { "office_name": "test", "office_id": 5, "role": "test", "user_id": 3, "user_name": "test", "organization_id": "1" }, { "user_id": 3, "user_name": "ashish second", "role": "Director/VP", "office_id": 65, "office_name": "Delfy-Sample Office Two two" } ], "his_num": null, "can_edit_price": true, "active": true, "is_sales_support": false, "manager_id": 4, "email_verified_at": null, "organization_id": 1, "avatar_id": null, "default_timezone": null, "last_loggedin": "2023-05-15 06:55:34", "ip_address": "172.18.0.1","deleted_at": null, "name": "ashish second", "default_designer": false, "display_email": "ashish.bansal+2@expansionjs.com" }, "manager": { "id": 4, "first_name": "ashish", "last_name": "new", "email": "ashish.bansal+4@expansionjs.com", "username": "ashishdem", "phone": "+1 2356897845", "country_code": null, "role": "Design Manager", "user_offices": null, "his_num": null, "can_edit_price": true, "active": true, "is_sales_support": false, "manager_id": null, "email_verified_at": null, "organization_id": 1, "avatar_id": null, "default_timezone": null, "last_loggedin": "2022-11-07 03:56:38", "ip_address": "172.18.0.1", "deleted_at": null, "name": "ashish new", "default_designer": false, "display_email": "ashish.bansal+4@expansionjs.com" }, "contact": { "id": 138, "first_name": "test opp", "last_name": "opp", "email": "test@test.com", "secret_string": "", "phone": null, "country_code": null, "street": "test", "city": "test", "territory": "California, CA","state": "AK", "postal_code": "78764", "country": "US", "owner_id": 3, "salesforce_response": null, "active": true, "deleted_at": null, "updated_at": "2023-06-22T12:40:05.000000Z", "name": "test opp opp", "sales_rabbit_lead_id": null, "lead_source": null, "lead_sub_source": null, "username": "test+12@test.com", "vivint_customer": false, "full_name": "Test Opp Opp" }, "finalize_data": [ { "id": 78, "proposal_id": 482, "materials": null, "gutters": null, "adders": [ { "name": "test roof adder", "type": "Gutter", "unit": "Flat", "unit_price": 10, "fixed_amount": 0, "qty": 1, "min_qty": 1, "length": null, "cost_total": 10, "auto_added": true, "already_added_margin": false, "notes": "test", "margin": 0, "db_margin": 0, "global_margin": 0 }, { "name": "test","type": "Painting", "unit": "Sq Ft", "unit_price": 1, "fixed_amount": 1, "qty": 1, "min_qty": 1, "length": null, "cost_total": 2.0202020202020203, "auto_added": true, "already_added_margin": false, "notes": "1", "margin": 1, "db_margin": 1, "global_margin": 0 }, { "name": "Roof Distance auto adder with state", "type": "Other", "unit": "Flat", "unit_price": 1, "fixed_amount": 1, "qty": 1, "min_qty": 1, "length": null, "cost_total": 2.0202020202020203, "auto_added": true, "already_added_margin": false, "notes": "1", "margin": 1, "db_margin": 1, "global_margin": 0 } ], "discounts": null, "incentives": null, "quotes": null, "finalized_quote": null, "adders_total": 14.04, "discounts_total": 0, "incentives_total": 0, "base_system_cost": 0, "gross_amount": 14.04,"finalized_option": true, "new_roof": null, "created_at": "2023-06-22T12:40:06.000000Z", "updated_at": "2023-06-22T12:40:06.000000Z", "balance": 14.04, "net_amount": 14.04, "fed_tax_credit": 0, "loan_amount": 0, "dealer_fee": 0, "net_payable_amount": 14.04, "downpayment": 0, "downpayment_method": null, "exclude_auto_adders": null, "financed_quote": null } ] }
Sample required validation error:
{ "message": "The given data was invalid.", "errors": [ "The customer.external id field is required." ], "status": 422 }
Sample validation error if customer owner detail not found
{ "message": "The given data was invalid.", "errors": [ "Error! Owner not found in SubHub. Please contact admin." ], "status": 422 }