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.
<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.
<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.
<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)
<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.
<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.
<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.
<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.
<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, CategoryName, and Category Label.
<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.
<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.
<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).
<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, ProductName, and Configuration Type.
<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.
<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.
<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, ProductName, and Size (indicates the number of Ids).
<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, ProductName, and Configuration Type.
<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.
<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.
<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).
<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, ProductName, and Configuration Type.
<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.
<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.
<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).
<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.
<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.
<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>