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.