A standardized solution of integrating external applications with Drupal. Service callbacks may be used with multiple interfaces like REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF, etc. This allows a Drupal site to provide web services via multiple interfaces while using the same callback code.
Version 4 (Drupal 8)
Services 4.0 is currently in development. Since Drupal 8 contains REST functionality in CORE, Services in Drupal 8 will be slightly different. Were aiming to accomplish the following for D8.
- Services API allows other to expose custom API's or modify/hook into entities, and add actions/targetable actions or indexes.
- Provide endpoint capabilities to put your API behind a centralized URL
- Accept header-based negotiation
- Provide abstraction from some of cores annoyances. Like hal_json POST only instead of just JSON acceptance.
- (Possible) Provide multiple response formats
Services 3.0 is now available. Read up on it here.If you want to know more about the new REST server, read here. Note that currently there is no upgrade path for Services 3, and it is not backwards compatible with older implementations of the API. Therefore some existing modules like JSON Server and AMFPHP will not work with it. Fear not, newer AMFPHP modules are in development, and REST Server and JSON Server are no longer needed because response formats have been rolled into Services Core.
- Service API allow modules to create other services, including pluggable access control
- Server API allow modules to create other servers, such as SOAP
- Aliasing methods
- Integration with core Drupal functionality like files, nodes, taxonomy, users, files and more.
- Response format API allows you to define response Formats for CONTENT-TYPE ie. application/json or application/xml. (also calls such as ENDPOINT/node/1.json work)
Watch this for a 1 hour overview of what services 3.x is and what it does. http://denver2012.drupal.org/program/sessions/services-inside-and-out If for some reason that site is down, the video can be found here http://www.youtube.com/watch?v=6-2kw7iXf1U
Note the Drupal 6 version is currently not official supported because of several security issues (discussion of the services D6 situation). We are currently trying get all of these fixed. Any help with testing and coding is very welcome.
Currently spyc has an upstream bug please the version of the code on this issue until the upstream patch has been committed if you reference any error messages
Feel free to edit/fork/comment on this list of examples https://gist.github.com/affc9864487bb1b9c918
For modules with services support goto https://drupal.org/node/750036. Note anyone can add to this list.
Currently all development is happening on github for the useful help of PR's. https://github.com/kylebrowning/services
- Maintenance status: Actively maintained
- Development status: Under active development
- Module categories: Developer, Mobile, Third-party Integration
- Reported installs: 36,795 sites currently report using this module. View usage statistics.
- Downloads: 641,963
- Automated tests: Enabled
- Last modified: July 31, 2015