API för önskelistetjänster

Presentlisa.nu presenterar ett API för att bygga externa tjänster baserat på Presentlisas Önskelistefunktionalitet.

Anrop av tjänster

Anrop sker genom REST baserade url’ar med tillhörande säkerhetsnycklar. Tjänsten kommer vid korrekt authenticiering svara med ett Json objekt som konsumeras av applikationen
För att få ett svar från tjänsterna kommer två till tre nycklar att krävas, ett, per användare och applikation unikt token, en applikationsnyckel samt för vissa tjänster användarID. Hur konsumenter av tjänsterna kommer åt dessa beskrivs närmare under

Anrop sker genom REST baserade url’ar med tillhörande säkerhetsnycklar. Tjänsten kommer vid korrekt authenticiering svara med ett Json objekt som konsumeras av applikationen

För att få ett svar från tjänsterna kommer två till tre nycklar att krävas, ett, per användare och applikation unikt token, en applikationsnyckel samt för vissa tjänster användarID. Hur konsumenter av tjänsterna kommer åt dessa beskrivs närmare nedan.

 

Parametrar

Varje tjänst har sin egen Url som med hjälp av vissa parametrar returnerar det förväntade svaret.

Tillgängliga tjänsteanrop

Då en förfrågan görs anropas tjänsten med HTTP GET. När data ska skickas till servern används HTTP POST.

Autentisering

Varje anrop kräver ett user context att utgå ifrån, för att få tillgång till detta måste applikationen och användaren vara godkänd.

Användartjänster nås på:

http://api.presentlisa.nu/userservice.svc

Inloggning

http://api.presentlisa.nu/userservice.svc/Authenticate

Typ: POST
Returtyp: ServiceToken
Exempel:
Förkl: Hämtar en autentiserings-token för användaren

Inparametrar:
username [string]
password [string]
applicationID [string]

Skapa användare

http://api.presentlisa.nu/userservice.svc/CreateUser

Typ: POST
Returtyp: ServiceToken
Exempel:
Förkl: Skapar en användare och returnerar en autentiserings-token för användaren

Inparametrar:
username [string] - måste vara unik
password [string]
email [string] - måste vara unik
applicationID [string]

Önskelistor

http://api.presentlisa.nu/WishListService.svc

Hämta önskelistor för användare

http://api.presentlisa.nu/ WishListService.svc/WishLists

Typ: POST
Returtyp: List<WishList>
Exempel:
Förkl: Hämtar alla önskelistor en användare är knuten till, egna samt andras inbjudningar. Önskningar är ej med i denna response.

Inparametrar:
token [string] - erhållen från inloggningen
userID [string] - erhållen från inloggningen
applicationID [string]

 

Hämta önskelista

http://api.presentlisa.nu/ WishListService.svc/WishList

Typ: POST
Returtyp: WishList
Exempel:
Förkl: Hämtar en specifik önskelista med alla önskningar och förslag. Om det är jubilaren som hämtar listan följer inte hur många bokningar som är gjorda samt övriga förslag med i respektive önskning.

Inparametrar:
token [string] - erhållen från inloggningen
userID [string] - erhållen från inloggningen
applicationID [string]
wishListID [int]

Skapa önskning till lista

http://api.presentlisa.nu/ WishListService.svc/InsertWish

Typ: POST
Returtyp: WishList
Exempel:
Förkl: Skapar en ny önskning till specificerad lista, om användaren inte är jubilar blir önskningen ett förslag istället.

Inparametrar:
token [string] - erhållen från inloggningen
userID [string] - erhållen från inloggningen
applicationID [string]
wishListID [int]
wishName [string]
amount [int] antal önskade tex. "12" för 12 tallrikar
description [string] beskrivande text för önskningen
storeName [string] namnet på ev butik
url [string] länk till önskningen

Objekt

ServiceToken

Egenskap Typ Beskrivning
Token
Guid 
Identifierings token som används vid anrop som kräver identifiering istf username/password
UserID 
Guid
ID på inloggad användare

WishList

Egenskap Typ Beskrivning
WishListID
Int
ID på önskelistan
Name
string
Önskelistansnamn
Expires
DateTime?
Sista giltighetsdag för önskelistan
EventDate
DateTime?
Jubileumsdagen
CreateUserID
Guid
UserID på skaparen av listan
Public
bool
Anger om listan är publik eller privat
AllowSuggestions 
bool
Anger om inbjudna användare tillåts lägga till egna förslag
Wishes
List<Wish>
Lista på önskningar för önskelistan
CurrentUserRole
Role
Användarens roll i listan Jubilar eller medlem

Wish

All hantering av bokningar och filtrering av önskningar/förslag sköts på server sidan. En ägare till listan ser aldrig bokningar eller förslag gjorda av inbjudna medlemmar.

Egenskap Typ Beskrivning
WishID
int
Önskningens ID
WishListID
int
ID på önskelistan aktuell önskning tillhör
Name
string
Namnet på önskningen
StoreUrl
string
Url till önskningen, extern
ImageURL
string
Url till bilden på önskningen, extern
StoreName
string
Namn på butiken som säljer produkten
Amount
int?
Önskat antal
AmountLeft
int?
Antal kvarvarande, minskas när medlemmar i listan bokar upp sig på önskningen
Description
string 
Beskrivning av önskningen
IsSuggestion 
bool
Anger om önskningen är ett förslag från annan medlem eller en önskning av ägaren

Role

Anger vilken roll aktuell medlem har till önskelistan, inbjuden eller ägare (jubilar)

Egenskap Typ Beskrivning
ID
int
ID på rollen
Name 
string
Namnet på rollen (Jubelee = 1, Member = 3)

 

Om du är intresserad av att bygga en applikation med våra tjänster, skicka ett mail till info@ibee.se och berätta lite kort vad du tänkt göra så får du en applikationsnyckel av oss.