Data Model: hbf-broadcast
Domain objects used by this service. Full schemas:
docs/domain-model.md
Objects This Service Uses
hbf-broadcast is a plain JavaScript application (not NestJS). It uses @helvia/hbf-core-api via require().
| Object | Access | Key Fields Used |
|---|---|---|
| Broadcast | reads/writes via hbf-core-api | id, tenant, platform, status, groups, sendBefore |
| Tenant | reads via hbf-core-api (nested in Broadcast) | id, organizationId |
| BotDeployment | reads via hbf-core-api | id, tenantId, organizationId |
| Subscriber | reads/writes via hbf-core-api | handle, tenantId |
| Response | reads/writes via hbf-core-api | id, broadcastId, subscriberHandle, status |
Key Types Imported
| Type | Usage |
|---|---|
| HBFCoreApi | HTTP client for all hbf-core operations |
| MessagingBackends | Enum for platform channel identification |
| BroadcastStatuses | Enum for broadcast lifecycle (PENDING, WAITING, SENDING, etc.) |
| BroadcastMethods | Enum for broadcast delivery methods |
| BroadcastTypes | Enum for broadcast message types |
| TenantGrants | Enum for tenant permission checks |
Notes
- No local database. All state is managed via hbf-core.
- Polls for pending/waiting/sending broadcasts on a configurable interval.
- Delivers messages to subscribers across channels: Microsoft Teams, Facebook, Viber, Slack, Email.
- Each channel has configurable batch size and delay between batches.
- Tracks delivery responses per subscriber through hbf-core's ResponsesClient.