Skip to Content
Product Information
Author's profile photo Mustafa Saglam

Introducing SAP Cloud for Customer OData API V2

The new API – c4codataapi

With the 1808 release of SAP Cloud for Customer, SAP announced the general availability of the next version of SAP Cloud for Customer OData API – V2. The new API is based on the OData service c4codataapi and it is documented here. The c4codataapi is superior to its predecessor (c4codata) for several reasons.

Better now and in the future

At first, you will notice that the new API offers more than twice as much content compared to its predecessor – c4codata. This is because c4codataapi is a virtual service that is based on more than 40 individual OData services, altogether they expose more than a thousand entities. Thanks to its innovative technology, you can consume c4codataapi  just like another OData service. It has its own endpoint URL, metadata and service document. Similar to its predecessor, c4codataapi can also be used in OData notifications or be extended by adding custom fields – though extending c4codataapi is done via the underlying individual services.

But not all of its benefits are readily available yet. For example, its underlying technology is capable of supporting cross-navigations (i.e. associations between different objects). You will see such enhancements coming in future releases, ultimately making the new API even more versatile.

What else?

Together with the introduction of the new OData API, SAP also announced the deprecation and planned retirement of synchronous SOAP services (a.k.a. A2X) and the SAP Cloud for Customer OData API V1 – c4codata.

Deprecated APIs will continue to work and be supported until the February 2020 release of SAP Cloud for Customer. Then they will be retired – i.e. not supported. Therefore, we recommend our customers and partners to use the new OData API in their new projects. Similarly, we recommend our customers to enhance their existing interfaces based on the deprecated APIs to use the new OData API instead.

How to tell if you are using the deprecated OData API V1

Identifying if your interface is using c4codata is relatively easy. To do so, you can simply check the URLs of any SAP OData service requests within your interface and verify if it contains the pattern ‘…/odata/v1/c4codata/…‘. If it does, that means, your interface is using the deprecated OData V1 and you should plan on updating that with the new OData API (c4codataapi). (Please note that the v1 in the URL indicates the framework version and it is the same for all C4C OData services.)

Please note that the metadata of the old OData API (c4codata) and the new OData API (c4codataapi) are not equivalent. Hence, you will need to update your interface based on the metadata of the new OData API – c4codataapi.

How to tell if you are using a deprecated SOAP API

SAP Cloud for Customer provides two different types of SOAP (Web) Services as synchronous (A2X) and asynchronous (A2A).

Since not all SOAP services are deprecated, it might not be as obvious to check whether or not your interface is using an A2X SOAP service. To do so, go to the page with the list of SAP Cloud for Customer SOAP services and locate the SOAP service you are interested in. In order to see the technical name of the service, you will need to click on the link under the Service Description. Information on whether or not the service is synchronous is available in the detail page under the attribute “synchronous” with a value “yes” or “no”. Please note that if the service you are interested in is synchronous, you will need to plan reimplementing that using the respective entity-set of the new OData API – c4codataapi. The vast majority of the SOAP API usage is on the asynchronous (A2A) services. Therefore, only a small number of customers will be impacted by this change.

 

Best regards,

Mustafa.

