Ugrás a fő tartalomhoz
Was this helpful?

É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

Forrás

  • Fővezérlő: backend-nestjs/src/notifications/notifications.controller.ts
  • Némításvezérlő: backend-nestjs/src/notifications/notification-mutes.controller.ts
  • Szálvezérlő: backend-nestjs/src/notifications/notification-threads.controller.ts
  • DTO-k: backend-nestjs/src/notifications/dto/list-notifications.query.ts, backend-nestjs/src/notifications/dto/update-preferences.dto.ts, backend-nestjs/src/notifications/dto/register-device.dto.ts, backend-nestjs/src/notifications/dto/inbox-rule.dto.ts, backend-nestjs/src/notifications/dto/scope-mute.dto.ts

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önAuthForrás
GET/api/notificationsÉrtesítések listázása.Lekérdezés: unreadOnly,archived,threadId,afterCursorJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
PATCH/api/notifications/:id/readJelölj meg egy értesítést olvasottnak.Elérési út: idJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
PATCH/api/notifications/:id/unreadEgy értesítés megjelölése olvasatlanként.Elérési út: idJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
POST/api/notifications/read-allMinden értesítés megjelölése olvasottként.Egyik semJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
GET/api/notifications/catalogOlvassa el az értesítési katalógust.Egyik semJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
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 kulcsnotifications/notifications.controller.ts
GET/api/notifications/preferencesOlvassa el a szállítási beállításokat.Egyik semJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
PUT/api/notifications/preferencesCserélje ki a kézbesítési beállításokat.Törzs: preferencesJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
POST/api/notifications/devicesRegisztráljon egy push eszközt.Törzs: platform,token,userAgentJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
DELETE/api/notifications/devices/:deviceIdPush eszköz törlése.Elérési út: deviceIdJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts

Szűrők és szabályok

módszerÚtvonalCélKérjen vagy érdeklődjönAuthForrás
GET/api/notifications/filtersSzűrési szabályok listája.Egyik semJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
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 kulcsnotifications/notifications.controller.ts
PATCH/api/notifications/filtersCserélje ki vagy rendelje újra a szűrőket.Törzs: rulesJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
DELETE/api/notifications/filters/:idTöröljön egy szűrőt.Elérési út: idJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
GET/api/notifications/rulesSzabályok listája.Egyik semJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
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 kulcsnotifications/notifications.controller.ts
PATCH/api/notifications/rulesCserélje ki vagy rendezze át a szabályokat.Törzs: rulesJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts
DELETE/api/notifications/rules/:idTöröljön egy szabályt.Elérési út: idJWT vagy felhasználói API kulcsnotifications/notifications.controller.ts

Némák és szálak

módszerÚtvonalCélKérjen vagy érdeklődjönAuthForrás
GET/api/notifications/mutesListázza a némított hatóköröket.Egyik semJWT vagy felhasználói API kulcsnotifications/notification-mutes.controller.ts
POST/api/notifications/mutesNémítás létrehozása vagy frissítése.Törzs: scopeType,scopeId,isMutedJWT vagy felhasználói API kulcsnotifications/notification-mutes.controller.ts
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 kulcsnotifications/notification-mutes.controller.ts
GET/api/notifications/threadsÉrtesítési szálak listázása.Egyik semJWT vagy felhasználói API kulcsnotifications/notification-threads.controller.ts
PATCH/api/notifications/threads/:id/muteEgy szál némítása.Elérési út: idJWT vagy felhasználói API kulcsnotifications/notification-threads.controller.ts
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 kulcsnotifications/notification-threads.controller.ts
PATCH/api/notifications/threads/:id/archiveArchiváljon egy szálat.Elérési út: idJWT vagy felhasználói API kulcsnotifications/notification-threads.controller.ts
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 kulcsnotifications/notification-threads.controller.ts

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

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.