Skip to content
Pametna platforma za čezmejno kulturo · SI–AT

Ena mreža za kulturne vsebine na obeh straneh meje

Platforma poveže obstoječe spletne strani kulturnih organizacij, umetnikov in ustvarjalcev. Dogodke samodejno prevzame, kategorizira, prevede med slovenščino in nemščino ter jih posreduje partnerjem, ki jim so namenjeni.

sl · izvor: partner v Mariboru Koncert komornega godalnega kvarteta, Sinagoga Maribor, 14. 11., 19.30
de · cilj: partner v Grazu · AI-prevod Konzert des Streichquartetts, Synagoge Maribor, 14.11., 19:30 Uhr
Temelji na platformi Mandaryno REST API + webhooks AI-prevajanje SL ↔ DE Modularno in razširljivo
Kako deluje

Pot vsebine od izvora do objave

Spletne strani partnerjev ostanejo primarni vir svojih vsebin. Platforma skrbi za povezovanje, obdelavo in distribucijo med sistemi.

1 · Prevzem

Uvoz

Periodično ali sprotno prek API-ja. Zaznavanje novih in spremenjenih vsebin.

2 · Normalizacija

Enotna struktura

Naziv, opis, termin, lokacija, organizator, mediji, izvorni sistem in ID.

3 · Kategorizacija

Skupni katalog

Preslikava kategorij partnerjev v skupne kategorije, z AI-predlogom.

4 · AI-obdelava

Prevod in prilagoditev

SL ↔ DE, prilagojeni naslovi in opisi. Original ostane ločeno shranjen.

5 · Distribucija

Ciljni partnerji

Pravila določijo prejemnike. Status prenosa in objave se beleži.

flowchart LR
  A[Spletna stran partnerja A
SL] -- push / pull --> I(Integracijski sloj) B[Spletna stran partnerja B
DE] -- push / pull --> I I --> N[(Centralna baza
original + verzije)] N --> K{Kategorije +
pravila distribucije} K -- drug jezik --> T[AI-prevod in prilagoditev] T --> D(Distribucija) K -- isti jezik --> D D -- feed / webhook --> C[Ciljna spletna stran C] D -- feed / webhook --> B N --> O[Obveščanje obiskovalcev] N --> S[Analitika]
Moduli rešitve

Kaj platforma vsebuje

§ 2.1

Integracijska platforma

  • povezave z zunanjimi stranmi prek API
  • zaznavanje novih in spremenjenih vsebin
  • evidenca izvornega sistema in ID-ja
  • dnevnik sinhronizacij in napak
§ 2.2

Uvoz in obdelava vsebin

  • periodični in sprotni prevzem
  • podatki o dogodku, fotografije, mediji
  • določitev izvornega jezika
  • pretvorba v enotno strukturo
§ 2.3

AI-prevajanje in prilagajanje

  • DE → SL in SL → DE
  • jezikovna prilagoditev besedil
  • prilagoditev ciljnemu sistemu
  • pomoč pri kategorizaciji
§ 2.4

Kategorizacija in distribucija

  • kategorije in podkategorije
  • preslikave med sistemi
  • pravila: kategorija → partner → jezik
  • pregled statusa distribucije
§ 2.5

Upravljavski vmesnik

  • vsebine, partnerji, uporabniki, pravice
  • pregled in potrditev AI-prevodov
  • stanje integracij in napak
  • osnovna statistika
§ 2.6

Interesi obiskovalcev

  • izbira kategorij in kriterijev
  • prijava na samodejna obvestila
  • upravljanje nastavitev
  • odjava od posameznih ali vseh obvestil
§ 2.7

Analitika in vizualizacija

  • vsebine po partnerjih in kategorijah
  • število distribuiranih vsebin
  • interesi uporabnikov
  • uporaba in interakcije
§ 2.8

