Hoppa direkt till innehåll
compass

Documentation

Tjänsteguiden

Identifiering av kund

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-URL http://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 formen md5("$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 till return_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 ej

message

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 identifieras

uid

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 kunden

api_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