Use the OData endpoint with web resources
Applies To: CRM 2015 on-prem, CRM Online
The OData endpoint with web resources provides an alternative interface to work with Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update data. You can use the OData endpoint to execute HTTP requests by using a service that is based on a Uniform Resource Identifier (URI).
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 2015 and Microsoft Dynamics CRM Online 2015 Update.
Microsoft Dynamics CRM implementation of OData
Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update 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
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
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.
- Messages that require the Execute method can’t be performed.
- 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.
Third-party tools to generate code
The community of developers who work with Microsoft Dynamics CRM have created some tools that demonstrate how the OData endpoint works and can generate code you can use. The following tools provide capabilities to generate code to work with CRM data using the OData endpoint.
- CRM REST Builder
ConceptsUse the Modern app SOAP endpoint for modern applications with web resources
Web resources for Microsoft Dynamics CRM
Download the endpoints using the Microsoft Dynamics CRM Developer resources page
Query Microsoft Dynamics CRM 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
Other ResourcesUse web service data in web resources (OData and Modern app SOAP endpoint)
Sample: OData endpoint jQuery contact editor
Open Data Protocol Overview
Technical Article: Using Option Set Options with the REST Endpoint - JScript
Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.