Skip to main content

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().

ObjectAccessKey Fields Used
Broadcastreads/writes via hbf-core-apiid, tenant, platform, status, groups, sendBefore
Tenantreads via hbf-core-api (nested in Broadcast)id, organizationId
BotDeploymentreads via hbf-core-apiid, tenantId, organizationId
Subscriberreads/writes via hbf-core-apihandle, tenantId
Responsereads/writes via hbf-core-apiid, broadcastId, subscriberHandle, status

Key Types Imported

TypeUsage
HBFCoreApiHTTP client for all hbf-core operations
MessagingBackendsEnum for platform channel identification
BroadcastStatusesEnum for broadcast lifecycle (PENDING, WAITING, SENDING, etc.)
BroadcastMethodsEnum for broadcast delivery methods
BroadcastTypesEnum for broadcast message types
TenantGrantsEnum 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.