Ugrás a fő tartalomhoz
Hasznos volt ez az oldal?

Értesítések API

Beérkezett üzenetek és kézbesítési vezérlők

Értesítések olvasása, kézbesítés hangolása, eszközök regisztrálása és beérkező levelek szabályainak alakítása

Ezek az útvonalak táplálják a bejelentkezett értesítési postafiókot, a kézbesítési beállításokat, a push-eszköz nyilvántartását, szűrőket és szabályokat, némítási hatóköröket és szálszintű műveleteket.

JWT vagy felhasználói API kulcsBeérkező levelek szűrésePush eszközökSzabályok és némítások

Hitelesítés és engedélyek​

  • Ezen az oldalon minden útvonal hitelesítést igényel.
  • Minden a hitelesített felhasználóra vonatkozik.
  • A filters és a rules párhuzamos útvonalcsaládok ugyanazon mögöttes koncepcióhoz az aktuális vezérlőfelületen.

Végpont referencia​

Beérkezett üzenetek és kézbesítés​

módszerÚtvonalCélKérjen vagy érdeklődjönAuth
GET/api/notificationsÉrtesítések listázása.Lekérdezés: unreadOnly,archived,threadId,afterCursorJWT vagy felhasználói API kulcs
PATCH/api/notifications/:id/readJelölj meg egy értesítést olvasottnak.Elérési út: idJWT vagy felhasználói API kulcs
PATCH/api/notifications/:id/unreadEgy értesítés megjelölése olvasatlanként.Elérési út: idJWT vagy felhasználói API kulcs
POST/api/notifications/read-allMinden értesítés megjelölése olvasottként.Egyik semJWT vagy felhasználói API kulcs
GET/api/notifications/catalogOlvassa el az értesítési katalógust.Egyik semJWT vagy felhasználói API kulcs
GET/api/notifications/scopesOlvassa el az adott típushoz rendelkezésre álló hatóköröket.Lekérdezés: typeJWT vagy felhasználói API kulcs
GET/api/notifications/preferencesOlvassa el a szállítási beállításokat.Egyik semJWT vagy felhasználói API kulcs
PUT/api/notifications/preferencesCserélje ki a kézbesítési beállításokat.Törzs: preferencesJWT vagy felhasználói API kulcs
POST/api/notifications/devicesRegisztráljon egy push eszközt.Törzs: platform,token,userAgentJWT vagy felhasználói API kulcs
DELETE/api/notifications/devices/:deviceIdPush eszköz törlése.Elérési út: deviceIdJWT vagy felhasználói API kulcs

Szűrők és szabályok​

módszerÚtvonalCélKérjen vagy érdeklődjönAuth
GET/api/notifications/filtersSzűrési szabályok listája.Egyik semJWT vagy felhasználói API kulcs
POST/api/notifications/filtersHozzon létre vagy frissítsen egy szűrőt.Törzs: a beérkező levelek szabályának hasznos terheléseJWT vagy felhasználói API kulcs
PATCH/api/notifications/filtersCserélje ki vagy rendelje újra a szűrőket.Törzs: rulesJWT vagy felhasználói API kulcs
DELETE/api/notifications/filters/:idTöröljön egy szűrőt.Elérési út: idJWT vagy felhasználói API kulcs
GET/api/notifications/rulesSzabályok listája.Egyik semJWT vagy felhasználói API kulcs
POST/api/notifications/rulesHozzon létre vagy frissítsen egy szabályt.Törzs: a beérkező levelek szabályának hasznos terheléseJWT vagy felhasználói API kulcs
PATCH/api/notifications/rulesCserélje ki vagy rendezze át a szabályokat.Törzs: rulesJWT vagy felhasználói API kulcs
DELETE/api/notifications/rules/:idTöröljön egy szabályt.Elérési út: idJWT vagy felhasználói API kulcs

Némák és szálak​

módszerÚtvonalCélKérjen vagy érdeklődjönAuth
GET/api/notifications/mutesListázza a némított hatóköröket.Egyik semJWT vagy felhasználói API kulcs
POST/api/notifications/mutesNémítás létrehozása vagy frissítése.Törzs: scopeType,scopeId,isMutedJWT vagy felhasználói API kulcs
DELETE/api/notifications/mutes/:scopeType/:scopeIdTávolítson el egy némítást.Elérési út: scopeType,scopeIdJWT vagy felhasználói API kulcs
GET/api/notifications/threadsÉrtesítési szálak listázása.Egyik semJWT vagy felhasználói API kulcs
PATCH/api/notifications/threads/:id/muteEgy szál némítása.Elérési út: idJWT vagy felhasználói API kulcs
PATCH/api/notifications/threads/:id/unmuteEgy szál némításának feloldása.Elérési út: idJWT vagy felhasználói API kulcs
PATCH/api/notifications/threads/:id/archiveArchiváljon egy szálat.Elérési út: idJWT vagy felhasználói API kulcs
PATCH/api/notifications/threads/:id/unarchiveEgy szál archiválásának megszüntetése.Elérési út: idJWT vagy felhasználói API kulcs

Kérjen alakzatokat​

Lista lekérdezés​

ListNotificationsQueryDto

  • unreadOnly: opcionális logikai érték
  • archived: opcionális logikai érték
  • threadId: opcionális szám
  • afterCursor: opcionális karakterlánc

