Skip to main content

MessagingApp

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

FieldTypeRequiredIndexedNotes
idStringyesPKMongoDB document ID, read-only
appIdStringyesyes (unique)Unique app identifier
appNameStringyesyes (unique)Friendly name
platformMessagingPlatformyes
configMessagingAppConfigurationsyesPlatform-specific config
eventCallbackEventCallbackno
fallbackNotFoundDeploymentIdStringnoDeployment to use when deployment not found
fallbackDisabledDeploymentIdStringnoDeployment to use when deployment is disabled

Nested Objects

EventCallback

FieldTypeNotes
actionUrlStringCallback URL

MessagingAppConfigurations

Container with one field per platform. Only the relevant platform's config should be populated.

FieldTypeNotes
microsoftTeamsMicrosoftTeamsAppConfigurations
microsoftWebChatMicrosoftWebChatAppConfigurations
viberViberAppConfigurations
facebookFacebookAppConfigurations
instagramInstagramAppConfigurations
slackSlackAppConfigurations
unityUnityAppConfigurations
whatsappWhatsAppAppConfigurations
apiApiAppConfigurations
zendeskZendeskAppConfigurations

Source: hbf-core/src/main/java/gr/helvia/hbf/core/domain/MessagingAppConfigurations.kt

MicrosoftTeamsAppConfigurations

FieldTypeNotes
clientIdString@NotNull on create
clientSecretString@NotNull on create

MicrosoftWebChatAppConfigurations

FieldTypeNotes
clientIdString@NotNull on create
clientSecretString@NotNull on create
webSecretKeyString@NotNull on create
azureBotHandleString@NotNull on create
azureTenantIdStringCan be null for backward compat (multitenant Azure apps)

ViberAppConfigurations

FieldTypeNotes
authTokenString@NotNull on create. App key
registerToEventsList<ViberEventType>

FacebookAppConfigurations

FieldTypeNotes
pageAccessTokenString@NotNull on create

InstagramAppConfigurations

FieldTypeNotes
pageAccessTokenString@NotNull on create

SlackAppConfigurations

FieldTypeNotes
botUserOAuthTokenString@NotNull on create
clientIdString@NotNull on create
clientSecretString@NotNull on create
appIdString@NotNull on create

WhatsAppAppConfigurations

FieldTypeNotes
accessTokenString@NotNull on create
phoneNumberIdString@NotNull on create

ZendeskAppConfigurations

FieldTypeNotes
baseUrlString@NotNull on create. Topmost URL of workspace
appIdString@NotNull on create. Sunshine Conversations app ID
keyIdString@NotNull on create. Sunshine Conversations key ID
secretString@NotNull on create. Shown once at creation
webhookIdString@NotNull on create
webhookKeyString@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
MessagingAppMessagingAppAligned
MessagingAppConfigurationsMessagingAppConfigurationsTS omits unity, whatsapp (note: TS has WhatsApp at deployment level), api, zendesk
MicrosoftTeamsAppConfigurationsMicrosoftTeamsAppConfigurationSingular naming in TS
MicrosoftWebChatAppConfigurationsMicrosoftWebchatAppConfigurationSingular naming in TS
ViberAppConfigurationsViberAppConfigurationSingular naming in TS
FacebookAppConfigurationsFacebookAppConfigurationSingular naming in TS
InstagramAppConfigurationsInstagramAppConfigurationSingular naming in TS
SlackAppConfigurationsSlackAppConfigurationSingular naming in TS
WhatsAppAppConfigurationsWhatsAppAppConfigurationSingular naming in TS
ZendeskAppConfigurations(not in TS)Gap
UnityAppConfigurations(not in TS)Gap
ApiAppConfigurations(not in TS)Gap
ViberEventTypeViberEventTypesDifferent naming
EventCallbackeventCallback: objectTS uses generic object