Tehnološka osnova

  • platforma Mandaryno (PROING Applications d.o.o.)
  • uporabniki, podatki, integracije, moduli
  • licenca brez prenosa lastništva kode
  • Licenčni pogoji
§ 2.9 · Meje obsega

Kaj je vključeno in kaj ne

Vključeno

  • funkcionalnosti pametne platforme
  • API-vmesnik na strani platforme in njegova dokumentacija
  • upravljavski in uporabniški vmesnik
  • AI-prevajanje, kategorizacija, distribucija, obveščanje, analitika

Ni vključeno

  • razvoj API-jev na obstoječih straneh partnerjev
  • programske spremembe zunanjih strani
  • moduli ali vtičniki za sisteme tretjih ponudnikov
  • prilagoditve baz in sistemov partnerjev
  • stroški izvajalcev zunanjih strani, licence tretjih

Zunanji sistemi morajo zagotoviti tehnično možnost komunikacije z API-jem platforme. Dodatni razvoj na strani posameznega zunanjega sistema se ovrednoti ločeno.

Predlog API-vmesnika

Endpointi, ki pokrijejo obseg ponudbe

REST API pod /api/v1, JSON, dokumentiran v OpenAPI 3.1. Vsak sklop je označen s poglavjem ponudbe, ki ga pokriva.

Partnerski sistemiOAuth2 client credentials ali API-ključ na integracijo. Dostop le do lastnih vsebin in lastnega feeda.
UpravljavciPrijava v Mandaryno, JWT z vlogami: administrator, urednik, partner-urednik, analitik.
JavnoPortal in obveščanje obiskovalcev. Omejitev zahtev, potrjevanje z e-pošto (double opt-in).
KonvencijePaginacija s kazalcem cursor, filter updated_since, Idempotency-Key pri uvozu, podpis webhookov HMAC.

Podatkovni model

Enotna struktura vsebine

Partner pošlje dogodek v tej obliki ali pa platforma pretvori njegovo obstoječo obliko prek preslikave polj. Ključ za zaznavanje sprememb je par source.system_id + source.external_id.

Uvoz dogodka (partner → platforma)

PUT /api/v1/ingest/contents/kd-maribor/evt-4471
{
  "type": "event",
  "language": "sl",
  "title": "Koncert godalnega kvarteta",
  "description": "…",
  "starts_at": "2026-11-14T19:30:00+01:00",
  "ends_at": "2026-11-14T21:00:00+01:00",
  "location": {
    "name": "Sinagoga Maribor",
    "address": "Židovska ulica 4, 2000 Maribor",
    "country": "SI", "lat": 46.5571, "lng": 15.6467
  },
  "organizer": { "name": "…", "url": "…" },
  "categories_external": ["glasba/klasična"],
  "media": [{ "type": "image", "url": "https://…/kvartet.jpg" }],
  "url": "https://partner.si/dogodki/4471",
  "price": { "free": false, "text": "15 €" },
  "updated_at": "2026-10-20T08:12:00Z"
}

Feed za ciljnega partnerja (platforma → partner)

GET /api/v1/outbound/feed?lang=de&updated_since=…
{
  "items": [{
    "delivery_id": "dlv_8f2c",
    "content_id": "cnt_19ab",
    "version": 3,
    "language": "de",
    "translated": true,
    "translation_status": "approved",
    "title": "Konzert des Streichquartetts",
    "categories": ["musik.klassik"],
    "source": {
      "partner": "KD Maribor",
      "system_id": "kd-maribor",
      "external_id": "evt-4471",
      "original_language": "sl",
      "url": "https://partner.si/dogodki/4471"
    },
    "action": "upsert"
  }],
  "next_cursor": "eyJpZCI6…"
}

Statusi distribucije

pending→ translating→ ready→ delivered→ published ·failedrejectedwithdrawn

Ciljni sistem potrdi prevzem z POST /outbound/acks, kjer sporoči svoj ID in URL objave. Tako je vidna sledljivost od originala do objavljene različice.