SAP Cloud for Customer (C4C) offers an OData API in order to consume SAP Cloud for Customer business functions in your implementation. With this we can query, read, add, update and delete data from and into SAP C4C. With regards to C4C, OData calls would come into play when we use/consume OData services for custom UI, system replication and for integration into your current UI.
OData stands for Open Data Protocol and is an OASIS Standard that defines a protocol for building and consuming RESTful APIs, based on the HTTP protocol. OData differentiates itself from most of the other RESTful APIs, mainly by providing the following:
● Metadata of the entities exposed by the OData service
● Relationship between the entities within an OData service
● System and custom query options for retrieving data. The protocol allows filtering data, ordering and paginating of the query results, retrieving number of records, and more. Querying and modifying data is possible in XML (AtomPub) and JSON formats. SAP Hybris Cloud for Customer OData API conforms to OData version 2.
More information about the SAP Hybris C4C OData API of your tenant can be found in the URL pattern: https://[your tenant]/sap/c4c/odata/v1/c4codata. The metadata can be accessed of the OData API of your tenant with the URL pattern: https://[your tenant]/sap/c4c/odata/v1/c4codata/$metadata.
In this blog, we will focus on troubleshooting long response times while using OData Services for any of the above described scenarios. The first step would be to find out the backend response time of an ODATA service call. We can use many tools like JMeter or Postman to do this. Below are the links to download both of these:
In order to troubleshoot, run Postman and enter the URL that you would like to get the response time of. Once you have entered the desired URL, hit the Blue SEND button that is located at the top right hand side of the screen. Once the results are retrieved, jump over to the headers tab as that tab contains the response time information. in this tab, the backend server response time will be found in the first line titled c4c-odata-response-time. Also on the right hand side, you will see something called time. This time here is the total response time of the ODATA Service call. So the total E2E response time taken by the ODATA service request is found in the time portion, out of which the c4c-odata-response-time is a subset (time spent in the backend).
The below short video explains the above paragraph in more detail - how to retrieve the backend response time of an ODATA service call using Postman: