Download PDF
Download page Generic API Operations in Salesforce (SOAP).
Generic API Operations in Salesforce (SOAP)
The following methods are provided in the Enterprise or Partner WSDL as generic core API calls that allow you primarily to perform CRUD actions on standard and custom Salesforce objects (also referred to as "data setup"). Refer to Salesforce Developer documentation for complete information on calling these methods. The examples provided on this page will aid you in performing CRUD actions and querying information from the Salesforce database to use in Conga API calls.
Retrieving the Server URL and Session Id (Login)
All API calls to your organization require you to authenticate with a valid Session Id.
Method: login()
Request: Pass the username and password for the user providing authentication.
Example Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com">
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<urn:login>
<urn:username>username</urn:username>
<urn:password>password</urn:password>
</urn:login>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the serverURL and session Id.
Example Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<loginResponse>
<result>
<serverUrl>serverURL</serverUrl>
<sessionId>sessionId</sessionId>
</result>
</loginResponse>
</soapenv:Body>
</soapenv:Envelope>
Retrieving an Opportunity
Method: query()
Request: Pass the session Id and Opportunity Name.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>session Id</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:query>
<urn:queryString>select id from opportunity where name='opportunityName'</urn:queryString>
</urn:query>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Opportunity Id and Size (indicates number of Ids)
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>4973</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result>
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:Opportunity">
<sf:Id>006Z000000Gr9ODIAZ</sf:Id>
</records>
<size>1</size>
</result>
</queryResponse>
</soapenv:Body>
</soapenv:Envelope>
Creating a Price List
Method: create()
Request: Pass the session Id and Price List Name.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com"
xmlns:urn1="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>session Id</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:create>
<urn:sObjects xsi:type="Apttus_Config2__PriceList__c"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>Price List Name</Name>
</urn:sObjects>
</urn:create>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Price List Id with status = 'true' if the Price List was successfully created.
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>4983</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<createResponse>
<result>
<id>a1DZ0000002i9IWMAY</id>
<success>true</success>
</result>
</createResponse>
</soapenv:Body>
</soapenv:Envelope>
Retrieving a Price List
Method: query()
Request: Pass the session Id and Price List Name.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>${#Project#SessionID}</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:query>
<urn:queryString>select Id from Apttus_Config2__PriceList__c where
name='priceListName'
</urn:queryString>
</urn:query>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Price List Id.
Example Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sf="urn:sobject.partner.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>637</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result xsi:type="QueryResult">
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:sObject">
<sf:type>Apttus_Config2__PriceList__c</sf:type>
<sf:Id>a1DZ0000002mg5nMAA</sf:Id>
</records>
<size>1</size>
</result>
</queryResponse>
</soapenv:Body>
</soapenv:Envelope>
Creating a Product Category
Method: create()
Request: Pass the session Id, Category Name, and Category Label.
Example Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com" xmlns:urn1="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>session Id</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:create>
<urn:sObjects xsi:type="Apttus_Config2__ClassificationName__c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>Category Name</Name>
<Apttus_Config2__HierarchyLabel__c>Category Label</Apttus_Config2__HierarchyLabel__c>
</urn:sObjects>
</urn:create>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Category Id with status = 'true' if the Category was successfully created.
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>5011</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<createResponse>
<result>
<id>a0oZ0000002u94bIAA</id>
<success>true</success>
</result>
</createResponse>
</soapenv:Body>
</soapenv:Envelope>undefined</soapenv:Body>undefined</soapenv:Envelope>
Retrieving a Category
Method: query()
Request: Pass the session Id and Category Name.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>${#Project#SessionID}</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:query>
<urn:queryString>select Id, Name from Apttus_Config2__ClassificationName__c where
name='Category Name'
</urn:queryString>
</urn:query>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Category Id, Category Name, and Size (indicates number of Ids).
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>5017</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result>
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:Apttus_Config2__ClassificationName__c">
<sf:Id>a0oe0000005l37UAAQ</sf:Id>
<sf:Name>AutoQuoteOfferings</sf:Name>
</records>
<size>1</size>
</result>
</queryResponse>
</soapenv:Body>
</soapenv:Envelope>undefined</soapenv:Body>undefined</soapenv:Envelope>undefined</soapenv:Envelope>
Creating a Standalone Product
Method: create()
Request: Pass the session Id, Product Name, and Configuration Type.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com"
xmlns:urn1="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>${#Project#SessionID}</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:create>
<urn:sObjects xsi:type="Product2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>${#Project#createStandloneProductName}</Name>
<Apttus_Config2__ConfigurationType__c>Standalone</Apttus_Config2__ConfigurationType__c>
</urn:sObjects>
</urn:create>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Product Id with status = 'true' if the Product was successfully created.
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>5033</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<createResponse>
<result>
<id>01tZ0000004ypoaIAA</id>
<success>true</success>
</result>
</createResponse>
</soapenv:Body>
</soapenv:Envelope>
Retrieving a Standalone Product
Method: query()
Request: Pass the session Id and Product Name.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>${#Project#SessionID}</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:query>
<urn:queryString>select Id, Name from Product2 where name='Standalone Product Name'</urn:queryString>
</urn:query>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Standalone Product Id, Product Name, and Size (indicates the number of Ids).
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:partner.soap.sforce.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sf="urn:sobject.partner.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>638</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result xsi:type="QueryResult">
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:sObject">
<sf:type>Product2</sf:type>
<sf:Id>01tZ0000004lUXeIAM</sf:Id>
<sf:Name>Auto_API_StandaloneProduct3</sf:Name>
</records>
<size>1</size>
</result>
</queryResponse>
</soapenv:Body>
</soapenv:Envelope>
Creating a Bundle Product
Method: create()
Request: Pass the session Id, Product Name, and Configuration Type.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com"
xmlns:urn1="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>${#Project#SessionID}</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:create>
<urn:sObjects xsi:type="Product2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>Bundle Product Name</Name>
<Apttus_Config2__ConfigurationType__c>Bundle</Apttus_Config2__ConfigurationType__c>
</urn:sObjects>
</urn:create>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Product Id with status = 'true' if the Bundle Product was successfully created.
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>5033</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<createResponse>
<result>
<id>01tZ0000004yrtyaIAA</id>
<success>true</success>
</result>
</createResponse>
</soapenv:Body>
</soapenv:Envelope>
Retrieving a Bundle
Method: query()
Request: Pass the session Id and Product Name.
Example Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>00DZ000000NAEIA!ASAAQHmIRqgn4R9Oi1yQjWTIVk4UZmsDe_.eK0Z9z6qLij7Tu.L_Yo8dRA_p8OmhKMeRs4uzCZTadIgQ9fEbDKciXEQYRyaA</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:query>
<urn:queryString>select Id, Name from Product2 where name='Bundle Product Name'
</urn:queryString>
</urn:query>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Bundle Id and Product Name, and Size (indicates the number of Ids).
Example Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sf="urn:sobject.partner.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>643</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result xsi:type="QueryResult">
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:sObject">
<sf:type>Product2</sf:type>
<sf:Id>01tZ0000004lUXtIAM</sf:Id>
<sf:Name>Auto_API_BundleProduct1</sf:Name>
</records>
<size>1</size>
</result>
</queryResponse>
</soapenv:Body>
</soapenv:Envelope>
Creating an Option Product
Method: create()
Request: Pass the session Id, Product Name, and Configuration Type.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com"
xmlns:urn1="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>${#Project#SessionID}</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:create>
<urn:sObjects xsi:type="Product2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>Option Product Name</Name>
<Apttus_Config2__ConfigurationType__c>Option</Apttus_Config2__ConfigurationType__c>
</urn:sObjects>
</urn:create>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Product Id with status = 'true' if the Option Product was successfully created.
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>5033</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<createResponse>
<result>
<id>01tZ0008984yrterIAA</id>
<success>true</success>
</result>
</createResponse>
</soapenv:Body>
</soapenv:Envelope>
Retrieving an Option
Method: query()
Request: Pass the session Id and Product Name.
Example Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>00DZ000000NAEIA!ASAAQHmIRqgn4R9Oi1yQjWTIVk4UZmsDe_.eK0Z9z6qLij7Tu.L_Yo8dRA_p8OmhKMeRs4uzCZTadIgQ9fEbDKciXEQYRyaA</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:query>
<urn:queryString>select Id, Name from Product2 where name='Option Product Name'
</urn:queryString>
</urn:query>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Option Id, Product Name, and Size (indicates the number of Ids).
Example Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sf="urn:sobject.partner.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>648</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result xsi:type="QueryResult">
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:sObject">
<sf:type>Product2</sf:type>
<sf:Id>01tZ0000004lUYNIA2</sf:Id>
<sf:Name>Auto_API_OptionProduct2</sf:Name>
</records>
<size>1</size>
</result>
</queryResponse>
</soapenv:Body>
</soapenv:Envelope>
Retrieving Component Id for a Product, Bundle, or Option
Method: query()
Request: Pass the session Id and Product Id.
Example Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<urn:sessionId>${#Project#SessionID}</urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<urn:query>
<urn:queryString>select Id from Apttus_Config2__ProductOptionComponent__c where
Apttus_Config2__ComponentProductId__c = 'Product Id'</urn:queryString>
</urn:query>
</soapenv:Body>
</soapenv:Envelope>
Response: Returns the Component Product Id.
Example Response
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:partner.soap.sforce.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sf="urn:sobject.partner.soap.sforce.com">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>649</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result xsi:type="QueryResult">
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:sObject">
<sf:type>Apttus_Config2__ProductOptionComponent__c</sf:type>
<sf:Id>a1YZ0000003pII9MAM</sf:Id>
</records>
<size>1</size>
</result>
</queryResponse>
</soapenv:Body>
</soapenv:Envelope>