What are Common Resources?
Common resources provide a common API wrapper around multiple vendor endpoints that represent the same class of data: for example /Contacts. Common resources provide a one-to-many coding experience for developers. You code against a common API, and we take care of the plumbing of routing and mapping your requests to a number of different REST, SOAP, SDK and DB driven endpoints.
Common resources put your data models at the center of your application ecosystem and enable you to manage the data you care about in the structure that is best for your application or business.
Common resources provide a canonicalized view of your data objects while eliminating the need for point-to-point mapping of data to each and every new application. Our Common resources leverage enriched API models to make it easier to map from your defined resources, to the endpoints you require.
In the illustration below, /myCompany is a RESTful resource containing fields that are mapped to similar fields at each adapter. Instead of mapping point-to-point, you just map to the single Common resource. In some cases, you don't have to map fields at all by using one of our prebuilt resources.
After mapping the common resource to adapters, we'll transform the adapter resources to a consistent request and response payload. You can also transform payload types and values. For example, one system may use High, Medium and Low while another uses 1, 2 or 3 to denote severity level.
Types of Common Resources
You'll encounter two types of Common resources: templated resources and resources that you have either built yourself or customized based on a prebuilt resource. Prebuilt resources provide a template for common mappings to adapters. You can clone the prebuilt resources to customize them for your needs, adding or removing , fields, and mappings. Templated resources include:
- /contacts mapped to HubSpot CRM, Hubspot Marketing, Netsuite CRM 2016 Release 1, Bullhorn, SugarCRM, Salesforce Sales Cloud, and Oracle Eloqua
- /leads mapped to Salesforce Sales Cloud, Marketo, HubSpot CRM, and SugarCRM
- /companies mapped to HubSpot CRM, Salesforce Sales Cloud, Oracle Eloqua, Microsoft Dynamics CRM, Hubspot Marketing, and SugarCRM
You define and map fields in common resource within a hierarchy that includes four levels: system, organization, account, and instance. Only prebuilt resources have fields and mappings at the system level. When you clone a prebuilt resource, the fields become mapped at the account level. Only users at the organization level or account level can create or clone common resources, while users at other levels can configure the common resource for specific transformations.
- The system level is the highest level and reserved for prebuilt resources.
- The organization is the highest level available to users. A common resource built at this level creates default mappings for all accounts within your organization.
- The account is the next highest level. Accounts typically represent your customers. Transformations at the account level are shared by all users associated with a specific account.
- The instance is the most granular level. Transformations that you or other users create at this level apply only to a specific adapter instance.
To help you understand Common Resources, review the definitions in this section.
- common resource
A custom object, such as a contact, employee, or product that represents the source of truth for how your company views data about that object. Fields within the object are mapped to similar objects at API providers, enabling you to create integrations to the custom object.
- Relates to transforming information from vendors to a common language within Sugar. In relation to Common Resources, normalization is the transformation of related fields and objects in multiple adapter resources to a single definition of the field or object within a Common Resource.
- Data within a resource. Fields mapped between a Common Resource and an adapter instance result in a transformation of the adapter fields.
- The process of associating objects within a vendor's resource to objects in a Common Resource so the vendor objects can be transformed.
- An object or entity that can be accessed via a URI request. Similar resources, such as Accounts, Contacts, and Customers appear in multiple APIs. Common Resources at Sugar normalize these varied resources.
- The result of mapping an API provider resource to a Common Resource.
- adapter instance resource
- The resources available to the adapter instance through its API. You map the data from the adapter instance resources to the data in your Common Resource to create a transformation.