Models Reference

Descriptive reference of the main models used across SDK modules.


Table of Contents

  1. Push
  2. Device
  3. Customer
  4. InboxNotification
  5. InApp
  6. LiveActivity
  7. Topic

Push

Module: push · Package: com.indigitall.android.push.models · File: Push.kt · Extends: CorePush

Represents a push notification received from the Indigitall platform. Contains all the data needed to display and handle a notification.

PropertyTypeRequiredDescription
idIntNoInternal push notification identifier
appKeyStringYesApplication key used to identify the app in the Indigitall platform
titleStringNoTitle of the push notification displayed to the user
bodyStringNoMain text body of the push notification
iconStringNoURL of the icon image to display in the notification
imageStringNoURL of the large image to display in the expanded notification
gifArrayList<String>NoList of URLs for GIF frames to display in the notification
layoutLayout (enum)NoDisplay layout of the notification. Values: layout_native, half_width, full_width, custom. Default: layout_native
dataStringNoCustom payload string to pass arbitrary data to the app when the notification is handled
silentBooleanNoIf true, the notification is delivered silently without showing any UI. Default: false
securedDataStringNoDecrypted secured payload attached to the notification. Populated automatically from securedData/securedKey fields
isDisposableBooleanNoIf true, the notification will be dismissed after being displayed. Default: true
sendingIdStringNoIdentifier of the sending campaign instance
campaignIdStringNoIdentifier of the campaign this push belongs to
pushIdIntNoIdentifier of the push template
journeyStateIdIntNoIdentifier of the journey state associated with this push
journeyExecutionIntNoJourney execution counter
cjCurrentStateIdIntNoCurrent state ID in the customer journey
sendEventAckBooleanNoIf true, an acknowledgement event should be sent back to the server upon reception. Default: false
applicationIdIntNoIndigitall application identifier
actionPushActionNoAction to execute when the user taps the notification
buttonsArrayList<PushButton>NoList of action buttons displayed in the expanded notification

Related models

PushAction — Defines the action executed when a push notification (or button) is tapped. Extends CoreAction.

PropertyTypeDescription
typeType (enum)Type of action to perform. Values: app, url, webview, call, market, share, no_action, wallet
urlStringURL to open when type is url or webview
appStringDeep-link or activity class name to open when type is app
callStringPhone number to dial when type is call
marketStringMarket URL or package name to open when type is market
shareStringText content to share when type is share
walletStringWallet pass URL when type is wallet
topicsArray<String>Topic codes to subscribe/unsubscribe when the action is executed
clickedButtonIntIndex of the button clicked (-1 if the notification body was tapped). Default: -1

PushButton — Represents an action button displayed in an expanded push notification. Extends CorePushButton.

PropertyTypeDescription
labelStringText label displayed on the button
actionPushActionAction to execute when the button is tapped
topicsArray<String>Topic codes associated with the button action

Device

Module: push · File: push/models/Device.dart

Represents the device registered in the Indigitall platform. Contains hardware, OS, app and push token information used for device registration and targeting.

PropertyTypeRequiredDescription
deviceIdStringNoUnique device identifier assigned by Indigitall
enableBooleanNoWhether the device has push notifications enabled. Exposed as isEnabled. Default: false
pushTokenStringNoPush token (FCM on Android, APNs on iOS) used to send notifications to this device
platformStringNoPlatform identifier (e.g. android, ios)
versionStringNoIndigitall SDK version name
productNameStringNoName of the product/app as configured in Indigitall
productVersionStringNoVersion of the product/app as configured in Indigitall
osNameStringNoOperating system name (e.g. Android, iOS)
osVersionStringNoOperating system version string
deviceBrandStringNoDevice manufacturer brand
deviceModelStringNoDevice model name
operatorStringNoMobile network operator name
deviceTypeStringNoForm factor of the device (e.g. mobile, tablet)
appVersionStringNoVersion name of the host application
localeStringNoDevice locale string (e.g. es_ES)
timeZoneStringNoDevice time zone ID (e.g. Europe/Madrid)
timeOffsetIntNoUTC offset of the device time zone in minutes
externalCodeStringNoHashed external user identifier used to link the device to a user in external systems
externalAppsList<ExternalApp>NoList of external apps linked to this device

Related models

ExternalApp — Represents an external application associated with the device.

PropertyTypeDescription
idIntUnique identifier of the external application
nameStringDisplay name of the external application
androidCodeStringAndroid package name or code of the external application

Customer

Module: customer · File: customer/model/Customer.dart

Represents a customer/user profile registered in the Indigitall platform. Used to link a device to a specific user identity.

PropertyTypeRequiredDescription
idStringNoInternal Indigitall identifier for the customer record
customerIdStringNoExternal user identifier provided by the host application (e.g. user ID from your backend)
applicationIdStringNoIndigitall application identifier associated with this customer
createdAtStringNoISO 8601 timestamp of when the customer record was created
updatedAtStringNoISO 8601 timestamp of the last update to the customer record

Related models

CustomerField — Represents a single custom attribute key-value pair for a customer profile.

PropertyTypeDescription
keyStringName/key of the custom attribute. Exposed as fieldKey in Dart
valueStringValue of the custom attribute. Exposed as fieldValue in Dart

InboxNotification

Module: inbox · File: inbox/models/InboxNotification.dart

Represents a single notification entry stored in the user's inbox.

