Why are URLs different in the HTTPS APIs?

Scenario

You have requested data from the Talis Aspire APIs using your HTTPS talis aspire address, but the data you get back contains HTTP URLs.

Question

Why are these URLs different?

Answer

Technically these are not Uniform Resource Locators (URLs), but Uniform Resource Identifiers (URIs).

In Talis Aspire, the underlying data uses unique identifiers for all the 'things' in the system. Uniform Resource Identifiers (URIs) for all the data in the system. Technically these are not Uniform Resource Locators (URLs)

Talis Aspire is built on principles of schemaless database design and the Resource Description Framework (RDF) and as such uses URIs for all the data in the system. 

Because the URI is guaranteed a unique way of identifying a single 'thing' being described, the same thing cannot have two identifiers.

Terminology

We refer to the HTTP endpoint of your tenancy as the Tenancy Base URL — for example http://demo.talisaspire.com

We refer to the HTTPS endpoint of your tenancy as the HTTPS alias — for example https://broadminster.rl.talis.com

We refer to the tenant-specific code that identifies your tenancy as the Tenant Shortcode — for example, broadminster is the tenant shortcode as used in https://broadminster.rl.talis.com

What does this mean for when I use HTTPS API endpoints?

Let's say you query for JSON data about a list using the List Linking API and you use your HTTPS URL to get the data. The identifiers in the data will use your tenancies HTTP based URIs as these are the unique identifier. Your calling code should handle this and use the Tenancy Base URL identifier as the true identifier, and only make API requests to the HTTPS endpoint.

So if you query

https://broadminster.rl.talis.com/lists/FCD73705-C55A-3F1F-732C-1BBB77938D2A.json

You will get information about a specific list which has a unique identifier

http://demo.talisaspire.com/lists/FCD73705-C55A-3F1F-732C-1BBB77938D2A

You should also be aware that if you send an API request to the HTTP endpoint, you will be redirected to HTTPS with a 304 response, so your calling code should be set up to follow redirections.

 

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.