Preferences​

UpdateNotificationPreferencesDto.preferences[]

  • eventType: kötelező karakterlánc
  • channels: szükséges objektumtérkép
  • digest: opcionális karakterlánc
  • fallbackOrder: opcionális karakterlánc tömb
  • quietHours: opcionális objektum vagy null

Eszköz regisztráció​

RegisterDeviceDto

  • platform: kötelező web|ios|android
  • token: kötelező karakterlánc
  • userAgent: opcionális karakterlánc

Mode Pack és visszajelzés​

PUT /api/notifications/mode-pack törzs:

  • modePack: "focus_adhd" | "work_store" | "family" | null — a null törli a kiválasztást

Egy pack kiválasztása (újra) betelepíti az adott pack tulajdonában lévő beérkezőlevél-szabályok egy kis csoportját (belsőleg egy packOwned oszloppal megjelölve, így a pack váltása soha nem érinti a saját, kézzel létrehozott szabályaidat), és eltávolítja azokat a szabályokat, amelyeket az előző pack telepített. A family jelenleg nem telepít szabályokat (még nincs gyermek/csak-megtekintés szerepkör a platformon), így a kiválasztása csak a beállítást rögzíti. A mentett UserNotificationSettings sort adja vissza (userId, modePack, feedbackTuning, createdAt, updatedAt).

A GET /api/notifications/mode-pack ugyanezt az alakzatot adja vissza, vagy null-t, ha a felhasználó még soha nem állított be ilyet.

POST /api/notifications/feedback törzs:

  • class: kötelező, az alábbiak egyike: critical|time_critical|coordination|operational|fyi (NotificationClass enum)
  • direction: kötelező, "too_much" | "too_quiet"

A too_much egy fokozattal csendesebbé teszi az adott osztályt a jövőbeli értesítéseknél (a hold_for_gap/batch_digest irányú útválasztás felé); a too_quiet egy fokozattal hangosabbá teszi (az interrupt_now felé). A critical soha nem állítható így - a triázs motor ennél az osztálynál mindig figyelmen kívül hagyja a visszajelzés-hangolást. A frissített UserNotificationSettings sort adja vissza az új feedbackTuning térképpel (pl. { "operational": -1 }).

Szűrők és szabályok​

InboxRuleDto

  • id: opcionális szám
  • name: kötelező karakterlánc
  • scopeType: kötelező global|organisation|calendar|reservation
  • scopeId: nem kötelező
  • isEnabled: kötelező logikai érték
  • conditions: szükséges { field, operator, value } tömb
  • actions: szükséges { type, payload } tömb
  • continueProcessing: opcionális logikai érték
  • order: opcionális szám

UpdateInboxRulesDto.rules: szükséges InboxRuleDto tömb

Némít​

ScopeMuteDto

  • scopeType: kötelező organisation|calendar|reservation|resource|thread
  • scopeId: kötelező karakterlánc
  • isMuted: kötelező logikai érték

Példahívások​

Az olvasatlan értesítések listázása​

curl "$PRIMECAL_API/api/notifications?unreadOnly=true" \
-H "Authorization: Bearer $TOKEN"

Frissítse a beállításokat​

curl -X PUT "$PRIMECAL_API/api/notifications/preferences" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"preferences": [
{
"eventType": "event.reminder",
"channels": {
"inapp": true,
"email": false,
"webpush": true
},
"digest": "immediate",
"fallbackOrder": ["webpush"]
}
]
}'

Regisztráljon egy eszközt​

curl -X POST "$PRIMECAL_API/api/notifications/devices" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"platform": "web",
"token": "push-token-example",
"userAgent": "Chrome 135"
}'

Hozzon létre egy némítást​

curl -X POST "$PRIMECAL_API/api/notifications/mutes" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"scopeType": "calendar",
"scopeId": "12",
"isMuted": true
}'

Válasz és viselkedés megjegyzések​

  • A GET /api/notifications/catalog a legbiztonságosabb forrás preferencia- vagy szabályszerkesztők létrehozásához.
  • A GET /api/notifications/scopes a kért értesítéstípus jelenleg érvényes hatókör-beállításait adja vissza.
  • A szűrő- és szabályútvonalak egyaránt aktívak a vezérlőfelületen; kezelje őket párhuzamos belépési pontokként ugyanahhoz a modellhez.
  • Az eszköztörlés és a némító törlés inkább sikeres stílusú válaszokat ad vissza, nem pedig gazdag objektumokat.

Legjobb gyakorlatok​

  • Használja a afterCursor-t a beérkező levelek növekményes betöltéséhez a nagy, korlátlan lista lekérése helyett.
  • Szabályszerkesztőket készíthet az élő katalógusból és a hatókör végpontjaiból a kemény kódolású eseménytípusok helyett.
  • Tartsa az eszköz regisztrációját idempotensen a kliensben. A háttérrendszer újra fel tud használni egy meglévő token társítást.
  • Előnyben részesítse a némításokat az ideiglenes elnyomáshoz, és a szabályokat a hosszú élettartamú útválasztáshoz vagy archiváláshoz.
  • A szálműveleteket külön tegye közzé a felhasználói felületen. A szál némítása/archiválása eltér a hatókörszintű némítási beállításoktól.