Overview
The Spring '07 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 8.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 Spring '07 release, please see the Spring '07 Admin Preview, or visit https://wiki.apexdevnet.com.
Things to note:
- With the Winter '07 release, the name of the platform changed from AppExchange to Force.com.
- After the Spring '07 release, the 8.0 version of the WSDL file will not be available. Instead, all requests for a WSDL will return a 9.0 version. Please remember to save WSDL files with your project, as the enterprise WSDL is custom to your organization.
- Force.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.
Major API Changes
- Client SSL certificates are available for use with outbound messaging or delegated authority. Download the certificate from Setup | Integrate | Force.com API in the Salesforce application.
- The AJAX shell uses dynamic HTML to display results.
- ConnectSAP and ConnectOracle are available for download from Setup | Data Management in the Salesforce application for Unlimited Edition and Enterprise Edition organizations.
- Request limits for Trial and Demo Organizations will be 5,000 calls per 24 hours and a maximum of 5 concurrent requests at one time.
- Request limits are calculated based on the license count.
- The number of API requests sent in the last 24 hours is now displayed in Setup | Company Profile | Company Information in the Salesforce application, allowing administrators to anticipate request limits and take appropriate action.
- You can now try to resend (retry) or delete actions on queued outbound messages from Setup | Monitoring | View the Outbound Message Queue in the Salesforce application.
- You can use date literals such as THIS_WEEK when filtering with SOQL SELECT.
- You can filter on picklist values using the SOQL comparison operator LIKE.
- The AJAX Toolkit and API have been updated to 9.0.
- SSL Authentication for Delegated Authentication and Outbound Messaging. In Spring '07, delegated authority and outbound message endpoints can authenticate connections from Salesforce using two-way SSL authentication. Upon request from the customer endpoint, Salesforce will authenticate itself using a client certificate.The client certificate can be downloaded from Setup ➤ Integrate ➤ Force.com API. For complete details about Force.com Services API 9.0 enhancements, visit the developer.force.com at http://developer.salesforce.com.
- The update call now checks a batch for duplicate Ids, and if there are duplicates, the first five are processed. For the sixth and all additional duplicate Ids, the SaveResult for those entries is marked with an error similar to the following: "Maximum number of duplicate updates in one batch (5 allowed). Attempt to udpate Id more than once in this API call: number_of_attempts"
API Migration Issues
- Some standard objects have new or changed fields. Please see the section New and Changed Fields below for details.
- The following technical notes are available to assist you in migrating from versions earlier than 8.0:
Improved Performance
- Completed improvements to cursor handling to improve performance.
- API response time has improved for some requests.
Major Platform Changes
New Calls
- sendEmail - Immediately send an email from an AppExchange or other application. (Not available in the Ajax Toolkit until 146.1.)
New Objects
- UserPreference - This read-only object represents a functional preference for a specific user in your organization.
New SOAP Headers
- DebuggingHeader - For Apex Code, returns the debugging log with a level of detail you can specify.
New or Changed Fields
The following changes have been made to version 9.0 and are most likely present in all relevant previous versions unless otherwise noted:
- The Account object includes the new field IsCustomerPortal, which indicates whether the account has at least one contact enabled to use the organization's Customer portal (true) or not (false).
- The Attachment object no longer requires a non-null value for OwnerId on creation.
- The Case object includes the ParentId field.
- The CaseHistory object field Field has an additional picklist value "Parent."
- The EmailMessage object has a SOQL relationship available via the ParentID (patch 146.4).
- The EmailTemplate object field LastUsedDate is a dateTime field in this release. In previous releases, it was a date field. The field IsActive label changed from "Active" to "Available for Use."
- The FiscalYearSettings object added two fields, StartDate and EndDate.
- The Group object field Type has an additional picklist value "AllCustomerPortal." The field DoesNotSendEmailToMembers label changed from "Send Assignment Email to Members" to "Send Email to Members."
- The Opportunity object has the following changes:
- The field Name byteLength was increased from 240 to 360, and the length was increased from 80 to 120 (also affects 6.0).
- The field LastActivityDate was added to version 6.0.
- The Profile object field LicenserType added three new picklist values: StandardPRM, CustomerUser, and CustomerManager, and the value "Partner Edition" changed to "Partner."
- The User object field IsPartner has been removed for version 9.0. Instead, use the new ProfileLicenseType (value "PRM").
- The User object has three new fields that represent values set in the Salesforce user interface via "'Setup | My Personal Information'":
- UserPreferencesEventRemindersCheckboxDefault
- UserPreferencesTaskRemindersCheckboxDefault
- UserPreferencesReminderSoundOff
- The UserRole object no longer has the IsPartner field. Instead, use the new field Portaltype (value of "Partner") for version 9.0
Bug Fixes
- 118399 - Although the API label value for Case fields SuppliedCompany, SuppliedEmail, SuppliedName, and SuppliedPhone are Company, Email, Name, and Phone respectively, in the Salesforce user interface they appear as Web Company, Web Email, Web Name, and Web Phone, respectively.