2023 Aug 14 7:26 AM - edited 2023 Aug 14 7:26 AM
(Check out the SAP Developer Challenge - APIs blog post for everything you need to know about the challenge to which this task relates!)
Now you're familiar with the Date and Time API, you are in a position to try out one of the endpoints.
For many APIs on the SAP Business Accelerator Hub there are options to "try out" the endpoints. You can define your own environment that you can then use to connect to from the hub:
There's also a sandbox environment that's available for some of the API packages too, and this Date and Time API is one that is available in this sandbox environment.
Your task is to make a call to a specific endpoint in this API.
That endpoint is one of those that you might have seen in the previous task, but not one that met the criteria of that task. It's this one:
/getCountryDateFormat
The reason it doesn't meet the criteria is because a response to a request to this endpoint is returned in a text representation, i.e. MIME type text/plain, and not JSON.
You must specify the value DE for the country parameter.
But rather than just use the Try Out facility on the hub, you should instead make the call using an HTTP client of your choice. There's some examples given in the Hints and tips section of Task 0.
In order to "persuade" you to make the HTTP call yourself, you need not only the response to such a call, but you'll need also a specific header from the HTTP response. That header is a custom header, i.e. is prefixed with x- and relates to a traditional programming language in the SAP world.
So you need to take two values:
The header name should already appear in lower case, but please make sure it is, i.e. before you use it (see the next paragraph), ensure that it is all-lowercase.
You must join these two values together into a single string, concatenated with a comma.
It's this single string that you must send to be hashed and shared in a reply to this discussion thread as described in Task 0.
So for example, if the response payload was:
"banana"
and the response headers looked like this:
Date: Thu, 27 Jul 2023 12:05:40 GMT Content-Type: application/json Content-Length: 12 Connection: keep-alive vary: Accept-Encoding x-abap-hidden-header: 123.456ms x-request-id: 54dcdcb3-cf10-4d2b-6a2d-64ad846bd1e5 x-response-time: 417.10979ms x-vcap-request-id: 54dcdcb3-cf10-4d2b-6a2d-64ad846bd1e5 strict-transport-security: max-age=31536000; includeSubDomains; preload; Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: false
then the string to hash would be:
"banana",x-abap-hidden-header
You'll need to find out how to authenticate the HTTP request, and provide the appropriate authentication details. If you don't, your request will be refused, with an HTTP 401 status code. Here's an example, where you see the headers of the request (identified with > characters at the start of the line) and of the response (identified with < characters at the start of the line):
> GET /dateandtime/getTimezoneFromLocation?country=DE HTTP/1.1 > Host: sandbox.api.sap.com > User-Agent: curl/7.74.0 > Accept: */* > < HTTP/1.1 401 Unauthorized < Date: Thu, 27 Jul 2023 11:59:48 GMT < Content-Type: application/json < Content-Length: 146 < Connection: keep-alive <
You'll also receive some JSON in the response body telling you what's missing.
In order to get the authentication details you need, you'll need to be logged on to the hub.
You'll need to get your HTTP client or client library to emit the details of the HTTP response, so you can see the headers and find the one required. For example with curl, you could use the --include option, or even the --verbose option.
Have you seen x- prefixed headers before? What does this prefix signify? Is this still common practice these days?
2023 Aug 22 9:16 AM
2023 Aug 22 11:16 AM
2023 Aug 22 1:44 PM
2023 Aug 22 3:31 PM
2023 Aug 23 4:44 PM
2023 Aug 24 7:19 AM - last edited on 2023 Aug 24 9:09 AM by Former Member
2023 Aug 24 10:41 AM
2023 Aug 24 1:45 PM
2023 Aug 24 3:59 PM
2023 Aug 26 4:46 PM
2023 Aug 26 6:04 PM
2023 Aug 27 4:42 PM
2023 Aug 27 4:46 PM
2023 Aug 28 4:49 AM
2023 Aug 28 10:07 AM
2023 Aug 28 3:25 PM
2023 Aug 29 4:34 AM
2023 Aug 29 7:40 PM
2023 Aug 30 3:01 AM
2023 Aug 30 10:22 AM
2023 Aug 30 10:34 AM
2023 Aug 30 12:27 PM
2023 Aug 31 5:55 PM
2023 Sep 01 5:03 AM - edited 2023 Sep 01 5:05 AM
2023 Sep 03 2:10 PM
2023 Sep 04 9:19 AM
Hey everyone! The challenge to which this task belongs is now officially closed. Head over to the original blog post SAP Developer Challenge – APIs to check out the closing info and final statistics, and to see your name in lights! 🎉 And we thank you all for participating, you made this challenge great!
2023 Oct 26 10:50 AM
2024 May 01 12:46 PM