Descriptive reference of the main models used across SDK modules.
Table of Contents
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.
| Property | Type | Required | Description |
|---|---|---|---|
id | Int | No | Internal push notification identifier |
appKey | String | Yes | Application key used to identify the app in the Indigitall platform |
title | String | No | Title of the push notification displayed to the user |
body | String | No | Main text body of the push notification |
icon | String | No | URL of the icon image to display in the notification |
image | String | No | URL of the large image to display in the expanded notification |
gif | ArrayList<String> | No | List of URLs for GIF frames to display in the notification |
layout | Layout (enum) | No | Display layout of the notification. Values: layout_native, half_width, full_width, custom. Default: layout_native |
data | String | No | Custom payload string to pass arbitrary data to the app when the notification is handled |
silent | Boolean | No | If true, the notification is delivered silently without showing any UI. Default: false |
securedData | String | No | Decrypted secured payload attached to the notification. Populated automatically from securedData/securedKey fields |
isDisposable | Boolean | No | If true, the notification will be dismissed after being displayed. Default: true |
sendingId | String | No | Identifier of the sending campaign instance |
campaignId | String | No | Identifier of the campaign this push belongs to |
pushId | Int | No | Identifier of the push template |
journeyStateId | Int | No | Identifier of the journey state associated with this push |
journeyExecution | Int | No | Journey execution counter |
cjCurrentStateId | Int | No | Current state ID in the customer journey |
sendEventAck | Boolean | No | If true, an acknowledgement event should be sent back to the server upon reception. Default: false |
applicationId | Int | No | Indigitall application identifier |
action | PushAction | No | Action to execute when the user taps the notification |
buttons | ArrayList<PushButton> | No | List 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.
| Property | Type | Description |
|---|---|---|
type | Type (enum) | Type of action to perform. Values: app, url, webview, call, market, share, no_action, wallet |
url | String | URL to open when type is url or webview |
app | String | Deep-link or activity class name to open when type is app |
call | String | Phone number to dial when type is call |
market | String | Market URL or package name to open when type is market |
share | String | Text content to share when type is share |
wallet | String | Wallet pass URL when type is wallet |
topics | Array<String> | Topic codes to subscribe/unsubscribe when the action is executed |
clickedButton | Int | Index 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.
| Property | Type | Description |
|---|---|---|
label | String | Text label displayed on the button |
action | PushAction | Action to execute when the button is tapped |
topics | Array<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.
| Property | Type | Required | Description |
|---|---|---|---|
deviceId | String | No | Unique device identifier assigned by Indigitall |
enable | Boolean | No | Whether the device has push notifications enabled. Exposed as isEnabled. Default: false |
pushToken | String | No | Push token (FCM on Android, APNs on iOS) used to send notifications to this device |
platform | String | No | Platform identifier (e.g. android, ios) |
version | String | No | Indigitall SDK version name |
productName | String | No | Name of the product/app as configured in Indigitall |
productVersion | String | No | Version of the product/app as configured in Indigitall |
osName | String | No | Operating system name (e.g. Android, iOS) |
osVersion | String | No | Operating system version string |
deviceBrand | String | No | Device manufacturer brand |
deviceModel | String | No | Device model name |
operator | String | No | Mobile network operator name |
deviceType | String | No | Form factor of the device (e.g. mobile, tablet) |
appVersion | String | No | Version name of the host application |
locale | String | No | Device locale string (e.g. es_ES) |
timeZone | String | No | Device time zone ID (e.g. Europe/Madrid) |
timeOffset | Int | No | UTC offset of the device time zone in minutes |
externalCode | String | No | Hashed external user identifier used to link the device to a user in external systems |
externalApps | List<ExternalApp> | No | List of external apps linked to this device |
Related models
ExternalApp — Represents an external application associated with the device.
| Property | Type | Description |
|---|---|---|
id | Int | Unique identifier of the external application |
name | String | Display name of the external application |
androidCode | String | Android 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.
| Property | Type | Required | Description |
|---|---|---|---|
id | String | No | Internal Indigitall identifier for the customer record |
customerId | String | No | External user identifier provided by the host application (e.g. user ID from your backend) |
applicationId | String | No | Indigitall application identifier associated with this customer |
createdAt | String | No | ISO 8601 timestamp of when the customer record was created |
updatedAt | String | No | ISO 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.
| Property | Type | Description |
|---|---|---|
key | String | Name/key of the custom attribute. Exposed as fieldKey in Dart |
value | String | Value 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.
| Property | Type | Required | Description |
|---|---|---|---|
id | String | No | Unique identifier of the inbox notification entry |
sentAt | String | No | ISO 8601 timestamp of when the notification was sent |
status | String | No | Current interaction status. Values: sent, click, deleted |
sendingId | String | No | Identifier of the sending instance |
campaignId | String | No | Identifier of the campaign this notification belongs to |
message | Push | No | Push notification content associated with this inbox entry |
category | InboxCategory | No | Category this notification belongs to |
read | Boolean | No | true 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.
| Property | Type | Required | Description |
|---|---|---|---|
lastAccess | String | No | ISO 8601 timestamp of the user's last inbox access |
notifications | List<InboxNotification> | No | List of inbox notification entries for the current page |
count | Int | No | Total number of notifications in the inbox |
pageSize | Int | No | Number of notifications per page |
numPage | Int | No | Current page number. Exposed as page in Dart |
InboxCategory — Category used to group and filter inbox notifications.
| Property | Type | Description |
|---|---|---|
id | Int | Unique identifier of the category |
name | String | Display name of the category |
code | String | Alphanumeric code of the category |
InboxCounter — Aggregated counters for the inbox notifications.
| Property | Type | Description |
|---|---|---|
click | Int | Number of notifications that have been clicked. Default: 0 |
sent | Int | Number of notifications that have been sent. Default: 0 |
deleted | Int | Number of notifications that have been deleted. Default: 0 |
unread | Unread | Unread notification count details |
Unread — Unread notification count details within InboxCounter.
| Property | Type | Description |
|---|---|---|
count | Int | Number of unread notifications. Default: 0 |
lastAccess | String | ISO 8601 timestamp of the last inbox access used to compute the unread count |
InboxStatus — Constants representing the interaction status of an inbox notification.
| Constant | Value | Description |
|---|---|---|
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.
| Property | Type | Required | Description |
|---|---|---|---|
inAppId | Int | No | Unique identifier of the in-app message |
lastVersionId | Int | No | Identifier of the last active version of this in-app message |
version | Int | No | Version number of the in-app message content |
name | String | No | Display name or identifier of the in-app message |
showOnce | Boolean | No | If true, the message is shown only once per user. Default: false |
creationDate | String | No | ISO 8601 timestamp of when the in-app message was created |
expiredDate | String | No | ISO 8601 timestamp of when the in-app message expires |
cacheTtl | Int | No | Time-to-live in seconds for caching the in-app content on the device |
customData | String | No | Free-form string (typically JSON) with custom data attached to the in-app message |
properties | InAppProperties | No | Visual and behavioral properties of the in-app message |
schema | InAppSchema | No | Layout schema definition of the in-app message content |
INAPP_SHOW | InAppShow | No | Runtime display tracking data (times shown, times clicked, dismissed) |
filters | String | No | Targeting filters determining which users or sessions should see this in-app message |
Related models
InAppProperties — Visual and behavioral configuration for an in-app message.
| Property | Type | Required | Description |
|---|---|---|---|
action | InAppAction | No | Action to execute when the in-app message is tapped |
contentUrl | String | No | URL of the HTML content to render inside the in-app message |
showTime | Int | No | Duration in seconds the in-app message is displayed before auto-dismissing |
numberOfShows | Int | No | Maximum number of times the in-app message can be shown to the user |
numberOfClicks | Int | No | Maximum number of times the in-app message can be clicked by the user |
dismissForever | Boolean | No | If 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.
| Property | Type | Description |
|---|---|---|
code | String | Schema code identifying the layout template |
width | Int | Width of the in-app message in density-independent pixels |
height | Int | Height 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.
| Property | Type | Description |
|---|---|---|
timesShowed | Int | Number of times the in-app message has been displayed to the user |
timesClicked | Int | Number of times the in-app message has been clicked by the user |
wasDismissed | Boolean | Whether 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.
| Property | Type | Required | Description |
|---|---|---|---|
id | String | No | Unique identifier of the Live Activity record in Indigitall |
liveActivityExternalId | String | No | External identifier provided by the host application to identify the Live Activity session |
applicationId | String | No | Indigitall application identifier this Live Activity belongs to |
status | String | No | Current status of the Live Activity session (e.g. active, ended) |
createdAt | String | No | ISO 8601 timestamp of when the Live Activity was registered |
updatedAt | String | No | ISO 8601 timestamp of the last update to the Live Activity record |
iosChannelId | String | No | APNs push token channel ID used to deliver real-time updates on iOS |
androidTopicId | String | No | FCM 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.
| Property | Type | Required | Description |
|---|---|---|---|
code | String | No | Unique alphanumeric code identifying the topic |
name | String | No | Human-readable display name of the topic |
visible | Boolean | No | If true, the topic is shown in the topic preference UI. Default: false |
subscribed | Boolean | No | Whether the current device is subscribed to this topic. Default: false |
