Hjälpsidor för ServIT Center


REST-gränssnitt




Inledning

ServIT’s Rest API erbjuder möjligheten att läsa, skapa/uppdatera eller ta bort resurser i er miljö i vårt system.

Nedan beskrivs ServIT’s api som är rest-baserat. Först beskrivs autentisering, versionshantering och hur url-länken är uppbyggd, sedan kommer ett avsnittet indelat per resurs och beskrivning av vilka verb och länkar som fungerar med respektive resurs.


Autentisering

I rubriken till html-anropet anges följande, Authorization: Basic base64(username:password)’, där username och password krypteras med bas 64, separerat med ett kolon. Username är det användarnamn ni har i systemet och password är det lösenord ni använder. Exempel: Authorization: Basic RUhETFFIFzpUFFdWSehDTQ==


Verb

I ett html-anrop så finns det html verb som skickas med. De verben som används är följande.


VerbBeskrivning
GETHämtar/läser en resurs
POSTSkapar/Uppdaterar en resurs
DELETETar bort en resurs.

Avvikelser verb

POST vs PUT Vi använder POST för vid både updatering av en befintlig post och vid skapade av en post, svs, PUT utgår som verb i vårt API.


Länk

Api’et nås via ’ https:///RestAPI/...’.

Uppbyggnad av URL-länken

.../version/resurs1[/id1]...[/resursX][/idX]?info_type=value&param1=value1...&paramY=valueY

Del i länkBeskrivning
VersionVersionsid som anger version av api
ResursResurs som skall bearbetas
IdId som pekar ut en resurs
Info_typeEventuell information som önskat om resursen
ParamParameter/Parametrar som kan beskriva ett önskat urval eller filtrering

Returkoder

Rest använder de returkoder som redan finns I html. De vanligaste koderna är enligt nedan.

ReturkodBeskrivning
200Förfrågan gick bra.
201En resurs skapades eller uppdaterades. Används vid metoderna PUT och POST.
204Förfrågan gick bra. Ingen data returneras.
400Fel format på förfrågan. Används valigen vid metoderna PUT och POST.
401Det gick inte att säkerställa vem som ställt frågan.
404Efterfrågad resurs gick inte att hitta.
405Metoden I frågan används ej av api’et.
409Exempelvis, resursen finns redan vid försök att skapa den.
500Övriga fel.

Parametrar

API

Följande parametrar är giltiga i api't.

ParameterBeskrivningMin.MaxGiltiga värdenDefaultExempel
sortStyr sorteringen på lista med resurser.asc, desc
limitBegränsar antal svar vid flera resurser.110001000
id_inEn lista med giltiga resurser för att begränsa urval.id_in=1,2,3
info_typeGer information om en resurser.stat, status
countReturnerar antal poster.count=1

Sökning

För sökning efter en eller flera resurser kan datafält anges som parameter i url-strängen.
Det går att söka på varje fält som returneras i returdatan för en resurs enligt '...\{id}?datafält={value}'.

Exempelvis, '.../users?usermail=namn@adress.se', söker efter användare med e-postadressen 'namn@adress.se'.

Urval

För sökning efter ett urval av resurser kan ett urval anges i url-strängen enligt '...\{id}?datafält:{operator}={value}'.

Exempelvis, '.../users?addts:gt=20200825', söker efter användare som lades till efter 20200825.

För att ange ett spann anges datafältet 2 gånger med 2 olika operatörer enligt '...\{id}?datafält:{operator}={value}&datafält:{operator}={value}'.

Följande operatörer finns.

OperatorAnges somBeskrivningExempel
<ltMindre änaddts:lt=20200825
<=leMindre än eller lika medaddts:le=20200825
>=geStörre än eller lika medaddts:ge=20200825
>gtStörre änaddts:gt=20200825

Resurser

Generella resurser

Generella resurser för generella REST-api.

BeskrivningResursGiltiga metoderMöjlig information
B-nummerbnosGET
SamtalcallsGET
FöretagcompaniesGETpbx_stat
KontaktercontactsGET
Telefonnummer för kontaktcrm_aidGET
Extra e-post för kontaktcrm_contactmailGET
Sökord för kontaktcrm_contactsearchGET
Status för kontaktcrm_contactstatusGET
Ärende loggcrm_logsGET
Mallarcrm_templateGET
SvarsställesitesGETpbx_stat, stat, status
Tips för kontakt/företagpbxtipsGET
ÄrendenticketsGET
KöerqueuesGETcalls, call_status, status
AnvändareusersGETstatus
Händelselogg för användareuserlogsGET
HandläggarstatistikuserstatsGET
SvarsgruppstatistikteamstatsGET