Assigned tags

      22 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo L. van der Goes
      L. van der Goes

      Hi Mustafa,

      thank you for this write-up. Is there a reference document to enable/implement OData API v2 – c4codataapi for cloud for service? We want to connect to an Analytics Cloud system and need to use the new standard for our OData link. Thank you!

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi,

      Looks like the documentation is not very clear on this. Sorry about that. We will certainly address it ASAP.

      In the meantime, you can locate the URL for c4codataapi, via the OData Service Explorer in the Administrator work-center. To do so, just select c4codataapi and click on View. Then you will see the OData service URL, at the top of the page, under "Service URL".

      Here is the pattern: - https://my<6-digit_tenant_id>.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi/$metadata

      Regards,

      Mustafa.

      Author's profile photo L. van der Goes
      L. van der Goes

      Hi Mustafa,

       

      found it, thank you. Any improvements towards the documentation are always welcome.

      With kind regards,

       

      Lars.

      Author's profile photo Mayank Rathee
      Mayank Rathee

      Hi @mustafa.saglam,

      I Tried using the service URL as suggested. I copied the same from the OData Service URL, but when I am creating connection from SAC, I am getting below error.

      "Unable to connect to datasource. Check the connection details and user credentials, and then try again."

      I am sure the credentials are correct as I am using the same to log into C4C system.

      Are there any specific authorizations that needs to be provided to my user in order to access the service from SAC.

      I'll really appreciate an early response.

       

      Thanks and Regards,

      Mayank Rathee

       

       

       

       

       

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Mayank,

      Your login credentials can be used to call OData API. However, you may want to make sure that you have the necessary authorizations to access that Object. For example, if you can open Opportunities screen and browse/edit opportunity records, you should be able to access Opportunity records with OData API as well. In other words, if you cannot see an Object in C4C UI, you cannot access it via OData API.

      As am I not an expert on SAC, I suggest that you consume the OData API using a generic tool such as Postman first. If that works, you may want to check with SAC experts,

      Regards,

      Mustafa.

      Author's profile photo Monica Cotes
      Monica Cotes

      Good day Mustafa Saglam,

      Inbound Service OperationalDataProvisioningIn for ODP info extraction of info from C4C to BW will be also deprecated?  I check for this service in the link you mentioned but didn´t find it.

      Thank you and best regards,

      Monica

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Monica,

       

      Even though it is an A2X service, this one will continue to be supported as it is specifically for BW.

       

      Best regards,

      Mustafa.

      Author's profile photo Edison Wang
      Edison Wang

      Hi Mustafa,

       

      Is this apply to standard A2X web services only? How about those custom A2X web services that we developed? Do we need to re-develop those with OData v2?

       

      Thank you.

      Regards,

      Edison

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Edison,

      The restriction only applies to SAP provided A2X (sync-SOAP) and OData V1 services. Custom SOAP or custom OData services built by customers/partners will continue to work as before. Thus, no changes are needed on them.

       

      Regards,

      Mustafa.

      Author's profile photo Ambuja Prabhudessai
      Ambuja Prabhudessai

      Hi,

      Does SAP have any roadmap for building a reusable library in SAP Cloud Applications studio for parsing JSON response?

      Working with SOAP request and response is easy in ABSL with all the libraries provided. However, for Odata services, we get a response in JSON format. The structure of this response could vary for different services. It is time consuming to write a code in ABSL for parsing JSON for every web service with different response structure.

      It would be great if SAP can come up with some way to parse the JSON response in ABSL.

      Regards,

      Ambuja

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Ambuja,

       

      Please post your request on SAP Influence Portal for us to consider in a future backlog. Thank you!

       

      Regards,

      Mustafa.

      Author's profile photo Anusha Ramsiva
      Anusha Ramsiva

      Hi

       

      The link for list of SAP soap services is not working . Could you please check . it would be helpful to understand which services are getting deprecated through the list

       

      Thanks

      Anusha

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Anusha,

       

      I am sorry for the inconvenience. I have just updated the blog with the corrected link.

       

      Regards,

      Mustafa.

      Author's profile photo Fabian Egner
      Fabian Egner

      Hi Mustafa,

      the Link for the deprecated A2X Services does not exist any more. Can you please provide a new Link?

      https://help.sap.com/http.svc/rc/8ed4581a228646178e4f8cc38b0cf951/1808/en-US/IntegrationServices.html

      Thanks,

      Fabian

       

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Fabian,

       

      I am sorry for the inconvenience. I have just updated the blog with the corrected link.

       

      Regards,

      Mustafa.

      Author's profile photo Sree Harsha Batchu
      Sree Harsha Batchu

      Hi Mustafa,

      Good Day!

      We are unable to open that link which you provided the link for list of SAP soap services.

      Kindly provide the link, so that we can check which service are deprecated.

      Can you please let me know if any other way to find deprecated services in C4C or HCI system.

      Thank you.

       

      Regards,

      Sree Harsha.B

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Sree Harsha,

       

      I am sorry for the inconvenience. I have just updated the blog with the corrected link.

       

      Regards,

      Mustafa.

      Author's profile photo Said Moshref
      Said Moshref

      Hey Mustafa,

      thank you very the information, i know its over 2 years ago 😀

      But your blog is  the first landing page for any question about c4c odata services. I'm working the c4c odata services in serveral project, i have noticed the documention https://help.sap.com/doc/d0f9ba822c08405da7d88174b304df84/1911/en-US/index.html#/topic/ have a lot of inconsitency.

      Serveral interfaces are wrong described, so my suggestion is that you build in the documention page a contact formular, where developer can report any documentation errors in order to correct the documention inconsistency.

      We rely on this documentation, therefore it causes us more effort work, if there are any errors.

      Best Regards

      Said Moshref

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Said,

       

      Thanks for your feedback. I will inform my colleagues to consider implementing your recommendation.

       

      BTW, if you find specific issues in our documentation, please report them by creating a support incident. Thank you!

      Regards,

      Mustafa.

      Author's profile photo Gregor Wolf
      Gregor Wolf

      Dear Mustafa,

      can you tell me why the C4C OData API's are not listed at https://api.sap.com/?

      Best regards
      Gregor

      Author's profile photo Mustafa Saglam
      Mustafa Saglam
      Blog Post Author

      Hi Gregor,

       

      Sure! In fact, previous C4C OData API (v1) was on API Hub (one of the first ones to get there). However, we had some technical challenges in placing V2 of our OData API on API Hub partially due to its metadata size. In the meantime, we have enhanced our metadata so that it can be filtered. But we haven't been able to prioritize the effort associated with placing it on API Hub yet.

      Would you be so kind to post your question/request onto SAP Influence Portal so that we prioritize it based on popular demand? Thanks.

       

      Regards,

      Mustafa.

      Author's profile photo Gregor Wolf
      Gregor Wolf

      Hi Mustafa,

      I'm happy to post in the SAP Influence Portal if you would guide me to the right influencing Opportunity. Searching for Cloud Customer there are 282 active results.

      But I can't get why in the days of API's and SAP promising that integration comes out of the box the simplest step to have the API's documented at a central place isn't a given thing.

      Best regards
      Gregor