PropertyTypeRequiredDescription
idStringNoUnique identifier of the inbox notification entry
sentAtStringNoISO 8601 timestamp of when the notification was sent
statusStringNoCurrent interaction status. Values: sent, click, deleted
sendingIdStringNoIdentifier of the sending instance
campaignIdStringNoIdentifier of the campaign this notification belongs to
messagePushNoPush notification content associated with this inbox entry
categoryInboxCategoryNoCategory this notification belongs to
readBooleanNotrue if the notification has been read by the user. Default: false

Related models

Inbox — Represents the inbox container returned when fetching the user's notification inbox. Contains paginated notification entries and metadata.

PropertyTypeRequiredDescription
lastAccessStringNoISO 8601 timestamp of the user's last inbox access
notificationsList<InboxNotification>NoList of inbox notification entries for the current page
countIntNoTotal number of notifications in the inbox
pageSizeIntNoNumber of notifications per page
numPageIntNoCurrent page number. Exposed as page in Dart

InboxCategory — Category used to group and filter inbox notifications.

PropertyTypeDescription
idIntUnique identifier of the category
nameStringDisplay name of the category
codeStringAlphanumeric code of the category

InboxCounter — Aggregated counters for the inbox notifications.

PropertyTypeDescription
clickIntNumber of notifications that have been clicked. Default: 0
sentIntNumber of notifications that have been sent. Default: 0
deletedIntNumber of notifications that have been deleted. Default: 0
unreadUnreadUnread notification count details

Unread — Unread notification count details within InboxCounter.

PropertyTypeDescription
countIntNumber of unread notifications. Default: 0
lastAccessStringISO 8601 timestamp of the last inbox access used to compute the unread count

InboxStatus — Constants representing the interaction status of an inbox notification.

ConstantValueDescription
SENT"sent"Notification was sent but not yet interacted with
CLICK"click"Notification was clicked/opened by the user
DELETED"deleted"Notification was deleted by the user

InApp

Module: inapp · File: inapp/models/InApp.dart

Represents an in-app message served by the Indigitall platform. Contains display configuration, caching rules, schema layout and custom data.

PropertyTypeRequiredDescription
inAppIdIntNoUnique identifier of the in-app message
lastVersionIdIntNoIdentifier of the last active version of this in-app message
versionIntNoVersion number of the in-app message content
nameStringNoDisplay name or identifier of the in-app message
showOnceBooleanNoIf true, the message is shown only once per user. Default: false
creationDateStringNoISO 8601 timestamp of when the in-app message was created
expiredDateStringNoISO 8601 timestamp of when the in-app message expires
cacheTtlIntNoTime-to-live in seconds for caching the in-app content on the device
customDataStringNoFree-form string (typically JSON) with custom data attached to the in-app message
propertiesInAppPropertiesNoVisual and behavioral properties of the in-app message
schemaInAppSchemaNoLayout schema definition of the in-app message content
INAPP_SHOWInAppShowNoRuntime display tracking data (times shown, times clicked, dismissed)
filtersStringNoTargeting filters determining which users or sessions should see this in-app message

Related models

InAppProperties — Visual and behavioral configuration for an in-app message.

PropertyTypeRequiredDescription
actionInAppActionNoAction to execute when the in-app message is tapped
contentUrlStringNoURL of the HTML content to render inside the in-app message
showTimeIntNoDuration in seconds the in-app message is displayed before auto-dismissing
numberOfShowsIntNoMaximum number of times the in-app message can be shown to the user
numberOfClicksIntNoMaximum number of times the in-app message can be clicked by the user
dismissForeverBooleanNoIf true, the in-app message will never be shown again after the first dismissal

InAppSchema — Layout schema defining the size and identifier of the in-app message.

PropertyTypeDescription
codeStringSchema code identifying the layout template
widthIntWidth of the in-app message in density-independent pixels
heightIntHeight of the in-app message in density-independent pixels

InAppShow — Runtime tracking data recording how many times an in-app message has been shown or interacted with.

PropertyTypeDescription
timesShowedIntNumber of times the in-app message has been displayed to the user
timesClickedIntNumber of times the in-app message has been clicked by the user
wasDismissedBooleanWhether the in-app message was dismissed by the user

InAppAction — Defines the action executed when an in-app message is tapped. Extends CoreAction (same structure as PushAction).


LiveActivity

Module: liveActivity · File: liveActivity/models/LiveActivity.dart

Represents a Live Activity session registered in the Indigitall platform. On iOS, Live Activities use the ActivityKit framework with a push token channel. On Android, they are implemented via dynamic FCM topics to enable real-time push updates.

PropertyTypeRequiredDescription
idStringNoUnique identifier of the Live Activity record in Indigitall
liveActivityExternalIdStringNoExternal identifier provided by the host application to identify the Live Activity session
applicationIdStringNoIndigitall application identifier this Live Activity belongs to
statusStringNoCurrent status of the Live Activity session (e.g. active, ended)
createdAtStringNoISO 8601 timestamp of when the Live Activity was registered
updatedAtStringNoISO 8601 timestamp of the last update to the Live Activity record
iosChannelIdStringNoAPNs push token channel ID used to deliver real-time updates on iOS
androidTopicIdStringNoFCM topic ID used to deliver real-time updates to this Live Activity on Android

Related models


LADevice — Represents a device associated with a Live Activity session. Extends Device with no additional fields.


Topic

Module: push · File: push/models/Topic.dart

Represents a push notification topic (category) that a device can subscribe to or unsubscribe from. Used to segment users by areas of interest.

PropertyTypeRequiredDescription
codeStringNoUnique alphanumeric code identifying the topic
nameStringNoHuman-readable display name of the topic
visibleBooleanNoIf true, the topic is shown in the topic preference UI. Default: false
subscribedBooleanNoWhether the current device is subscribed to this topic. Default: false