Ok, I’ll share what I have learned.
When you click a help link in the Kinetic Web UI, it calls:
Ice.LIB.ClientFunctionsSvc/ProcessZDHelpTopicOrLabel
It has a payload similar to the following:
{
"label": "",
"helpTopic": "https://kinetichelp222.epicor.com/hc/en-us/articles/9682928523661-Understanding-Kinetic-Home-Page",
"userName": "ErpUser 112200",
"userEmail": "erp_donotreply112200@epicor.com",
"aryTags": [
"erp112200"
],
"zdSubDomain": "erphelp112200",
"locale": "en-US"
}
That returns an object with an url like so:
{"returnObj":"https://erchelp.zendesk.com/access/jwt?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2ODAyMDc2NjYsImp0aSI6IjRlMmI5OGNmLTEwZmQtNGQ0MS1iMDVmLWM5YzRkMDcwZGM1MyIsInRhZ3MiOlsiZXJwMTEyMjAwIl0sIm5hbWUiOiJFcnBVc2VyIDExMjIwMCIsImVtYWlsIjoiZXJwX2Rvbm90cmVwbHkxMTIyMDBAZXBpY29yLmNvbSJ9.J45wu9HID4WlZqLaujGmsAi7uHeoC1fytmNWMQTQXnQ&return_to=https%3a%2f%2fkinetichelp222.epicor.com%2fhc%2fen-us%2farticles%2f9682928523661-Understanding-Kinetic-Home-Page"}
All that gobbledy-gook is a Json Web Token & url for Zendesk.
That url is valid for 3 minutes, and can’t be reused.
The structure of that Base64 Gobbledy -Gook is:
//Header
{
"alg": "HS256",
"typ": "JWT"
}
//Payload
{
"iat": 1680203096,
"jti": "135a7c63-2f40-43b9-b3aa-91aaefb75b0b",
"tags": [
"erp112200"
],
"name": "ErpUser 112200",
"email": "erp_donotreply112200@epicor.com"
}
And the part after the second dot is part of the secret sauce that we do not have, otherwise we could
just generate our own.
Of course that really doesn’t matter much anyway. Either way, we need some kind of man in the middle.
If you want to make it work, you need to pass that url link:
https://kinetichelp222.epicor.com/hc/en-us/articles/9682928523661-Understanding-Kinetic-Home-Page
to a service that passes it to that business object with those parameters, and it will spit you out a real link that will work (for 3 minutes lol)
So if you really wanted to do it, make up a minimal api in c#, or an express app in node.js,
that takes an url like:
https://myserver/getepicorhelpurl?https%3A%2F%2Fkinetichelp222.epicor.com%2Fhc%2Fen-us%2Farticles%2F9682928523661-Understanding-Kinetic-Home-Page
and return a redirect to the real one you get from the service.
I didn’t say it would be fun, I said it could be done.