För att identifiera kunden i ert nät så kör vi en redirect från Tjänsteguiden till er bounce-URL (anges i inställningarna för Tjänsteguiden) till en lokal webbserver i nätet som kan identifiera den anropande klienten. Med denna URL skickar vi en del parametrar enligt nedan:
Tillgänglig för alla
Bounce-URL:en måste vara tillgänglig för alla att surfa till. API-url:en kan vara skyddad för enbart Tjänsteguiden, men Bounce-URL:en får inte vara tillgänglig enkom för Stadsnätsportar. Anledningen till det är att om användaren inte kan surfa till den URL:en så kommer den förfrågan skickas för varje sida han eller hon laddar, och varje sådan access kommer leda till en timeout.Bounce-URL
Om vi till exempel har bounce-URLhttp://12.34.56.78/bounce
så skickar vi besökaren till den URL:en med dessa parametrar:- return_url
- api_key
- api_secret
Exempel:
http://12.34.56.78/bounce?return_url=http%3A//www.example.com/serviceguide&api_key=afa45af54af454affffa876578&api_secret=12978376
api_key
Detta är en en md5-hash av strängen som består av API-användare, API-nyckel och API-secret, enligt formenmd5("$apiuser$apikey$secret")
api_secret
Samma som används ovan i api_key, för verifikation i API-servern, enligt formen:$api_user = 1234; $api_key = "fe01ce2a7fbac8fafaed7c982a04e229"; if (md5($api_user . $api_key . $_GET["api_secret"]) == $_GET["api_key"]){ # verified! }
$api_user och $api_key är från AtlasCMS och den API-användare ni valt för API-funktionerna
return_url
Detta är den URL som besökaren ska skickas tillbaka till, med identifieringsparameter tillagd.identifiering
När besökaren surfar på API-servern så är det upp till den servern att via provisioneringssystemet identifiera kunden i nätet. Besökaren ska då skickas tillbaka tillreturn_url
med dessa parametrar tillagda- status
- message
- uid
- api_key
- api_secret
status
Antingen "ok", "not found" eller "error". Om status är "error" så loggas det i systemloggen. "not found" loggas ejmessage
Om status är "error" är parametern "message" obligatorisk med anledning till varför status inte är "ok". Använd "error" om API-uppgifterna inte stämmer eller om besökaren inte kunde identifierasuid
Detta är den unika identifieringen för kunden i nätet, i regel uttags-ID för porten, eller access-ID för porten i ert system. Huvudsaken är att det är ett unikt ID som kan användas i fortsatt kommunikations med API-servern för att aktivera tjänster på kundens port. Detta ska också vara samma värde som anges i Marknadsdatabasens "accessId"-fält för kundenapi_key
En sträng som är md5 av API-användare (id), dennes API-nyckel och extra värde:$api_user = 1234; $api_key = "fe01ce2a7fbac8fafaed7c982a04e229"; $api_secret = rand(10000,20000); $api_key = md5($api_user . $api_key . $api_secret);
Den första api_key är den nyckel som ni får från Atlas för den API-användaren, den nya nyckeln är den ni skickar med i ert svar tillbaka.
api_secret
Det "hemliga" värdet skickas här, så kan strängen verifieras i Atlas också.Svar
Baserat på return_url i anropet så skickas då användaren tillbaka till Tjänsteguiden enligt följande format:http://www.example.com/serviceguide/plain/identifier.php?status=ok&uid=ABC123&api_key=fe01ce2a7fbac8fafaed7c982a04e229&api_secret=27163
Och nu är besökaren identifierad