Zahtevki
Podrobna dokumentacija za naše API klice. Avtentikacija je potrebna za vse klice. API ključ najdete na profilu.
URL povezave na tej strani vsebujejo spremenljive dele, ki jih je potrebno zamenjati z dejanskimi vrednostmi glede na vaš primer, denimo:
https://test.mdocs-plus.si/document/api/default/view?id=2
GET klici
Zaglavja (Headers)
| Polje | Tip | Opis | Privzeta vrednost | Obvezno |
|---|---|---|---|---|
| Authorization | Bearer Token | Žeton za avtentikacijo | ✔️ | |
| expand | string | Razširjena polja | ||
| fields | string | Polja, ki jih vrne zahtevek | ||
| href | boolean | (true|false) Vrne URL od posameznega dokumenta | false | |
| dateFormat | string | Format datuma za časovna polja | php:d.m.Y H:i:s | |
| dateFields | string | Polja, za katera se uporabi oblika datuma nastavljenega z dateFormat |
Primer
{
"Authorization": "xfWuluzj...",
"expand": "documentType.*,createdBy.name",
"fields": "id,subject",
"href": "true",
"dateFormat": "php:d/m/Y",
"dateFields": "created_at,updated_at"
}
Pridobi zapise
https://{DOMAIN}/{CONTROLLER}/api/default
Opis
API klic vrne vse rezultate, do katerih ima uporabnik dostop.
// GET https://{DOMAIN}/document/api/default
{
{
"id": 1,
"description": "xyz",
},
{
"id": 2,
"description": "123",
},
...
}
Poglej zapis
https://{DOMAIN}/{CONTROLLER}/api/default/view?id={ID}
Opis
API klic vrne podatke zapisa z določenim ID-jem, če ima uporabnik do njega dostop.
// GET https://{DOMAIN}/document/api/default/view?id=1
{
"id": 1,
"description": "xyz",
...
}
list-objects
https://{DOMAIN}/{CONTROLLER}/api/default/list-objects?id={ID}&attribute={ATTR}
Opis
list-objects omogoča neposreden dostop do zapisa, ki je shranjen v določenem referenčnem polju izbranega zapisa.
{ID} predstavlja identifikacijsko številko zapisa, iz katerega želimo pridobiti podatke referenčnega polja
{ATTR} predstavlja ime referenčnega polja, za katerega želimo pridobiti pripadajoči zapis
Podtake o imenih referenčnih polj lahko pridobimo z info klicom, pod ključem expandable.
// GET /document skupaj z expand.createdBy zaglavjem
// pridobimo zapis Document z id=2
{
"id": 2,
"created_by": 12,
"createdBy": {
// podatki povezanega zapisa User
"id": 12,
"first_name": "Janez",
"last_name": "Novak"
}
}
Klic list-objects pa vrne zapis, ki je shranjen v referenčnem polju direktno, v tem primeru je pod referenčnim poljem created_by shranjen zapis modela User.
Z uporabo list-objects pridobimo enake podatke, kot če bi klicali /get za model od referenčnega polja, npr: api/user/view?id=12.
Ker direktno pridobimo referenčni zapis, lahko na njem tudi kličemo expand zaglavje
// GET /list-objects?id=2&attribute=createdBy
// pridobimo zapis User z id=12
{
"id": 12,
"first_name": "Janez",
"last_name": "Novak"
}
POST klici
Mnogi zapisi imajo kot polje lahko shranjen šifrant iz drugega zapisa. Glej referenčno nastavljanje polj.
Zaglavja (Headers)
| Polje | Tip | Opis | Privzeta vrednost | Obvezno |
|---|---|---|---|---|
| Authorization | Bearer Token | Žeton za avtentikacijo | ✔️ | |
| expand | string | Razširjena polja | ||
| fields | string | Polja, ki jih vrne zahtevek | ||
| href | boolean | (true|false) Vrne URL od posameznega dokumenta | false | |
| dateFormat | string | Format datuma za časovna polja | php:d.m.Y H:i:s | |
| dateFields | string | Polja, za katera se uporabi oblika datuma nastavljenega z dateFormat | ||
| ignoreMissingReference | boolean | (true|false) Uporabljeno pri referenčnem nastavljanju polj | false | |
| ignoreDuplicateReference | boolean | (true|false) Uporabljeno pri referenčnem nastavljanju polj | true |
Primer
{
"Authorization": "xfWuluzj...",
"expand": "documentType.*,createdBy.name",
"fields": "id,subject",
"href": "true",
"dateFormat": "php:d/m/Y",
"dateFields": "created_at,updated_at",
"ignoreMissingReference": "true",
"ignoreDuplicateReference": "false"
}
Ustvari zapis
https://{DOMAIN}/{CONTROLLER}/api/default/create
Opis
API klic ustvari nov zapis in vrne podatke o njem.
Posodobi zapis
https://{DOMAIN}/{CONTROLLER}/api/default/update?id={ID}
Opis
API klic omogoča posodobitev zapisa, če ima uporabnik do njega dostop. Kot odgovor je vrnjen zapis s posodobljenimi podatki.
DELETE klici
Zaglavja (Headers)
| Polje | Tip | Opis | Privzeta vrednost | Obvezno |
|---|---|---|---|---|
| Authorization | Bearer Token | Žeton za avtentikacijo | ✔️ |
Primer
{
"Authorization": "xfWuluzj..."
}
Izbriši zapis
https://{DOMAIN}/{CONTROLLER}/api/default/delete?id={ID}
Opis
API klic izbriše določen zapis, če ima uporabnik do njega dostop.
OPTIONS klici
Zaglavja (Headers)
| Polje | Tip | Opis | Privzeta vrednost | Obvezno |
|---|---|---|---|---|
| Authorization | Bearer Token | Žeton za avtentikacijo | ✔️ |
Primer
{
"Authorization": "xfWuluzj..."
}
Info zapisa
https://{DOMAIN}/{CONTROLLER}/api/default/info
Opis
API klic vrne podrobnosti o zapisu.
// GET https://{DOMAIN}/document/api/default/info
{
"modelClass": "mikrografija.mdocs.document.models.api.Document",
"searchClass": "mikrografija.mdocs.document.models.search.DocumentSearch",
"attributes": {
"id": "ID",
"principal_id": "Principal ID",
"uuid": "UUID",
"company_id": "Subjekt",
"classification_code_id": "Klasifikacijski znak",
"created_by": "Ustvaril",
"updated_by": "Posodobil",
...
},
"expandable": {
"principal": "principal.*",
"company": "company.*",
"classificationCode": "classificationCode.*",
...
}
}
modelClass: polno ime modela zapisa
searchClass: polno ime iskalnega modela zapisa
attributes: tehnična ter prikazna imena polj
expandable: referenčna polja