Navigation
eZ Documentation Center
 

This is outdated documentation made for eZ Publish Platform 5.1. It is being moved into the eZ Publish 5.x documentation, so please go there for most up-to-date documentation.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

The eZ Publish 5 REST API allows you to interact with an eZ Publish installation using the HTTP protocol.

Accessing the REST API

The REST API is available at the URI /api/ezp/v2. The API from eZ Publish 4.x remains available at the same URI, /api/ezp/v1. HTTPS is available as long as your server is properly configured. Refer to the Getting started page to start using the API.

Basics

REST (REpresentationnal State Transfer) is a web services architecture that follows the HTTP Protocol very closely. The eZ Publish 5 REST API supports both JSON and XML, in terms of request format.

Resources

The API provides a set of resources (URIs), each of them providing access to operations on a certain resource. For instance, the URI /content/objects/59 will allow you to interact with the Content with ID 59, while /content/types/1 will allow you to interact with the ContentType with ID 1.

HTTP verbs

It uses HTTP verbs (GET, POST, but also PUT, DELETE...), as well as HTTP headers to specify the type of request. Depending on the used HTTP verb, different actions will be possible:

  • GET /content/objects/2 will provide you with data about Content #2,
  • PATCH /content/objects/2 will update the Content #2's metadata (section, main language, main location...),
  • DELETE /content/objects/2 will delete Content #2,
  • COPY /content/objects/2 will create a copy of this Content.

Media type headers

On top of verbs, HTTP request headers will allow you to personalize the request's behavior. On every resource, you can use the Accept header to indicate which format you want to communicate in, JSON or XML. This header is also used to specify the response type you want the server to send when multiple ones are available.

  • Accept: application/vnd.ez.api.Content+xml to get Content (full data, fields included) as XML
  • Accept: application/vnd.ez.api.ContentInfo+json to get ContentInfo (metadata only) as JSON

JSON

JSON formatting will only work with PHP >= 5.4.0 (http://fr2.php.net/manual/en/json.constants.php#constant.json-pretty-print).
  • No labels