MFG Salesforce Customers System API - Implementation Template
home
This asset is a component of the MuleSoft Accelerator for Manufacturing, which accelerates the implementation of essential integration use cases.
The solution unlocks rich data between SAP, Salesforce Manufacturing Cloud, Salesforce Rebate Management, OSIsoft PI System, Amazon Redshift, Tableau, and Salesforce Service Cloud with pre-built APIs, templates, reference architecture, and additional technical assets for manufacturing companies. Our foundational assets are expertly designed to jump start your top integration and business initiatives so that IT teams can spend more time innovating and less time building from scratch.
Overview
This integration template implements the Manufacturing Salesforce Customers System API specification. This is a System API for Salesforce which can be used to query, create and update Customers in Salesforce Manufacturing Cloud.
Getting started
The Getting Started with MuleSoft Accelerators guide provides general information on getting started with the accelerator components. This includes instructions on setting up your local workstation for configuring and deploying the applications. |
Once your workstation has been set up and the application template imported into Anypoint Studio, proceed with the Prerequisites section.
Prerequisites
Creating Custom Fields in Salesforce Org
These instructions assume an Org was created in Salesforce with access to Account and Contact object.
1) Click on Salesforce Setup icon and select 'Developer Console' -> It will open a new console window
2) Go to File -> New -> Apex class and create a new apex class
3) Copy the code from "/src/test/scripts/MetadataUtility.apxc" to the above apex class and save
4) Go to Debug -> Open Execute Anonymous Window. Execute the scripts one by one from '/src/test/scripts/CreateCustomField.txt'
5) The service account user profile configured in "mfg-salesforce-customers-sys-api" should have access to the custom fields created using above steps.
Adding MailingAddress to Person Account Details page in Salesforce Org
The following instructions assume you have already Salesforce Org created and PersonAccount is enabled. Perform the following actions to enable MailingAddress on PersonAccount detail page.
1) Open the Salesforce SetUp -> Object Manager -> Search for 'PersonAccount' and Select
2) From the menu on the left Click on 'Page Layouts' -> Select the Page layout that is assigned to the user profile logged in
3) Click on 'Fields' tab on the palette and it shows all the available fields
4) Search for 'MailingAddress'. Drag from the palette and drop it in the 'Address Information' section of the layout and click on 'Save'
Creating Contacts that aren't associated with an Account
These instructions assume an Org was created in Salesforce with access to Contact object.
1) From the object management settings for contacts, go to Page Layouts.
2) Select the layout you want to edit.
3) Find the 'Account Name' field on the layout and hover over it. Then, click the wrench icon to show the field properties.
4) Deselect the Required checkbox and confirm your changes.
Tip: Instead of adjusting permissions for each field as you go, if you are only making them available to one or two profiles it may be more efficient to go to the Users -> Profiles -> {profile} -> Object Settings
for each object and adjust the permissions for multiple fields at once.
Deployment
Each Accelerator implementation template in Exchange includes Bash and Windows scripts for building and deploying the APIs to CloudHub. These scripts depend on repositories, global settings, deployment profiles, and associated properties configured in the Maven settings.xml
file. In particular, make sure the common properties for your environment have been provided in the CloudHub-DEV
profile (e.g., Anypoint Platform client ID and secret).
For additional details, please refer to the Application Deployment section of the Getting Started Guide.
Preparation
Ensure the Maven profile CloudHub-MFG-DEV
has been properly configured in your settings.xml
file. In particular, make sure the common properties for your environment have been provided (e.g., Anypoint Platform client ID and secret).
Required property overrides
Many templates can also be run from Anypoint Studio without having to customize the Run/Debug profiles. However, some templates make use of hidden deployment properties to protect sensitive information (e.g., passwords and secret keys). These properties must be supplied to the runtime by updating the configuration profile and adding them as VM arguments. At a minimum, the following properties must be customized to reflect the target deployment environment.
Property Name | Description |
---|---|
api.autodiscoveryID | Required if using API Manager to secure this API |
sfdc.username | Salesforce Instance client user Name |
sfdc.token | Salesforce Instance client token |
sfdc.password | Salesforce Instance client password |
sfdc.client-id | The Consumer Id of the Connected App in Salesforce |
sfdc.client-secret | The Consumer secret of the Connected App in Salesforce |
Additional resources
- The Data mappings tab describes how the request and response data structures are mapped between API interface and Salesforce Manufacturing Cloud.
- Refer to the Accelerators documentation home for more information about the MuleSoft Accelerators.