Call Support:Direct: (214) 420-1337Toll Free: (877)
Monday through Friday 8 a.m. to 6 p.m. Central
This might be acceptable if the URL was something a human had typed, but as a response to an API call it is less than useful. From the program's point of view it has successfully retrieved data which it then expects to conform to the published spec.
Is there a reliable way to check what API version the target site supports?
Are you looking for something "supported" or just "reliable". Also, are you fine writing some custom code to do this?
You could create a REST endpoint that grabs the version # from one of the core DLLs and return it as XML or Json. You could extend telligent's REST endpoints or simply create an asmx or other basic endpoint - heck, even an aspx page if you are fine with it being public. this is assuming you are on-prem or dedicated hosting (not SaaS)
Assembly assembly = Assembly.LoadFrom("Telligent.Evolution.Components.dll");
Version ver = assembly.GetName().Version;
Version info is included in api.ashx/v2/info.xml (telligent.com/.../35043.show-info-result-rest-endpoint.aspx), although this endpoint was onlya dded in 5.0 or 5.5.
There isn't really an endpoint common to 2008.5 and 7.x you can use, but two workarounds you could use are:
1. Create a physical XML file at ~/api.ashx/v2/info.xml that matches the format of the 7.x format, but provide the version back as 4.x
2. Alternatively query api.ashx/v2/info.xml. If a response comes, get the version from the response, otherwise assume 2008.5
Telligent Systems, Inc. ©2013, All Rights Reserved