Application Composer Series: Custom Object Web Services
By Richard Bingham-Oracle on Apr 17, 2014
This is the first post in a new series that is focusing on getting the most from the Application Composer tool available in Fusion CRM Applications, including Sales Cloud. We've already provided a few related resources, such as a groovy whitepaper, a dedicated video channel, and some other related posts; however this series will explain some of the more complex parts of using Application Composer for customization and extension. As always this will be driven from what we see customers and partners doing.
When you create a custom Business Object it is usually for storing additional entity data inside your Fusion CRM system, to satisfy a particular business need. A commonly used example is a trouble ticket, where customers call in to report problems or complaints which your sales support team need to address before they start to impact your sales pipeline. Obviously this doesn't replace any existing functionality, but allows extension of the information available in the system. So just like the standard Business Objects, accessing their data in real-time from remote systems is a common requirement for integration purposes, and it is the Web Services platform that supports this.
The Custom Object Web Service Explained
As of Release 8 there are six Web Services available for interacting with custom objects created in each of the applications shown in the drop-down box in Application Composer. These are both publicly exposed and backward compatibility assured. The screenshot from OER below illustrates those available:
Each service has the same generic operations, with the most useful ones being: createEntity, getEntity, findEntity, updateEntity, and deleteEntity. The difference between getEntity and findEntity is that the first uses an id and the second supports a broader search criteria. Each request payload specifies both the object name (using the '[object]_c' API value) as well as the specific fields and values.
The WSDL documents for these services are available using the following URL's:
In addition, for payload parameter details you can look at the XSD documents for these, available at the following URLs:
Rather than provide a lengthy description, please review the following three minute video from our YouTube Channel showing use of the web service for a custom object showing use of both the createEntity and the findEntity operations.
Custom Child Objects
If you are working with Custom Objects that have relationships with other objects (e.g. as a child of an Opportunity) then your payload obviously needs to include a reference to its parent. This is done by including the primary key ID field of the parent in the payload of the child (e.g. for the createEntity operation). If you've not seen it, check out this recent post that explains some ways to get these internal ID values. The example provided in the Sales Cloud documentation does cover where to put the key to the parent object value (i.e. the Opportunity_Id_Opty2Quote element) when creating a custom child object.