Platform-specific messaging application configuration. Stores credentials and settings for each messaging platform.
Collection: messaging-apps | DB: MongoDB
Source: hbf-core/src/main/java/gr/helvia/hbf/core/domain/MessagingApp.kt
TypeScript: hbf-core-api/src/datamodel/messaging_app.ts
Fields
| Field | Type | Required | Indexed | Notes |
|---|
id | String | yes | PK | MongoDB document ID, read-only |
appId | String | yes | yes (unique) | Unique app identifier |
appName | String | yes | yes (unique) | Friendly name |
platform | MessagingPlatform | yes | | |
config | MessagingAppConfigurations | yes | | Platform-specific config |
eventCallback | EventCallback | no | | |
fallbackNotFoundDeploymentId | String | no | | Deployment to use when deployment not found |
fallbackDisabledDeploymentId | String | no | | Deployment to use when deployment is disabled |
Nested Objects
EventCallback
| Field | Type | Notes |
|---|
actionUrl | String | Callback URL |
MessagingAppConfigurations
Container with one field per platform. Only the relevant platform's config should be populated.
| Field | Type | Notes |
|---|
microsoftTeams | MicrosoftTeamsAppConfigurations | |
microsoftWebChat | MicrosoftWebChatAppConfigurations | |
viber | ViberAppConfigurations | |
facebook | FacebookAppConfigurations | |
instagram | InstagramAppConfigurations | |
slack | SlackAppConfigurations | |
unity | UnityAppConfigurations | |
whatsapp | WhatsAppAppConfigurations | |
api | ApiAppConfigurations | |
zendesk | ZendeskAppConfigurations | |
Source: hbf-core/src/main/java/gr/helvia/hbf/core/domain/MessagingAppConfigurations.kt
MicrosoftTeamsAppConfigurations
| Field | Type | Notes |
|---|
clientId | String | @NotNull on create |
clientSecret | String | @NotNull on create |
MicrosoftWebChatAppConfigurations
| Field | Type | Notes |
|---|
clientId | String | @NotNull on create |
clientSecret | String | @NotNull on create |
webSecretKey | String | @NotNull on create |
azureBotHandle | String | @NotNull on create |
azureTenantId | String | Can be null for backward compat (multitenant Azure apps) |
ViberAppConfigurations
| Field | Type | Notes |
|---|
authToken | String | @NotNull on create. App key |
registerToEvents | List<ViberEventType> | |
FacebookAppConfigurations
| Field | Type | Notes |
|---|
pageAccessToken | String | @NotNull on create |
InstagramAppConfigurations
| Field | Type | Notes |
|---|
pageAccessToken | String | @NotNull on create |
SlackAppConfigurations
| Field | Type | Notes |
|---|
botUserOAuthToken | String | @NotNull on create |
clientId | String | @NotNull on create |
clientSecret | String | @NotNull on create |
appId | String | @NotNull on create |
WhatsAppAppConfigurations
| Field | Type | Notes |
|---|
accessToken | String | @NotNull on create |
phoneNumberId | String | @NotNull on create |
ZendeskAppConfigurations
| Field | Type | Notes |
|---|
baseUrl | String | @NotNull on create. Topmost URL of workspace |
appId | String | @NotNull on create. Sunshine Conversations app ID |
keyId | String | @NotNull on create. Sunshine Conversations key ID |
secret | String | @NotNull on create. Shown once at creation |
webhookId | String | @NotNull on create |
webhookKey | String | @NotNull on create. Webhook shared secret |
UnityAppConfigurations
No fields. Placeholder for Unity game engine integration.
ApiAppConfigurations
No fields. Placeholder for REST API integration.
Enums
ViberEventType
| Value |
|---|
MESSAGE |
FAILED |
DELIVERED |
SEEN |
CONVERSATION_STARTED |
UNSUBSCRIBED |
SUBSCRIBED |
WEBHOOK |
Relationships
- Referenced by: BotDeployment (via @DBRef, optional)
- Integration settings in BotDeployment extend from MessagingApp configurations
TypeScript Mapping
| hbf-core (Kotlin) | hbf-core-api (TypeScript) | Notes |
|---|
| MessagingApp | MessagingApp | Aligned |
| MessagingAppConfigurations | MessagingAppConfigurations | TS omits unity, whatsapp (note: TS has WhatsApp at deployment level), api, zendesk |
| MicrosoftTeamsAppConfigurations | MicrosoftTeamsAppConfiguration | Singular naming in TS |
| MicrosoftWebChatAppConfigurations | MicrosoftWebchatAppConfiguration | Singular naming in TS |
| ViberAppConfigurations | ViberAppConfiguration | Singular naming in TS |
| FacebookAppConfigurations | FacebookAppConfiguration | Singular naming in TS |
| InstagramAppConfigurations | InstagramAppConfiguration | Singular naming in TS |
| SlackAppConfigurations | SlackAppConfiguration | Singular naming in TS |
| WhatsAppAppConfigurations | WhatsAppAppConfiguration | Singular naming in TS |
| ZendeskAppConfigurations | (not in TS) | Gap |
| UnityAppConfigurations | (not in TS) | Gap |
| ApiAppConfigurations | (not in TS) | Gap |
| ViberEventType | ViberEventTypes | Different naming |
| EventCallback | eventCallback: object | TS uses generic object |