All Collections
Release Notes & Updates
Upgrade ServiceBridge Public API to the 2.0 version
Upgrade ServiceBridge Public API to the 2.0 version

A technical article helping engineering teams to upgrade to the latest ServiceBridge Public API version.

Product Education Team avatar
Written by Product Education Team
Updated over a week ago

ServiceBridge will announce a number of improvements to Customer Locations and Contacts:

  • Set a Billing Location and a default Service Location for a customer.

  • Assign any Contact to multiple Locations.

  • Set a primary Contact on a Location, not on the Customer record.

  • Create and assign roles to a Contact for each Location they are attached to.

  • Set and see billing information on a job.

  • QuickBooks Online will sync to ServiceBridge Customer Billing Address and Shipping Address.

Please check out this article and if you would like to learn more about these improvements.

To support the upcoming improvements to Customer Locations and Contacts, ServiceBridge Public API will be updated with the 2.0 version. The existing Public API versions 1.0 and 1.1 are still supported, though to access new Customer Locations and Contacts functionality we ask to switch to the Public API 2.0 version.

Below are listed the Public API changes showing the API call request and response differences. Full specification of APIs is available here.

CONTACTS

GET /Contacts
GET /Contacts/{id}

Main changes:

  • Removed the Location reference.

  • Added ContactLocations list.

POST /Contacts

Main changes:

  • Removed the Location reference from request and response.

  • Added the Customer and Locations references into request.

PUT /Contacts/{id}

Main changes:

  • Removed the Location reference from request and response.

LOCATIONS

GET /Locations
GET /Locations/{id}

Main changes:

  • Added new includeContacts parameter to the request.

  • Added IsBillingLocation property.

  • Added list of Contacts.

GET /Locations/{locationId}/Contacts

Main changes:

  • A new method from the 2.0 version. The response returns all contacts, which are assigned to the location.

PUT /Locations/{locationId}/Contacts/{contactId}

Main changes:

  • A new method from the 2.0 version. Assigns a contact to the provided location.

DELETE /Locations/{locationId}/Contacts/{contactId}

Main changes:

  • A new method from the 2.0 version. Deletes a contact reference from the location.

CUSTOMERS

GET /Customers
GET /Customers/{id}

Main changes:

  • Removed the includeAllContacts and includeAllLocations filters from request.

  • Removed PrimaryLocation from the response. Instead of PrimaryLocation, the response returns BillingLocation and DefaultServiceLocation.

  • Removed Locations and Contacts lists from the response.

  • Added ThirdPartyBillPayer to the response. BillingLocation is null if ThirdPartyBillPayer is set and vice versa.

POST /Customers

Main changes:

  • Location related properties (e.g. LocationName, City, etc.) were moved under the DefaultServiceLocation and BillingLocation objects.

  • Contact related properties (e.g. FirstName, LastName, etc.) were moved under the PrimaryContact object in DefaultServiceLocation and BillingLocation.

  • The same changes are done in both request and response.

  • Removed Locations and Contacts lists from the response.

  • Added ThirdPartyBillPayer to both request and response. BillingLocation is null if ThirdPartyBillPayer is set and vice versa.

PUT /Customers/{id}

Main changes:

  • PrimaryLocationRef replaced with DefaultServiceLocationRef and BillingLocationRef in request.

  • Removed functionality to update Location and Contact metadata. Locations and Contacts should be updated via dedicated requests:
    PUT /Contacts/{id}
    PUT /Locations/{id}

  • The response will not have PrimaryLocation and PrimaryContact properties. These properties were replaced with DefaultServiceLocation and BillingLocation.

  • Removed Locations and Contacts lists from the response.

  • Added ThirdPartyBillPayer to both request and response. BillingLocation is null if ThirdPartyBillPayer is set and vice versa.

WorkOrders and Estimates

GET /WorkerOrders
​GET /WorkerOrders/{id}

GET /Estimates
​GET /Estimates/{id}

Main changes:

  • In response exposed new properties: BillingLocation and BillingContact

  • BillingLocation and BillingContact are empty if "Same as Service" is used

POST /WorkerOrders
​PUT /WorkerOrders

POST/Estimates
​PUT /Estimates

Main changes:

  • In response exposed new properties: BillingLocation and BillingContact

  • In requests If ThirdPartyBillPayer is provided, then BillingLocation and BillingContact are pre-filled from bill payer's billing location

  • If neither ThirdPartyBillPayer nor BillingLocation and BillingContact are provided, then BillingLocation and BillingContact are used same as service.

Did this answer your question?