Repository navigation
feat(api): notifications module — email, sms and push campaigns and own-push on the Api host - #75
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.