Web Services API Preview Winter 08
Overview
The Winter '08 release, including the Force.com API, contains new features and bug fixes that improve the capabilities of applications that leverage the Force.com platform. Considerable effort has been made to ensure backwards capability with the API version 10.0 for applications that have been written against previous versions of the API, starting with API 2.5. Note: older XML-RPC APIs remain unchanged with this release.
The new API provides a number of powerful enhancements that further improve any integration already in place between Salesforce and your other systems. For additional information on the Winter '08 release, please see the Winter '08 Admin Preview, or visit the Apex Wiki. After version 11.0 has been released to your server, see the Apex Web Services API Developers Guide.
Things to note:
After the Winter '08 release, the 10.0 version of the WSDL file will not be available. Instead, all requests for a WSDL will return an 11.0 version. Please remember to save WSDL files with your project, as the enterprise WSDL is custom to your organization. Salesforce.com maintains backwards compability on previous versions of our APIs in accordance with our stated support policy. Salesforce.com recommends that developers migrate to the latest version of the API as often as is feasible in order to receive the benefit of new enhancements from release to release. Developers with integrations on API versions prior to version 2.5 should be planning to migrate to the most recent API in preparation for the eventual end of support for the older API versions.
Platform Changes
- The AJAX Toolkit and Web services API have been updated to 11.0.
- Apex Code works with the API. For more information, see the Apex Code Language Reference at Apex Code Language Reference - Web Services API Calls for Apex Code.
- The Force.com IDE has been updated and will be available in November '07. For details, see Force.com IDE.
- Developers of AppExchange packages can specify whether or not to restrict the API access of components in the package for greater security. Installers of AppExchange packages can view the API access given to components of a package they are installing, and after installation can modify that access.
- In SOSL you can now set the LIMIT clause on individual objects. Setting individual object limits allows you to prevent results from a single object using up the maximum query limit before other objects are returned.
- In SOSL you can now search solutions, products, and documents with other objects in a single query. Prior to this release you could only search those objects separately.
Metadata API - GA
The metadata API introduced in Summer 07 is now generally available. The create, update, delete and checkStatus methods are generally available.
Note: The metadata API has expanded to include a new declarative model that is described below. This means that part of the metadata API is in Developer Preview and the parts mentioned above are GA.
Declarative Metadata API—Developer Preview
Three new declarative metadata API calls, describeMetadata, deploy and retrieve, are available in the Developer Preview. These calls work with file representations of a number of components in an organization. You can now retrieve packages or components from an organization as text files, manipulate the files, and deploy the changed packages or components. Although most developers should use Eclipse or Ant instead of these API calls, if you require lower-level access, you can use deploy and retrieve.
Note: Because this is a Developer Release, a migration path may not be supplied to the General Availability (GA) release.
For more information, see API Metadata Documentation.
New Calls
No new calls are being introduced, except for the the new calls for Metadata listed above.
New Objects
- ForecastShare - Represents the sharing of a forecast at a given role and territory.
- PartnerNetworkConnection - Represents a Salesforce to Salesforce connection between Salesforce organizations.
- AccountHistory - Represents the history of changes to the values in the fields of an account.
- ContactHistory- Represents the history of changes to the values in the fields of an contact.
- CampaignOwnerSharingRule - Represents the rules for sharing a campaign with Users other than the owner or anyone above the owner in the role hierarchy.
- CampaignShare - Represents a sharing entry on a Campaign.
- QuantityForecastHistory - Represents the historical information about quantity-based forecasts that have been submitted.
New or Changed Fields
- RunTestResult has new method, getSuccesses, which returns a new object, RunTestSuccess.
- RunTestResult has a new field, TotalTime, which returns the total amount of processor time spent on that test.
- RunTestFailure now has new field, Time, which returns the amount of processor time spent in that area.
- The sendEmail call includes the following new arguments:
- documentAttachments: An array listing the ID of each Document you want to attach to the email. You can attach multiple documents as long as the total size of all attachments does not exceed 10 MB. (For single email messages only.)
- fileAttachments: An array listing the filenames of the binary and text files you want to attach to the email. You can attach multiple files as long as the total size of all attachments does not exceed 10 MB. (For single email messages only.)
- senderDisplayName: The name that appears on the From line of the email. (For single and mass email messages.)
- templateId: The ID of the template to use for the email. In previous releases, templates could only be used in mass email. Now, they can be used in single email.
- whatId and whatIds: Specifies the context for single and mass email, respectively. The whatId helps to further ensure that merge fields in the template contain the correct data.
- If your organization has an active auto-response rule, then SuppliedEmail on the case object is required when creating a case via the API. For more information, see Setting Up Auto-Response Rules in the Salesforce online help.
- CanAllowPortalSelfReg on the contact object indicates whether this contact can self-register for your organization's Customer Portal. For more information about the Customer Portal and self-registration, see Enabling Customer Portal Login and Settings in the Salesforce online help.
- IsPortalSelfRegistered on the user object indicates whether the user is a Customer Portal user who self-registered for your organization's Customer Portal. For more information about the Customer Portal and self-registration, see Enabling Customer Portal Login and Settings in the Salesforce online help.
- ConnectionReceivedID on Lead and Opportunity is the ID of the PatnerNetworkConnection that shared a record with your organization.
- ConnectionSentID on Lead and Opportunity is the ID of the PatnerNetworkConnection that you shared a record with.
- The Campaigns object has a new ParentCampaign field for creating campaign hierarchies and eight new aggregate statistic fields that provide data for a parent campaign and all the campaigns below it in the campaign hierarchy; all fields are read-only:
- TotalAmountAllOpportunitites; label is Total Value Opportunities in Hierarchy
- TotalAmountAllWonOpportunities; label is Total Value Won Opportunities in Hierarchy
- TotalNumberOfContacts; label is Total Contacts in Hierarchy
- TotalNumberOfConvertedLeads; Label is Total Converted Leads in Hierarchy
- TotalNumberOfLeads; Label is Total Leads in Hierarchy
- TotalNumberOfOpportunities; Label is Total Opportunities in Hierarchy
- TotalNumberOfResponses; Label is Total Responses in Hierarchy
- NumberOfWonOpportunities; Label is Total Won Opportunities in Hierarchy
API Migration Issues
Prior to Winter '08
- The following technical notes are available to assist you in migrating from versions earlier than 10.0:
- Release 4.0: Apex API 4.0 Features and Changes
- Release 5.0: Apex API 5.0 Features and Changes
- Release 6.0: Apex API 6.0 Features and Changes
- Release 7.0: What's New in Winter '06
- Release 8.0: What's New in Apex Web Services API Winter '07
- Release 9.0: What's New in Apex Web Services API Spring '07
- Release 10.0: What's New in Apex Web Services API Summer '07