Accelerator Salesforce OMS System API - Implementation Template

(0 reviews)

home

This API implementation template is a shared component of MuleSoft Accelerators, which accelerate the implementation of essential integration use cases.

The solution includes pre-built APIs, connectors, and integration templates that help unlock business-critical data from external systems and guide you in adopting best practices synthesized from thousands of customer implementations. Use these assets as is or extend them to meet your company’s unique needs.


Overview

This integration template implements the Accelerator Salesforce OMS System API specification.
The Accelerator Salesforce OMS System API is used to create purchase orders using High Scale Orders APIs provided by Salesforce Order Management System (OMS). It supports the following functionality:

  • Create Purchase Orders
  • Create Shipments for Fulfillment Orders
  • Create Payments for Invoices

Getting started

bulb.png 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

This implementation template has the following requirements:

  • Access to Salesforce OMS

The Accel B2B Common Resources asset contains a Postman collection, which can be used to setup Salesforce OMS with appropriate flows and custom fields that are needed for the use case.

Please review the use cases described on the MuleSoft Accelerator for B2B solution pages for more information about dependencies on other APIs and services.

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-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 NameDescription
api.autodiscoveryIDRequired if using API Manager to secure this API
sfdc.host-urlHost Url for Salesforce OMS Instance
sfdc.usernameUsername of user to connect to Salesforce OMS
sfdc.passwordPassword of user to connect to Salesforce OMS
sfdc.client-idConsumer Key of OAuth user to connect to Salesforce OMS
sfdc.client-secretConsumer Secret of OAuth user to connect to Salesforce OMS

Implementation notes

  1. A Business Account with appropriate custom fields needs to be created and a B2B_EDISenderCode__c field will be used for matching an account.
  2. The Account has been pre-configured in OMS with EDISenderCode, Sales Channel, Store, and Currency. It should also have appropriate Payment Methods like Digital Wallets/CreditCard Payment types configured.
  3. The Purchase Orders endpoint implementation picks the productDeliveryLocation for purchaseOrderProducts if it exists, otherwise will use orderDeliveryLocation to deliver the products.
  4. The Payments endpoint implementation only supports the first PaymentApplication object in the list. The invoiceId field is matched with DocumentNumber field on Invoice sObject instead of InvoiceNumber.
  5. The implementation uses default values for configurations such as Delivery Method, Payment Gateway Method, and Payment Type; these configurations can be updated as per the OMS Environment.

Testing

Use Advanced Rest Client or Postman to send a request over HTTPS. The template includes a Postman collection in the src/test/resources folder. Update the collection variable(s) after successful import.

Additional resources

  • The Data mappings tab describes how the request and response data structures are mapped between the API interface and the High Scale Orders API.
  • Refer to the Accelerators documentation home for more information about the MuleSoft Accelerators.

Reviews

TypeTemplate
OrganizationMulesoft Inc.
Published by
MuleSoft Solutions
Published onMay 25, 2024
Asset overview

Asset versions for 1.1.x

Asset versions
VersionActions
1.1.1