Dokumentacija RESTful API sučelja izlaže kompletne web servise rješenja za upravljanje IT uslugama: tikete, incidente, servisne zahtjeve, korisnike, grupe, imovinu, konfiguracijske stavke, bazu znanja, katalog usluga, SLA pravila, integracije, webhooks, izvještaje i administraciju sustava.
API-first. Svi ključni entiteti i funkcije sustava dostupni su programskim putem kroz dokumentirano, sigurno i robusno REST API sučelje.
Format. JSON preko HTTPS protokola, uz OpenAPI/Swagger dokumentaciju, autorizaciju, audit zapise i primjere poziva.
Pogledaj web serviseRješenje je građeno na API-first principu. To znači da postoji sveobuhvatan, dobro dokumentiran, robustan i siguran RESTful API za programski pristup svim ključnim entitetima i funkcijama sustava.
API dokumentacija mora biti dostupna u Swagger/OpenAPI formatu, s opisom endpointa, metoda, parametara, autorizacije, primjera zahtjeva i primjera odgovora za svaki servis.
API izlaže operacije Create, Read, Update i Delete za tikete, korisnike, imovinu, konfiguracijske stavke, članke baze znanja, katalog usluga i ostale ključne module.
Predložena bazna putanja API-ja je /api/v1. Svi servisi koriste HTTPS, JSON payload i standardne HTTP metode.
| Modul | Metode i endpointi | Svrha / izložena funkcionalnost |
|---|---|---|
| Autentikacija i sesije |
POST/auth/tokenPOST /auth/refreshPOST /auth/logoutGET /auth/me
|
Prijava korisnika, izdavanje i osvježavanje tokena, odjava, dohvat trenutno prijavljenog korisnika, MFA status i prava pristupa. |
| Korisnici, grupe i uloge |
GET/usersPOST /usersGET /users/{id}PUT /users/{id}GET /groups, /roles
|
Administracija korisnika, tehničara, agenata, grupa podrške, timova, uloga, ovlaštenja, organizacijskih jedinica i korisničkih profila. |
| Katalog usluga |
GET/service-catalogPOST /service-catalogGET /service-catalog/{id}PUT /service-catalog/{id}
|
Definiranje i objava IT usluga, kategorija usluga, obrazaca zahtjeva, odobravanja, SLA pravila i vidljivosti prema korisničkim grupama. |
| Tiketi |
GET/ticketsPOST /ticketsGET /tickets/{id}PATCH /tickets/{id}DELETE /tickets/{id}
|
Centralni objekt za incidente, servisne zahtjeve, upite i radne naloge: statusi, prioriteti, kategorije, dodjela, eskalacije, privitci, komentari i historija. |
| Incident Management |
GET/incidentsPOST /incidentsPATCH /incidents/{id}/assignPATCH /incidents/{id}/resolvePATCH /incidents/{id}/reopen
|
Prijava, klasifikacija, prioritetizacija, dodjela, rješavanje i zatvaranje incidenata, uključujući vezu na korisnike, imovinu, CI i SLA. |
| Service Request Management |
GET/service-requestsPOST /service-requestsPATCH /service-requests/{id}/approvePATCH /service-requests/{id}/fulfill
|
Servisni zahtjevi iz kataloga usluga, odobravanja, izvršenje zahtjeva, dodjela zadataka i praćenje realizacije. |
| Problem Management |
GET/problemsPOST /problemsPATCH /problems/{id}POST /problems/{id}/known-errors
|
Analiza uzroka ponavljajućih incidenata, evidentiranje poznatih grešaka, workarounda i trajnih rješenja. |
| Change Management |
GET/changesPOST /changesPATCH /changes/{id}/approvePATCH /changes/{id}/schedulePATCH /changes/{id}/close
|
Upravljanje promjenama, odobravanje, planiranje, procjena rizika, povezivanje s CI, imovinom, incidentima i dokumentacijom. |
| Zadaci i aktivnosti |
GET/tasksPOST /tasksPATCH /tasks/{id}PATCH /tasks/{id}/complete
|
Operativni zadaci vezani uz tikete, zahtjeve, promjene, implementaciju, podršku, obuke i interne aktivnosti. |
| SLA / OLA / UC |
GET/sla-policiesPOST /sla-policiesGET /tickets/{id}/slaGET /sla-breaches
|
Definicija rokova odgovora i rješavanja, radnih kalendara, eskalacija, kršenja SLA i izvještavanja o nivou usluge. |
| Imovina / Assets |
GET/assetsPOST /assetsGET /assets/{id}PUT /assets/{id}GET /assets/{id}/tickets
|
Inventar opreme, uređaja, licenci, softvera, zaduženja, statusa, lokacija, korisnika i veza prema incidentima i servisnim zahtjevima. |
| CMDB / konfiguracijske stavke |
GET/configuration-itemsPOST /configuration-itemsGET /configuration-items/{id}/relationsPOST /configuration-items/{id}/relations
|
Konfiguracijske stavke, relacije između sustava, aplikacija, servera, servisa i imovine, utjecaj na incidente i promjene. |
| Baza znanja |
GET/knowledge/articlesPOST /knowledge/articlesPUT /knowledge/articles/{id}GET /knowledge/search
|
Članci, upute, rješenja, workaroundi, kategorije, odobravanje i javna/interna vidljivost prema korisnicima i agentima. |
| Prilozi i dokumenti |
POST/attachmentsGET /attachments/{id}DELETE /attachments/{id}POST /documents
|
Upload slika grešaka, dokumenata, zapisnika, ugovora, računa i drugih priloga vezanih uz tikete, promjene, imovinu i bazu znanja. |
| Komentari i komunikacija |
GET/tickets/{id}/commentsPOST /tickets/{id}/commentsPOST /tickets/{id}/mentions
|
Interni i javni komentari, @mention, komunikacija s korisnikom, agentima i timovima, povezivanje s e-mail i Teams kanalima. |
| Obavijesti |
GET/notificationsPOST /notifications/sendPUT /notification-templates/{id}
|
E-mail, push, Teams i sistemske obavijesti o statusu tiketa, dodjeli, eskalaciji, odobrenju, rješenju i kršenju SLA. |
| Webhookovi |
GET/webhooksPOST /webhooksDELETE /webhooks/{id}POST /webhooks/{id}/test
|
Slanje događaja vanjskim sustavima kod kreiranja, izmjene, zatvaranja ili eskalacije tiketa, promjene CI, novog članka ili promjene korisnika. |
| Integracije |
GET/integrationsPOST /integrations/ad/syncPOST /integrations/email/importPOST /integrations/siem/events
|
Active Directory / Entra ID, Exchange / Office 365, Teams, SIEM, Intune i druge obavezne i dodatne integracije. |
| Izvještaji i dashboardi |
GET/reports/ticketsGET /reports/slaGET /reports/assetsGET /dashboards/{id}
|
Operativni i menadžerski izvještaji, SLA pokazatelji, opterećenje agenata, trendovi incidenata, imovina i status usluga. |
| Audit i sigurnosni zapisi |
GET/audit-logsGET /security/eventsGET /access-logs
|
Sljedivost svih aktivnosti: prijava, izmjena podataka, promjena prava, integracijski pozivi, administrativne akcije i sigurnosni događaji. |
{
"id": "TCK-2026-000145",
"type": "incident",
"title": "Greška u AIS/BIS sistemu",
"description": "Korisnik ne može pristupiti modulu.",
"status": "new",
"priority": "high",
"impact": "department",
"urgency": "high",
"category": "application",
"serviceId": "SRV-AIS-BIS",
"requesterId": "USR-10021",
"assigneeId": "USR-AGENT-04",
"groupId": "GRP-L2-APPLICATIONS",
"assetIds": ["AST-45001"],
"configurationItemIds": ["CI-AIS-APP-01"],
"sla": {
"responseDueAt": "2026-05-12T10:30:00Z",
"resolutionDueAt": "2026-05-12T16:30:00Z",
"breached": false
},
"attachments": [],
"createdAt": "2026-05-12T10:10:00Z",
"updatedAt": "2026-05-12T10:12:00Z"
}
{
"id": "AST-45001",
"assetTag": "ZZOKS-LAP-0021",
"name": "Laptop ordinacija 21",
"type": "laptop",
"manufacturer": "Dell",
"model": "Latitude",
"serialNumber": "ABC123456",
"status": "in_use",
"assignedTo": "USR-10021",
"location": "Ambulanta Sarajevo",
"warrantyExpiresAt": "2028-03-01",
"linkedConfigurationItems": ["CI-AIS-APP-01"],
"createdAt": "2026-01-15T09:00:00Z"
}
{
"id": "CI-AIS-APP-01",
"name": "AIS/BIS aplikativni servis",
"ciType": "application_service",
"status": "operational",
"environment": "production",
"ownerGroupId": "GRP-L2-APPLICATIONS",
"criticality": "high",
"relations": [
{
"targetCiId": "CI-DB-01",
"relationshipType": "depends_on"
}
],
"linkedServices": ["SRV-AIS-BIS"]
}
{
"id": "KB-00089",
"title": "Postupak kod greške prijave u AIS/BIS",
"summary": "Upute za provjeru korisničke sesije i SSO prijave.",
"content": "Koraci za agenta...",
"category": "AIS/BIS",
"visibility": "agents_and_users",
"status": "published",
"tags": ["AIS", "BIS", "SSO", "login"],
"relatedTicketIds": ["TCK-2026-000145"],
"approvedBy": "USR-MANAGER-01",
"publishedAt": "2026-05-13T08:00:00Z"
}
| Parametar | Primjer | Opis |
|---|---|---|
page, pageSize | ?page=1&pageSize=50 | Straničenje rezultata. |
sort | ?sort=-createdAt | Sortiranje po datumu, prioritetu, statusu ili drugom polju. |
filter | ?status=open&priority=high | Filtriranje po statusu, prioritetu, tipu, korisniku, grupi ili usluzi. |
query | ?query=AIS%20greška | Puna tekstualna pretraga po naslovu, opisu i komentarima. |
include | ?include=comments,attachments,sla | Uključivanje povezanih objekata u odgovoru. |
{
"success": true,
"data": [],
"pagination": {
"page": 1,
"pageSize": 50,
"totalItems": 1250,
"totalPages": 25
},
"traceId": "req-7f3a9f2c"
}
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Obavezno polje title nije popunjeno.",
"details": [
{
"field": "title",
"issue": "required"
}
]
},
"traceId": "req-9b11c8e4"
}
API sloj mora omogućiti integraciju s postojećim ekosistemom korisnika i standardnim industrijskim platformama.
| Sistem za integraciju | Smjer | Tehnologija | Svrha i ključni podaci za razmjenu |
|---|---|---|---|
| Microsoft Active Directory / Azure Active Directory / Entra ID | Jednosmjerna prema ITSM | LDAP / Graph API | Sinkronizacija korisnika, grupa i organizacijskih jedinica, jedinstven izvor identiteta, SSO prijava korisnika i agenata. |
| Microsoft Exchange / Office 365 | Dvosmjerna | EWS / Graph API | Automatsko kreiranje i ažuriranje tiketa iz e-mail poruka, slanje notifikacija, ažuriranje tiketa odgovorom na e-mail. |
| Microsoft Teams | Dvosmjerna | Graph API / Bots | Kreiranje tiketa iz Teams chata ili kanala, notifikacije o statusu, pokretanje chata s korisnikom, bot za jednostavne upite. |
| SIEM, npr. IBM QRadar | Jednosmjerna prema ITSM | REST API / Webhook / E-mail | Automatsko kreiranje sigurnosnih incidenata iz korelacijskih pravila, prioriteti, opis, izvorne IP adrese, pogođeni korisnici i link prema SIEM događaju. |
| Microsoft Intune / Endpoint Management | Dvosmjerna | Graph API | Prikaz compliance statusa uređaja, sigurnosnih politika, te pokretanje akcija kao Sync, Restart ili Scan direktno iz ITSM sučelja. |
| ERP / financijski sustavi | Dvosmjerna | REST API / Webhook | Povezivanje ugovora, računa, dobavljača, troškova, licenci i servisnih aktivnosti s poslovnim sustavima. |
| HR sustavi | Jednosmjerna ili dvosmjerna | REST API / CSV / LDAP | Sinkronizacija zaposlenika, organizacijskih jedinica, radnih mjesta, dostupnosti i kontakt podataka. |
API podržava OAuth2 / OpenID Connect, JWT access tokene, refresh tokene, servisne API ključeve i SSO integraciju s identitetskim providerima.
Role-Based Access Control (RBAC) omogućava granularna prava za pregled, kreiranje, izmjenu, brisanje i administraciju podataka po modulima.
Svaki API poziv bilježi korisnika ili servisni račun, vrijeme, endpoint, IP adresu, rezultat, traceId i promijenjena polja.
Komunikacija se obavlja isključivo preko HTTPS/TLS 1.2+ protokola, a podaci u mirovanju se štite jakom enkripcijom.
API podržava ograničenje broja poziva po korisniku, IP adresi ili integracijskom klijentu radi zaštite dostupnosti sustava.
Sustav podržava zahtjeve zaštite ličnih podataka, sigurnosne kontrole, logiranje pristupa i usklađenost s relevantnim certifikacijama.
| Status | Značenje | Primjena |
|---|---|---|
200 OK | Uspješan zahtjev | Dohvat ili izmjena resursa. |
201 Created | Kreiran resurs | Kreiranje tiketa, korisnika, članka, asseta ili CI. |
400 Bad Request | Neispravan zahtjev | Validacijska greška ili neispravan payload. |
401 Unauthorized | Nema autentikacije | Nedostaje ili je istekao token. |
403 Forbidden | Nema ovlaštenja | Korisnik nema pravo za traženu akciju. |
404 Not Found | Resurs ne postoji | Nepostojeći ticket, korisnik, CI ili asset. |
409 Conflict | Konflikt stanja | Pokušaj zatvaranja već zatvorenog tiketa ili konflikt verzije. |
429 Too Many Requests | Previše poziva | Rate limit je prekoračen. |
500 Internal Server Error | Sistemska greška | Neočekivana greška, uz obavezni traceId. |
Javno dostupna API dokumentacija može biti objavljena na putanji /api/docs, dok se OpenAPI JSON može izložiti na /api/openapi.json.
openapi: 3.0.3
info:
title: Service Desk / ITSM REST API
version: "1.0.0"
servers:
- url: https://itsm.example.ba/api/v1
security:
- bearerAuth: []
paths:
/tickets:
get:
summary: Dohvat liste tiketa
parameters:
- name: status
in: query
schema:
type: string
- name: priority
in: query
schema:
type: string
responses:
"200":
description: Lista tiketa
post:
summary: Kreiranje novog tiketa
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/TicketCreateRequest"
responses:
"201":
description: Ticket kreiran
/tickets/{id}:
get:
summary: Dohvat pojedinačnog tiketa
patch:
summary: Izmjena tiketa
delete:
summary: Brisanje ili deaktivacija tiketa
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
TicketCreateRequest:
type: object
required: [type, title, description, requesterId]
properties:
type:
type: string
enum: [incident, service_request, question, task]
title:
type: string
description:
type: string
requesterId:
type: string
priority:
type: string
enum: [low, medium, high, critical]
POST /api/v1/incidents
Authorization: Bearer <access_token>
Content-Type: application/json
{
"title": "Greška u AIS/BIS sistemu",
"description": "Doktor ne može otvoriti karton pacijenta.",
"requesterId": "USR-10021",
"priority": "high",
"category": "application",
"serviceId": "SRV-AIS-BIS",
"attachments": [
{
"attachmentId": "ATT-77812"
}
]
}
{
"event": "ticket.created",
"eventId": "EVT-2026-000001",
"occurredAt": "2026-05-12T10:10:00Z",
"data": {
"ticketId": "TCK-2026-000145",
"type": "incident",
"priority": "high",
"status": "new",
"serviceId": "SRV-AIS-BIS"
},
"signature": "sha256=..."
}
Ova stranica definira API sučelje kao sastavni dio ITSM rješenja. REST API izlaže sve ključne module i entitete, omogućava integraciju s postojećim sistemima, podržava standardnu OpenAPI dokumentaciju i osigurava programsku dostupnost funkcionalnosti koje su potrebne za implementaciju Service Desk / Incident Management rješenja.
Povratak na Office Productivity Suite