...
- 2 you need to know about - REST and SOAP
See Rest API Vs SOAP API in Salesforce - Salesforce Stack Exchange for some links to some in depth documentation.
- REST
- Uses JSON
- Readable, Name Value Pairs
- Good for querying one record at time or retrieving a small subset of records.
- Can't have a transaction.
- Developers don't need to know the full specification of the API, they can query it as they go.
- Eg Accounts/Contacts/Fields to see what fields are accessible.
- Uses nouns to find things.
- Uses verbs such as GET (query), POST (create) to do stuff or PATCH (to update a record).
- Apex REST
- Can do multiple things on the one POST - eg Update the Account and Contact.
- Almost a transaction.
- Be careful with the security, the salesforce developer will have to write the security explicitly.
- Now getting used much more because of the rise in mobile apps for Salesforce.
- SOAP
- Uses XML
- Requires the WSDL file to be downloaded to find out what the methods are that can be called.
- Still widely used in the Salesforce world.
- Mainly used for enterprise level access.
- REST
- Features
- there are a few scenarios that are not supported OOTB in Force.com – complex data queries (i.e. joins) via the API, custom logic or rules, and anonymous access.
- Others
Metadata API
using tools like Mavens Mate (See Modifying Salesforce via Text files MavensMate and Git for Non Developers).
Tooling API
Chatter API
A lightweight REST API to just use Chatter.
Streaming API
Replaces batch jobs.
Data is pushed to the API whenever it changes.
Like push notifications on your phone.
- Javascript Remoting
- New Javascript thingy???
- Developers will have a definite opinion on which ones they will use.
- Know enough to question them
...