Use the OData endpoint with web resources

 

Applies To: Dynamics CRM 2013

The OData endpoint with web resources provides an alternative interface to work with Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online data. You can use the OData endpoint to execute HTTP requests by using a service that is based on a Uniform Resource Identifier (URI).

In This Topic

What is OData?

Microsoft Dynamics CRM implementation of OData

What is OData?

The OData endpoint uses the Open Data protocol. This protocol implements a “RESTful” design pattern. REST represents Representational State Transfer. REST is an architectural style in which every resource is addressed by using a unique URI. In Microsoft Dynamics CRM, a resource can be an entity collection or a record.

REST works the way the Internet works. You interact with resources by using HTTP verbs such as GET, POST, MERGE, and DELETE. Various libraries can be used to process the HTTP requests and responses. REST provides a standard interface that you can use with any programming language. REST allows for either synchronous or asynchronous processing of operations. The capability to perform asynchronous operations makes REST well suited for web resources and scripts used in Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online.

Microsoft Dynamics CRM implementation of OData

Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online uses the Windows Communication Foundation (WCF) Data Services framework to provide an Open Data Protocol (OData) endpoint that is a REST-based data service. This endpoint is called the Organization Data Service. In Microsoft Dynamics CRM, the service root URI is:

[Your Organization Root URL]/xrmservices/2011/organizationdata.svc

OData sends and receives data by using either ATOM or JavaScript Object Notation (JSON). ATOM is an XML-based format usually used for RSS feeds. JSON is a text format that allows for serialization of JavaScript objects.

To provide a consistent set of URIs that corresponds to the entities used in Microsoft Dynamics CRM, an Entity Data Model (EDM) organizes the data in the form of records of "entity types" and the associations between them.

OData Entity Data Model

The Microsoft Dynamics CRM EDM is described in an OData Service Metadata document available at the following path:

[Your Organization Root URL]/xrmservices/2011/organizationdata.svc/$metadata

This XML document uses conceptual schema definition language (CSDL) to describe the available data. You will download this document and use it to generate typed classes when you use managed code or as a reference for available objects when you use JavaScript.

Limitations

The OData endpoint provides an alternative to the SOAP endpoint, but there are currently some limitations.

  • Only Create, Retrieve, Update, and Delete actions can be performed on entity records.

    • Messages that require the Execute method can’t be performed.

    • Associate and disassociate actions can be performed by using navigation properties.

  • The OData protocol isn’t fully implemented. Some system query options are not available.
    For more information, see OData system query options using the OData endpoint.

  • You can’t use late binding with managed code against custom entities, attributes, or relationships that did not exist when the code was written.
    You will typically use WCF Data Services Client Data Service classes while programming by using managed code. These classes allow for early binding so that you get strongly typed classes at design time. The only entities available to you are those defined in the system when the classes were generated. This means that you can’t use late binding to work with custom entities, attributes, or relationships that were not included in the WCF Data Services Client Data Service classes when they were generated.

See Also

Use web service data in web resources (OData and Modern app SOAP endpoint)
Use the Modern app SOAP endpoint for modern applications with web resources
Web resources for Microsoft Dynamics CRM 2013
Download the endpoints using the Microsoft Dynamics CRM 2013 Developer resources page
Query Microsoft Dynamics CRM 2013 data using the OData endpoint
Perform basic data operations using the OData endpoint
Use the OData endpoint with Ajax and JScript web resources
Perform additional data operations using the OData endpoint
Sample: Create, retrieve, update, and delete using the OData endpoint with JavaScript and jQuery
Sample: Create, retrieve, update, and delete using the OData endpoint with JavaScript
Sample: OData endpoint jQuery contact editor
Open Data Protocol Overview
OData SDK
Technical Article: Using Option Set Options with the REST Endpoint - JScript