É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 arulespá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 | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth | Forrás |
|---|---|---|---|---|---|
GET | /api/notifications | Értesítések listázása. | Lekérdezés: unreadOnly,archived,threadId,afterCursor | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
PATCH | /api/notifications/:id/read | Jelölj meg egy értesítést olvasottnak. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
PATCH | /api/notifications/:id/unread | Egy értesítés megjelölése olvasatlanként. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
POST | /api/notifications/read-all | Minden értesítés megjelölése olvasottként. | Egyik sem | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
GET | /api/notifications/catalog | Olvassa el az értesítési katalógust. | Egyik sem | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
GET | /api/notifications/scopes | Olvassa el az adott típushoz rendelkezésre álló hatóköröket. | Lekérdezés: type | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
GET | /api/notifications/preferences | Olvassa el a szállítási beállításokat. | Egyik sem | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
PUT | /api/notifications/preferences | Cserélje ki a kézbesítési beállításokat. | Törzs: preferences | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
POST | /api/notifications/devices | Regisztráljon egy push eszközt. | Törzs: platform,token,userAgent | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
DELETE | /api/notifications/devices/:deviceId | Push eszköz törlése. | Elérési út: deviceId | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
Szűrők és szabályok
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth | Forrás |
|---|---|---|---|---|---|
GET | /api/notifications/filters | Szűrési szabályok listája. | Egyik sem | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
POST | /api/notifications/filters | Hozzon létre vagy frissítsen egy szűrőt. | Törzs: a beérkező levelek szabályának hasznos terhelése | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
PATCH | /api/notifications/filters | Cserélje ki vagy rendelje újra a szűrőket. | Törzs: rules | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
DELETE | /api/notifications/filters/:id | Töröljön egy szűrőt. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
GET | /api/notifications/rules | Szabályok listája. | Egyik sem | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
POST | /api/notifications/rules | Hozzon létre vagy frissítsen egy szabályt. | Törzs: a beérkező levelek szabályának hasznos terhelése | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
PATCH | /api/notifications/rules | Cserélje ki vagy rendezze át a szabályokat. | Törzs: rules | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
DELETE | /api/notifications/rules/:id | Töröljön egy szabályt. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notifications.controller.ts |
Némák és szálak
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth | Forrás |
|---|---|---|---|---|---|
GET | /api/notifications/mutes | Listázza a némított hatóköröket. | Egyik sem | JWT vagy felhasználói API kulcs | notifications/notification-mutes.controller.ts |
POST | /api/notifications/mutes | Némítás létrehozása vagy frissítése. | Törzs: scopeType,scopeId,isMuted | JWT vagy felhasználói API kulcs | notifications/notification-mutes.controller.ts |
DELETE | /api/notifications/mutes/:scopeType/:scopeId | Távolítson el egy némítást. | Elérési út: scopeType,scopeId | JWT vagy felhasználói API kulcs | notifications/notification-mutes.controller.ts |
GET | /api/notifications/threads | Értesítési szálak listázása. | Egyik sem | JWT vagy felhasználói API kulcs | notifications/notification-threads.controller.ts |
PATCH | /api/notifications/threads/:id/mute | Egy szál némítása. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notification-threads.controller.ts |
PATCH | /api/notifications/threads/:id/unmute | Egy szál némításának feloldása. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notification-threads.controller.ts |
PATCH | /api/notifications/threads/:id/archive | Archiváljon egy szálat. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notification-threads.controller.ts |
PATCH | /api/notifications/threads/:id/unarchive | Egy szál archiválásának megszüntetése. | Elérési út: id | JWT vagy felhasználói API kulcs | notifications/notification-threads.controller.ts |
Kérjen alakzatokat
Lista lekérdezés
ListNotificationsQueryDto
unreadOnly: opcionális logikai értékarchived: opcionális logikai értékthreadId: opcionális számafterCursor: opcionális karakterlánc
Preferences
UpdateNotificationPreferencesDto.preferences[]
eventType: kötelező karakterláncchannels: szükséges objektumtérképdigest: opcionális karakterláncfallbackOrder: opcionális karakterlánc tömbquietHours: opcionális objektum vagynull
Eszköz regisztráció
RegisterDeviceDto
platform: kötelezőweb|ios|androidtoken: kötelező karakterláncuserAgent: opcionális karakterlánc
Szűrők és szabályok
InboxRuleDto
id: opcionális számname: kötelező karakterláncscopeType: kötelezőglobal|organisation|calendar|reservationscopeId: nem kötelezőisEnabled: kötelező logikai értékconditions: szükséges{ field, operator, value }tömbactions: szükséges{ type, payload }tömbcontinueProcessing: opcionális logikai értékorder: opcionális szám
UpdateInboxRulesDto.rules: szükséges InboxRuleDto tömb
Némít
ScopeMuteDto
scopeType: kötelezőorganisation|calendar|reservation|resource|threadscopeId: kötelező karakterláncisMuted: 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/cataloga legbiztonságosabb forrás preferencia- vagy szabályszerkesztők létrehozásához. - A
GET /api/notifications/scopesa 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.