Skip to main content

Latest Post

Custom Metadata Types vs Custom Settings vs Custom Labels

  Custom Metadata Types vs Custom Settings vs Custom Labels 💬 In plain words:  Three lookalikes: Custom Metadata = configuration that DEPLOYS with your code (best for app settings). Custom Settings = org/user-specific values, changeable at runtime (hierarchy type is great for bypass switches). Custom Labels = translatable text for the UI. 📌 Example:  API endpoint URLs per environment → Custom Metadata (deploys with code, sandbox vs prod values). A 'Bypass_Automation__c' checkbox an admin flips during data load → hierarchy Custom Setting. The word 'Submit' translated to Hindi → Custom Label. 🎬 Real-Life Example: The Fee Table Trapped Inside Code  Skyline charges a different delivery fee per city. Apex needs those rates on every booking. The Old/Bad Way:  if (city == 'Delhi') fee = 50. Else if (city == 'Mumbai') fee = 65. … Every rate change is a code change, a test run, and a deployment. Why this is bad:  Business data is trappe...

Apex Code for Receiving JSON Payload and Inserting Data in Salesforce via SOAP Web Service

Introduction:

Salesforce provides powerful integration capabilities, allowing you to receive JSON payloads through a SOAP web service and seamlessly insert the data into your Salesforce org. In this blog post, we will explore how to write Apex code to receive a JSON payload and use it to insert records into Salesforce using a SOAP web service.


Step 1: Define the SOAP Web Service Endpoint and Request


To receive the JSON payload, you need to define a SOAP web service endpoint and create a corresponding request in Salesforce. This can be achieved by creating a global Apex class with a web service method decorated with the @WebService annotation. The method should accept a JSON payload as a string parameter.


Step 2: Parse and Deserialize the JSON Payload


Inside the web service method, you need to parse and deserialize the JSON payload into an Apex object. Salesforce provides the JSON class that allows you to parse JSON strings easily. You can then use the deserialize method to convert the JSON string into an Apex object.


Step 3: Handle Exceptions and Response


It's essential to handle any exceptions that may occur during the process and provide a response to the sender. You can catch exceptions using try-catch blocks and return an appropriate response indicating the success or failure of the operation.


Apex Class:

global class JSONWebService {

    webservice static void processJSON(String jsonString) {

        // Parse the JSON payload

        JSONParser parser = JSON.createParser(jsonString);

        

        // Variables to store the field values

        String firstName;

        String lastName;

        String email;

        

        while (parser.nextToken() != null) {

            if (parser.getCurrentToken() == JSONToken.START_OBJECT) {

                while (parser.nextToken() != JSONToken.END_OBJECT) {

                    String fieldName = parser.getCurrentName();

                    parser.nextToken();

                    

                    if (fieldName == 'firstName') {

                        firstName = parser.getText();

                    } else if (fieldName == 'lastName') {

                        lastName = parser.getText();

                    } else if (fieldName == 'email') {

                        email = parser.getText();

                    }

                }

            }

        }

        

        // Create a new Contact record

        Contact newContact = new Contact();

        newContact.FirstName = firstName;

        newContact.LastName = lastName;

        newContact.Email = email;

        

        // Insert the Contact record

        insert newContact;

    }

}


Conclusion:


By leveraging the power of Apex, you can receive JSON payloads through a SOAP web service and seamlessly insert the data into Salesforce. The outlined steps provide a foundation for processing JSON payloads, parsing and deserializing the data, and performing insert operations.


Remember to secure your web service endpoint and handle exceptions effectively to ensure a reliable and secure integration process. With the flexibility and extensibility of Apex, you can customize the code to fit your specific requirements and extend it to handle more complex scenarios.


Salesforce's integration capabilities enable seamless communication between external systems and your Salesforce org, facilitating efficient data exchange and streamlining business processes.


References:


- Salesforce Apex Developer Guide: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/

- Salesforce JSON Class Documentation: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_System_Json.htm

Popular Posts

Salesforce LWC Code for Multi-Select Lookup

Introduction: In Salesforce Lightning Web Components (LWC), implementing a multi-select lookup field can enhance the user experience and provide greater flexibility for selecting multiple related records. In this blog post, we will walk through the process of creating a multi-select lookup field using LWC. We will cover the required code snippets and provide step-by-step instructions to help you implement this functionality in your Salesforce org.