Skip to content

feat(api): notifications module — email, sms and push campaigns and own-push on the Api host - #75

Merged
Domantas merged 4 commits into
mainfrom
feat/api-notifications
Nov 3, 2026
Merged

Domantas merged 4 commits into
mainfrom
feat/api-notifications

Conversation

@Domantas

@Domantas Domantas commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Api-surface notifications module (norbix.api.notifications, sync + async): 44 project-scoped routes — 12 Email, 12 SMS, 20 Push (13 campaign routes incl. audience-count + 7 own-push device / message routes); method names mirror the TS Api module; docs/api/notifications.md + email / sms / push pages.

Tests: make check green (ruff, mypy, 1344 passed; 74 new — verb + exact path for every route, bodies for every write).
Owner decision 2026-11-03; task file: gateway docs/tasks/messaging-coverage-2026-11-03.md. Expected: minor release.

Domantas and others added 4 commits November 3, 2026 19:46
44 project-scoped routes: 12 Email, 12 SMS, 13 Push campaign routes (the
same gateway services the Hub serves, incl. audience-count) and the 7
end-user own-push routes (devices, messages). Sync and async twins,
method names mirror the TypeScript Api module; retry_failed_* keep the
Hub keyword builder, preview_* use the optional scope for signed links.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
One case table per channel (12 Email, 12 SMS, 20 Push) asserts the verb
and the fully-resolved path of every route; the writes assert the body
that reaches the wire (campaign wrapper vs flat SMS, retry wire names,
own-device register fields, by-token delete as a query value, empty-body
stop and mark-read); the signed-link previews send no Authorization on
a client with no credentials; the async twin exposes the same surface.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…l pages

The module table (44 routes by channel, verb, path, scope) and one page
per channel shaped like docs/hub/push.md: the campaign body each channel
reads, the own-device register / sign-out / messages flow for push, the
plural emails messages route, and links to the Hub pages for the shared
audience and delivery-state contracts.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ay reads them

get_*_campaigns: templateId, from / to, paging, databaseIntegrationId;
campaignId on Email and SMS only, emailAddress on Email only (gateway
Hub.*.Campaigns/Campaigns/GetAll.cs). singleEmailStrategy=True sends each
recipient a separate message (Create.EmailToEmails.cs), not the reverse.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Domantas
Domantas merged commit 9e2f1f4 into main Nov 3, 2026
8 checks passed
@Domantas
Domantas deleted the feat/api-notifications branch November 3, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant