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 · Package: com.indigitall.android.push.models · File: Device.kt · Extends: CoreDevice

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

PropertyTypeDescription
deviceIdStringUnique device identifier assigned by Indigitall
pushTokenStringFirebase Cloud Messaging (FCM) token used to send push notifications to this device
enabledBooleanWhether the device has push notifications enabled. Default: false
platformStringPlatform identifier. Values: android, harmony
versionStringIndigitall SDK version name
productNameStringName of the product/app as configured in Indigitall
productVersionStringVersion of the product/app as configured in Indigitall
osNameStringOperating system name. Always "Android"
osVersionStringAndroid OS version including SDK level (e.g. "13 (SDK:33)")
deviceBrandStringDevice manufacturer brand in uppercase (e.g. "SAMSUNG")
deviceModelStringDevice model name in uppercase (e.g. "SM-G991B")
operatorStringMobile network operator name. Default: "unknown"
deviceTypeStringForm factor of the device. Values: mobile, tablet
appVersionStringVersion name of the host application
localeStringDevice locale string (e.g. "es_ES")
timeZoneStringDevice time zone ID (e.g. "Europe/Madrid")
timeOffsetIntUTC offset of the device time zone in minutes
externalCodeStringHMAC-SHA256 hashed external user identifier used to link the device to a user in external systems
externalAppsArray<ExternalApp>List 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

DeviceStatus — Integer annotation defining the device enabled/disabled status.

ConstantValueDescription
STATUS_DEFAULT-1No status change requested
STATUS_ENABLE1Device notifications enabled
STATUS_DISABLE0Device notifications disabled

Customer

Module: customer · Package: com.indigitall.android.customer.models · File: Customer.kt

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

PropertyTypeDescription
idStringInternal Indigitall identifier for the customer record
customerIdStringExternal user identifier provided by the host application (e.g. user ID from your backend)
applicationIdStringIndigitall application identifier associated with this customer
createdAtStringISO 8601 timestamp of when the customer record was created
updatedAtStringISO 8601 timestamp of the last update to the customer record

Related model

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

PropertyTypeDescription
customerFieldKeyStringName/key of the custom attribute
customerFieldValueStringValue of the custom attribute

InboxNotification

Module: inbox · Package: com.indigitall.android.inbox.models · File: InboxNotification.kt

Represents a single notification entry stored in the user's inbox. Contains the notification content, metadata, category and read status.

PropertyTypeDescription
idStringUnique identifier of the inbox notification entry. Default: ""
externalIdStringExternal identifier of the notification. Default: ""
sentAtStringISO 8601 timestamp of when the notification was sent
statusStringCurrent interaction status. Values: sent, click, deleted
sendingIdIntIdentifier of the sending instance
campaignIdIntIdentifier of the campaign this notification belongs to
messageInboxPushPush notification content associated with this inbox entry
categoryInboxCategoryCategory this notification belongs to
readBooleantrue if the notification was sent before the user's last inbox access (considered read). Default: false

Related models

InboxPush — Push notification content stored in the inbox. Extends CorePush, inheriting all base push fields (id, appKey, title, body, icon, image, gif, layout, data, silent, securedData, isDisposable, sendingId, campaignId, pushId, journeyStateId, journeyExecution, cjCurrentStateId, sendEventAck, applicationId), plus:

PropertyTypeDescription
actionInboxPushActionAction to execute when the notification is tapped (same structure as PushAction)
buttonsArrayList<InboxPushButton>Action buttons for the inbox notification entry (same structure as PushButton)

InboxCategory — Category used to group and filter inbox notifications.

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

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

ValueDescription
SENTNotification was sent but not yet interacted with
CLICKNotification was clicked/opened by the user
DELETEDNotification was deleted by the user

InApp

Module: inapp · Package: com.indigitall.android.inapp.models · File: InApp.java

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

PropertyTypeDescription
inAppIdIntUnique identifier of the in-app message
lastVersionIdIntIdentifier of the last active version of this in-app message
versionIntVersion number of the in-app message content
inAppVersionIntVersion of the in-app message (falls back to version if not explicitly set)
nameStringDisplay name or identifier of the in-app message
showOnceBoolean(Deprecated) If true, the message is shown only once per user. Use InAppShow configuration instead
creationDateStringISO 8601 timestamp of when the in-app message was created
expiredDateStringISO 8601 timestamp of when the in-app message expires and should no longer be shown
cacheTtlStringTime-to-live for caching the in-app content on the device
silentBooleanIf true, the in-app is processed silently without displaying any UI. Default: false
profileStringUser profile segment identifier associated with this in-app message
propertiesInAppPropertiesVisual and behavioral properties of the in-app message (colors, position, size, etc.)
schemaInAppSchemaLayout schema definition of the in-app message content
inAppShowInAppShowConfiguration controlling when and how often the in-app message is displayed
filtersInAppFiltersTargeting filters determining which users or sessions should see this in-app message
customDataHashMap<String, String>Free-form key-value map with custom data attached to the in-app message

LiveActivity

Module: liveactivity · Package: com.indigitall.android.liveactivity.models · File: LiveActivity.kt

Represents a Live Activity session registered in the Indigitall platform. On Android, Live Activities are implemented via dynamic FCM topics to enable real-time push updates.

PropertyTypeDescription
liveActivityIdStringUnique identifier of the Live Activity record in Indigitall
liveActivityExternalIdStringExternal identifier provided by the host application to identify the Live Activity session
applicationIdIntIndigitall application identifier this Live Activity belongs to
androidTopicIdStringFCM topic ID used to deliver real-time updates to this Live Activity on Android
statusStringCurrent status of the Live Activity session (e.g. active, ended)
createdAtStringISO 8601 timestamp of when the Live Activity was registered
updatedAtStringISO 8601 timestamp of the last update to the Live Activity record

Topic

Module: push · Package: com.indigitall.android.push.models · File: Topic.java · Extends: CoreTopic

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

PropertyTypeRequiredDescription
codeStringYesUnique alphanumeric code identifying the topic
nameStringNoHuman-readable display name of the topic
visibleBooleanNoIf true, the topic is shown in the topic preference UI to the user. Default: false
subscribedBooleanNoWhether the current device is subscribed to this topic. Default: false
parentCodeStringNoCode of the parent topic, used to build hierarchical topic trees
channelChannel (enum)NoChannel this topic belongs to. Values: PUSH. Default: PUSH

Relationships

Push
 ├── PushAction (extends CoreAction)
 │    └── Type {app, url, webview, call, market, share, no_action, wallet}
 └── PushButton[] (extends CorePushButton)
      └── PushAction

Device (extends CoreDevice)
 ├── ExternalApp[]
 └── DeviceStatus {STATUS_DEFAULT=-1, STATUS_ENABLE=1, STATUS_DISABLE=0}

InApp
 ├── InAppProperties
 ├── InAppSchema
 ├── InAppShow
 └── InAppFilters

InboxNotification
 ├── InboxPush (extends CorePush)
 │    ├── InboxPushAction
 │    └── InboxPushButton[]
 ├── InboxCategory
 └── InboxStatus {SENT, CLICK, DELETED}

Customer
 └── CustomerField

LiveActivity

Topic (extends CoreTopic)
 └── Channel {PUSH}

SDK Modules

ModelModulePackage
Push, Device, Topicpushcom.indigitall.android.push.models
InAppinappcom.indigitall.android.inapp.models
InboxNotificationinboxcom.indigitall.android.inbox.models
Customercustomercom.indigitall.android.customer.models
LiveActivityliveactivitycom.indigitall.android.liveactivity.models