Skip to main content
I would like to upload CSV data to SNAP workspace account of mine.
I want to do it in an automated way. If there is REST API, i can do it.
Is this possible? If so can anyone point me to the documentation to achieve this?
If I understand correctly what you want is to upload your file and load your data to your existing data model?
Hello,
I posted how to push CSV file to Celonis in this post.
Please take care that I verified it against my IBC environment, not SNAP.
I hope this helps you.
Best regards,
Kazuhiko
Thanks for your response. I am new and exploring:
Here is my scenario:
Two Cases:
  1. To my workspace add CSV file
  2. To existing model that has been created add the new CSV file.

Let me say in Case 1 - Pushed two operation sequences of a Process given that they same set of activities for simplicity. Then i will have zero variants and count of 2 on all nodes.
With case2, I would like to push another CSV for the same process, which has few more entries. They can have same activities or more activities with variations.
  1. I want to know all the parameters that i need to push in the API.
  2. It will might need token for Authorisation.
  3. It will need workspace and user details.

Can you point me to API documentation if there is one. It will help me.
Another question is - Does it take JSON input for activities?
I understand. I hope this will help you:
  • Login to your Snap environment
  • And search for Data push API like I do in the screenshot below.


image661753 126 KB
Thanks for pointing me to it. I have started looking at it.
I hope, i will be able to push data and check.
e.ndrio:

Data push API like I do in the screenshot bel





based on documentation:
API Key
If you would like to connect and use the API, you need first need to create an API key. With this unique key you identify yourself with the API. You can generate a key on the Edit Profile page.
Click on the Create API Key button in the API-Keys section. Copy the generated API Key to the clipboard (it is not possible to view the key again for security reasons).
If you forgot your API Key, delete the old one and generate a new one.


With above i create API key and used that as the Bearer
From where will i get the Application Key so that i can add it as AppKey to the header.
Pointers to this will be helpful, without it authentication will fail and is failing. If my understanding is wrong, please do correct.
I figured out how to create the application key. Then created the URL and response goes this way
Can my CURL url and headers be verified? Is it right?
Keeping out api-key and app-key from here.
The output for execution is as given below:
$ curl -v -X GET https://snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud/integration/api/v1/data-push/6a875e05-9074-4744-92cc-d31fec9f9a2d/jobs/ --header "Authorization: Bearer <the-api-key>" --header "AppKey: <the-app-key>"
Note: Unnecessary use of -X or --request, GET is already inferred.
* Trying 18.184.97.187...
* TCP_NODELAY set
* Connected to snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud (18.184.97.187) port 443 (#0)
* schannel: SSL/TLS connection with snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud port 443 (step 1/3)
* schannel: checking server certificate revocation
* schannel: sending initial handshake data: sending 217 bytes...
* schannel: sent initial handshake data: sent 217 bytes
* schannel: SSL/TLS connection with snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud port 443 (step 2/3)
* schannel: failed to receive handshake, need more data
* schannel: SSL/TLS connection with snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud port 443 (step 2/3)
* schannel: encrypted data got 2980
* schannel: encrypted data buffer: offset 2980 length 4096
* schannel: sending next handshake data: sending 93 bytes...
* schannel: SSL/TLS connection with snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud port 443 (step 2/3)
* schannel: encrypted data got 306
* schannel: encrypted data buffer: offset 306 length 4096
* schannel: SSL/TLS handshake complete
* schannel: SSL/TLS connection with snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud port 443 (step 3/3)
* schannel: stored credential handle in session cache
> GET /integration/api/v1/data-push/6a875e05-9074-4744-92cc-d31fec9f9a2d/jobs/ HTTP/1.1
> Host: snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud
> User-Agent: curl/7.55.1
> Accept: */*
> Authorization: Bearer <the-api-key>
> AppKey: <the-api-key>
>
* schannel: client wants to read 102400 bytes
* schannel: encdata_buffer resized 103424
* schannel: encrypted data buffer: offset 0 length 103424
* schannel: encrypted data got 493
* schannel: encrypted data buffer: offset 493 length 103424
* schannel: decrypted data length: 464
* schannel: decrypted data added: 464
* schannel: decrypted data cached: offset 464 length 102400
* schannel: encrypted data buffer: offset 0 length 103424
* schannel: decrypted data buffer: offset 464 length 102400
* schannel: schannel_recv cleanup
* schannel: decrypted data returned 464
* schannel: decrypted data buffer: offset 0 length 102400
< HTTP/1.1 302 Found
< Date: Tue, 11 Feb 2020 11:10:11 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 107
< Connection: keep-alive
< x-celonis-realm: eu-1.celonis.cloud
< Location: https://eu-1.celonis.cloud:443?team=snap-vijay-venkataraman-gmail-com&error=ipBlocked
< Vary: Accept
< Strict-Transport-Security: max-age=15724800; includeSubDomains
<
Found. Redirecting to https://eu-1.celonis.cloud:443?team=snap-vijay-venkataraman-gmail-com&error=ipBlocked* Connection #0 to host snap-vijay-venkataraman-gmail-com.eu-1.celonis.cloud left intact

You can see the following in last line error=ipBlocked Not sure why it is getting redirected.
When i tried the above with Postman - get 200 and HTML back
It is as given below:

<html lang="en">
<head>
<base href="/">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Celonis Cloud</title>
<link rel="icon" type="image/x-icon" href="/assets/favicon.png" />
<link rel="stylesheet" href="styles.7b4d0b8aa36283b4bb6b.css">
</head>
<body>
<root-app></root-app>
<script src="runtime.458556a34b891ea32398.js" defer></script>
<script src="polyfills-es5.8a0852e8cc901663a26f.js" nomodule defer></script>
<script src="polyfills.01648f03e54d23571c24.js" defer></script>
<script src="main.d67eab1d17cf0902c98d.js" defer></script>
</body>
</html>

Reply