CRM and CX Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member187491
Active Participant
19,569

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) ....

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.
22 Comments
0 Kudos

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!

former_member187491
Active Participant
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.
0 Kudos
Hi Mustafa,

 

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

With kind regards,

 

Lars.
monica_cotes
Product and Topic Expert
Product and Topic Expert
0 Kudos

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

former_member187491
Active Participant
0 Kudos
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.
0 Kudos
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
former_member187491
Active Participant
0 Kudos

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.

ambuja_prabhudessai
Participant
0 Kudos
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
former_member335553
Active Contributor
0 Kudos
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
FabianEgner
Explorer
0 Kudos
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.htm...

Thanks,

Fabian

 
former_member606881
Discoverer
0 Kudos
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
former_member562471
Discoverer
0 Kudos
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
gregorw
SAP Mentor
SAP Mentor
0 Kudos
Dear Mustafa,

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

Best regards
Gregor
former_member187491
Active Participant
0 Kudos
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.
former_member187491
Active Participant
0 Kudos
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.
former_member187491
Active Participant
0 Kudos
Hi Sree Harsha,

 

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

 

Regards,

Mustafa.
former_member187491
Active Participant
0 Kudos
Hi Fabian,

 

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

 

Regards,

Mustafa.
former_member187491
Active Participant
0 Kudos
Hi Anusha,

 

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

 

Regards,

Mustafa.
former_member187491
Active Participant
0 Kudos
Hi Ambuja,

 

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

 

Regards,

Mustafa.
gregorw
SAP Mentor
SAP Mentor
0 Kudos
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
mayankrathee
Explorer
0 Kudos
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

 

 

 

 

 
former_member187491
Active Participant
0 Kudos
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.