API Preview

Contents

AJAX Proxy (Force.com SOA)

The AJAX Proxy, as part of Force.com SOA, allows you to mashup and mashin third party web services using the AJAX toolkit. This capability allows you to reach out to and incorporate other sources of data directly from you AJAX based S-Control. You can consume SOAP Web Services, Restful Web services, RSS feeds and just about any other HTTP based service. Need to verify that zip code? How about enhance that account data? You now have the power to break out into the wider world of web services.

Use case

You've create a robust, reliable and user friendly customization of you Salesforce.com instance. But a new requirement is given to verify and enhance your account data. You are aware of various web services that provide these kind of services, but have not been able to take advantage of them due to archaic browser security policies. With the AJAX Proxy you can now specify the web services will allow your users to consume and communicate with those web services through the Force.com platform, completely overcoming the "same domain" Javascript security issue.

Availability

General release for Developer, Enterprise, and Unlimited Editions.

Metadata API

Until now, you could learn about existing objects in your data schema. The new Metadata API enables you to control and manage that schema. You can create new custom objects, create new custom fields on custom objects and even create new custom fields on standard objects. You can also update any custom objects or fields.

Use case

Recreating schemas between Salesforce.com instances has always relied on either pointing and clicking your way through seemingly never-ending wizards or creating packages of objects for the AppExchange and then installing the packages in your target instance. Or maybe your application needs to allow the end user to add a field or two for their specific use case. The Metadata API makes these options available through the API. In addition to creating and updating, objects, you can also delete custom objects and fields.

Availability

Preview in Developer Edition.

SOSL Enhancements

Using SOSL just got more powerful. New enhancements to SOSL allow you to put criteria on the fields that you are returning to better focus the search. For example, this feature can allow you to perform a search on Accounts that only match a specific record type. Or maybe you only want to search for Contacts in a specific state. You can now specify your search to limit the scope based on field level criteria instead of just the search term alone.

Use case

Using a WHERE clause, you can apply field-level filters to your SOSL search results before returning results. This provides more relevant results to provide a better experience. This feature will also optimze the use of the limited space available for the returned result set, so that results that don't satisfy all available search criteria do not crowd out good results in the set. You can use information in fields that are not marked as searchable to refine and constrain your search results. A simple example is

FIND {bio* AND tech*} IN ALL FIELDS RETURNING Account (id WHERE BillingState IN ‘CA’, ‘California’)), Contact (id WHERE MailingState IN (‘CA’, ‘California’))

This SOSL query will return any contact or account where any searchable field starts with bio or tech, but limit the results to those accounts whose billing state is California and those contacts whose mailing state is California.

Availability

General release for Developer, Enterprise, and Unlimited Editions.

Relationship support via external IDs for create and update

Creating and updating the relationship of an object has just gotten easier. The ability to use an external ID field to establish the relationship between a child record and a parent record is now available from the create and update methods of the API. You can now do in a single call, what previously took at least two calls for related objects.

Use case

Moving data in and out and between salesforce instances has just gotten easier. You can easily replicate data from your ERP system or other on-premise system to Salesforce.com. With this new functionality, if you create an external ID field on the parent records, then include that external ID field in the child records, the children will be automatically related to the parents, without the need to know the Salesforce.com generated IDs.

Availability

General release for Developer, Enterprise, and Unlimited Editions.

Implicit namespaces

Components in a managed package have a namespace associated with them. Previously, the namespace had to be explicitly referenced when using the components through the consoles in the app (for example merge fields) or through the API or tools.

Use case

You have an unmanaged package that you want to convert to a managed package, and have a number of integrations through the API. Instead of having to enumerate the namespace prefix on each component you can now resolve the namespace by adding a single line of code.

Availability

General release for Developer, Enterprise, and Unlimited Editions.

API verb emptyRecycleBin

API rate limiting will be enforced beginning with the Summer 07 release. API rate limiting can prevent your application from runaway processing that consumes too many system resources. This important feature ensures that your application can maintain high performance and prevents other applications from impacting overall service performance.

Use case

If you find yourself using a nightly delete-and-import integration pattern, this is the verb for you. Deleting huge amounts of data can result in lots of records that still reside in the database, but are marked for deletion. Since these records are still taking up space, they have an impact on performance. To get the most performance from the platform, you should empty the recycle bin after a large delete operation.

Availability

General release for Developer, Enterprise, and Unlimited Editions. == API rate limits API rate limiting will be enforced beginning with the Summer 07 release. API rate limiting can prevent your application from runaway processing that consumes too many system resources. This important feature ensures that your application can maintain high performance and prevents other applications from impacting overall service performance.

Use case

The API rate limts have been established after the evaluation of year of API usage statistics, and in such a way as to ensure that in the majority of implementations the limit will not be reached. The limits will be as follows:

  • 5K api calls in a 24 hour period for DE, Demo and Trial Editions
  • 5K api calls per license in a 24 hour period for UE Edition
  • 1K api calls per license in a 24 hour period for all other Editions

Availability

General release for Developer, Enterprise, and Unlimited Editions.

API usage reports

Want to know how much use your company is making of the API? Curious how much of your API usage is attributable to an AppExchange app? In Summer '07 you now have a new Standard Report Type specifically for API usage. You can report on API usage up to 7 days in the past. The report can be broken down by user, client application and by date.

Use case

Gather useful insight as to how much API traffic is happening in your org. This capability provides a valuable tool for detecting API processes that may be candidates for tuning and optimization. You can use these reports to understand when and why you might be running into the rate limits for the API. Sometimes the performance profiles of web services can be opaque or mysterious. Using the API Usage Reports will give you valuable insight about your implementations and integrations.

Availability

General release for Developer, Enterprise, and Unlimited Editions.

API rate limit notifications

With the upcoming enforcement of API limits, you will want to be aware of the times when your integration runs over the limit. API Rate Limit Notifications provide this valuable service by sending an email when based on user configured threshold and frequency settings.

Use case

By setting up notification rules that specify threshold, frequency and other configurable data, you will not be taken by surprise if a limit is hit. You can also configure the contents of the notification. This capability, combined with an email mailbox agent that looks for these notices and can control the integration process, provides the ability to create a solution that can automatically adjust and react when the limits are approached.

Availability

General release for Developer, Enterprise, and Unlimited Editions.