This example shows how to create a new product together with a tax code and associate them to a tag.


To try out the steps in this section, install Postman and open the Postman collection we have prepared for you. In the collection, open the Create a product and tax code, associate them to a tag request and replace variables with actual values.

Download Postman Open Postman Collection


Step 1: Create a POST request

Configure your application to send the following composite request:

POST https://{your_Salesforce_domain}/services/data/v44.0/composite

where


Step 2: Configure authorization

Make sure your request uses OAuth 2.0. Authorization data must be included in the request URL.


Step 3: Configure headers

Configure the request headers to include the following key-value pairs:

Key Value
Authorization Bearer {access_token}
Example:
Bearer 00D0N000000h6Yq!AR0AQObORnk9lCldrMydk1Y3cuyqpscqcU.T1xvoM1uWkWrr8MLu2ehJLKp7Mz3Qeu.eQGI13qlH_HfGEEMxV_J8FdI1TwdR
Content-Type application/json

Step 4: Add JSON payload

Add your JSON payload to the request body. For example:

{
    "allOrNone" : true,
    "compositeRequest" :
    [
        {
            "method" : "GET",
            "url" : "/services/data/v44.0/sobjects/Sage_COR_Company__c/a1C0Y0000011P37UAE?fields=Legislation__c,Id",
            "referenceId" : "Company"
        },
        {
            "method" : "GET",
            "url" : "/services/data/v44.0/sobjects/Sage_ACC_Dimension__c/UID__c/Product/?fields=Id",
            "referenceId" : "ProductDimension"
        },
        {
            "method" : "POST",
            "url" : "/services/data/v44.0/sobjects/Product2",
            "referenceId" : "MyNewProduct",
            "body" : {
                "Name" : "My New Product"
            }
        },
        {
            "method" : "POST",
            "url" : "/services/data/v44.0/sobjects/Sage_TAX_Tax_Code__c/",
            "referenceId" : "MyNewTaxCode",
            "body" : {
                "Name" : "MyNewTaxCode",
                "Code__c": "123456",
                "Legislation__c": "@{Company.Legislation__c}",
                "UID__c": "AvaTax_123456"
            }
        },
        {
            "method" : "POST",
            "referenceId" : "MyNewProductTag",
            "url" : "/services/data/v44.0/sobjects/Sage_ACC_Tag__c/",
            "body" : {
                "Name" : "MyNewProduct",
                "Dimension__c": "@{ProductDimension.Id}",
                "Company__c": "@{Company.Id}",
                "Product__c": "@{MyNewProduct.id}",
                "Tax_Code__c": "@{MyNewTaxCode.id}"
            }
        }
    ]
}

In this example payload:

Consider the following behavior of Salesforce:

NOTE: We use the referenceId parameter in the fifth request just because it must be present in each request that’s part of a composite request.


Step 5: Send your request

Send your request to create the product, tax code, and tag.