Overview:
The Developer API - Update Project Endpoint allows you update existing project and job details via an API endpoint. This allows you to programmatically update key details about a project within Supermove from other external systems.
Prerequisites:
Before using the Developer API - Update Project Endpoint, ensure the following:
No changes made via this api can be rolled back. That means if you make changes that overwrite accurate data, you must manually revert the changes yourself.
Your website or system must be able to send a webhook (an automatic message) to our endpoint in valid JSON format with the header
Content-Type: application/json.You must include the Project UUID and/or Job UUIDs as part of the payload when updating details for each respective part of the project.
-
Ensure your payloads match the JSON schema outlined below for the request to be processed correctly.
How to Enable in Supermove:
Go to Company Settings in Supermove.
Click Lead Providers (see screenshot Above).
Click the + Add Lead Provider button.
Select Developer API - Update Project Endpoint from the list.
Add a Name and Description for this endpoint. You can configure multiple Developer API endpoints, so these fields will help differentiate between them.
Click Copy URL. This URL is unique to your company and account. All payloads sent to the endpoint will be associated with your Supermove account. No further API keys or organization identifiers are needed.
Send Payloads to the URL. Please see below for an example payload and detailed information on each key and value.
How to Debug Update Payload Processing:
Please see Debugging Inbound Leads - Link- to find the Lead Provider Logs. All errors in processing update requests will be surfaced here.
Example JSON Structure:
{
"project_uuid": "cf67aa77-fc75-4735-b691-3d0efe26b435",
"project": {
"salesperson": {
"email": "new-office@supermove.test"
},
"coordinator": {
"email": "new-office@supermove.test"
},
"client": {
"name": "new client name",
"notes": "new client notes",
"primary_contact": {
"full_name": "new client contact",
"email": "new-client@supermove.test",
"phone_number": "5556667777"
}
},
"billing_client": {
"name": "new billing client name",
"notes": "new billing client notes",
"primary_contact": {
"full_name": "new billing contact",
"email": "new-billing@supermove.test",
"phone_number": "7778889999"
}
},
"name": "new name",
"description": "new description",
"referral_source": "new referral source",
"referral_details": "new referral details",
"tags": {
"PREVIOUS_CLIENT": false,
"VIP_CUSTOMER": true
},
"jobs": {
"d4c1e3d7-2ea4-4b73-ad1a-a1faf84fb2ef": {
"name": "new job name",
"description": "new job description",
"start_time_1": "2100",
"start_time_2": "2130",
"additional_notes": "new job additional notes",
"dispatch_notes": "new job dispatch notes",
"office_notes": "new job office notes",
"note_to_customer": "new job note to customer",
"note_from_customer": "new job note from customer",
"date": "2025-01-02",
"locations": [
{
"name": "Oracle Park",
"address": "1 Oracle Park",
"city": "San Francisco",
"zip_code": "94105",
"unit": "C",
"floor_number": 4,
"notes": "Long walk",
"has_elevator": true,
"has_long_walk": true,
"stair_count": 20,
"stair_description": "Many stairs",
"elevator_reservation_time": "12:00AM",
"building_type": "Office",
"state": "CA",
"country": "US"
}
]
}
}
}
}Processing Notes:
- Project UUID - The Project UUID is required for processing. If the Project UUID is wrong or does not exist, the update will fail. All project data can be updated without job UUIDs.
- Project Information - Only include information you wish to update. All items included in the payload will be updated with the information provided. If you do not wish to update a specific part of the payload, please omit it from the JSON sent to this endpoint.
- Tags - Project and Job tags have a different format from the inbound leads being sent as part of a new project. Tags must be sent as an object with the Tag's Identifier as the key and the true or false as the value. Both Project and Job Tags must exist in the account for the update to be successful.
- Jobs: Jobs are sent in this payload as an object. The Job UUID is the key and the values you wish to update are sent as part of an object. Keys and values conform the JSON structure of jobs data in the Developer API. If the job UUID is wrong or missing, the update will fail.
- Job Location Information: The array of locations sent as part of an update request will overwrite the entire location's array on the job. They can not be edited in place. If you need to update any part of the locations, you must send in the full list of locations with all relevant details.
Comments
0 comments
Please sign in to leave a comment.