kenticokentico-13kentico-api

How do I get the Kentico page permalinks using the REST API?


I'm writing a simple exporting tool for a client running Kentico 13 using its REST API. My goal is to ultimately import all the content into Wordpress.

I'm able to get a large JSON with information about all the objects by doing:

curl -u USERNAME:PASSWORD -X GET https://mykentico.site/xp-admin/rest/content/currentsite/en-us/all?format=json

Then I'm parsing every object in that file by querying individual AliasPaths, to get more detailed information about each object (title, category, content, etc.) like this for example:

curl -u USERNAME:PASSWORD -X GET https://mykentico.site/xp-admin/rest/content/currentsite/en-us/document/News-Overview/June-2024/Hello-World?format=json

However the JSON I'm getting back from that last request does not contain any "permalink", "canonical URL", or any other field (that I see) that I can use to deduce the actual frontend permalink of the (page) object. This is a problem, as the actual permalink for that last page is typically something like:

https://mykentico.site/newsletter/june-2024/hello-foobar-world

i.e. the permalink folders, as well as the actual page name, have different names than the AliasPath folders and document name.

Since I will need to map the old Kentico URLs with the new Wordpress URLs, I need to be able to query the REST API and record the permalink of each individual Kentico page.

Can someone please help? Thank you.

I tried perusing the Kentico REST API at length, trying to understand how I can get this individual page permalink information from the REST API. To no avail.


Solution

  • The links to the pages are generated dynamically on the front end side. So, these data are not stored anywhere in the DB. Then, it depends whether you are using custom or content tree based routing (https://docs.kentico.com/13/developing-websites/implementing-routing)