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 · 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.
| Property | Type | Description |
|---|---|---|
deviceId | String | Unique device identifier assigned by Indigitall |
pushToken | String | Firebase Cloud Messaging (FCM) token used to send push notifications to this device |
enabled | Boolean | Whether the device has push notifications enabled. Default: false |
platform | String | Platform identifier. Values: android, harmony |
version | String | Indigitall SDK version name |
productName | String | Name of the product/app as configured in Indigitall |
productVersion | String | Version of the product/app as configured in Indigitall |
osName | String | Operating system name. Always "Android" |
osVersion | String | Android OS version including SDK level (e.g. "13 (SDK:33)") |
deviceBrand | String | Device manufacturer brand in uppercase (e.g. "SAMSUNG") |
deviceModel | String | Device model name in uppercase (e.g. "SM-G991B") |
operator | String | Mobile network operator name. Default: "unknown" |
deviceType | String | Form factor of the device. Values: mobile, tablet |
appVersion | String | Version name of the host application |
locale | String | Device locale string (e.g. "es_ES") |
timeZone | String | Device time zone ID (e.g. "Europe/Madrid") |
timeOffset | Int | UTC offset of the device time zone in minutes |
externalCode | String | HMAC-SHA256 hashed external user identifier used to link the device to a user in external systems |
externalApps | Array<ExternalApp> | 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 |
DeviceStatus — Integer annotation defining the device enabled/disabled status.
| Constant | Value | Description |
|---|---|---|
STATUS_DEFAULT | -1 | No status change requested |
STATUS_ENABLE | 1 | Device notifications enabled |
STATUS_DISABLE | 0 | Device 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.
| Property | Type | Description |
|---|---|---|
id | String | Internal Indigitall identifier for the customer record |
customerId | String | External user identifier provided by the host application (e.g. user ID from your backend) |
applicationId | String | Indigitall application identifier associated with this customer |
createdAt | String | ISO 8601 timestamp of when the customer record was created |
updatedAt | String | ISO 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.
| Property | Type | Description |
|---|---|---|
customerFieldKey | String | Name/key of the custom attribute |
customerFieldValue | String | Value 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.
| Property | Type | Description |
|---|---|---|
id | String | Unique identifier of the inbox notification entry. Default: "" |
externalId | String | External identifier of the notification. Default: "" |
sentAt | String | ISO 8601 timestamp of when the notification was sent |
status | String | Current interaction status. Values: sent, click, deleted |
sendingId | Int | Identifier of the sending instance |
campaignId | Int | Identifier of the campaign this notification belongs to |
message | InboxPush | Push notification content associated with this inbox entry |
category | InboxCategory | Category this notification belongs to |
read | Boolean | true 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:
| Property | Type | Description |
|---|---|---|
action | InboxPushAction | Action to execute when the notification is tapped (same structure as PushAction) |
buttons | ArrayList<InboxPushButton> | Action buttons for the inbox notification entry (same structure as PushButton) |
InboxCategory — Category used to group and filter inbox notifications.
| Property | Type | Description |
|---|---|---|
id | Int | Unique identifier of the category |
code | String | Alphanumeric code of the category |
name | String | Display name of the category |
InboxStatus — Enum representing the interaction status of an inbox notification.
| Value | Description |
|---|---|
SENT | Notification was sent but not yet interacted with |
CLICK | Notification was clicked/opened by the user |
DELETED | Notification 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.
| Property | Type | Description |
|---|---|---|
inAppId | Int | Unique identifier of the in-app message |
lastVersionId | Int | Identifier of the last active version of this in-app message |
version | Int | Version number of the in-app message content |
inAppVersion | Int | Version of the in-app message (falls back to version if not explicitly set) |
name | String | Display name or identifier of the in-app message |
showOnce | Boolean | (Deprecated) If true, the message is shown only once per user. Use InAppShow configuration instead |
creationDate | String | ISO 8601 timestamp of when the in-app message was created |
expiredDate | String | ISO 8601 timestamp of when the in-app message expires and should no longer be shown |
cacheTtl | String | Time-to-live for caching the in-app content on the device |
silent | Boolean | If true, the in-app is processed silently without displaying any UI. Default: false |
profile | String | User profile segment identifier associated with this in-app message |
properties | InAppProperties | Visual and behavioral properties of the in-app message (colors, position, size, etc.) |
schema | InAppSchema | Layout schema definition of the in-app message content |
inAppShow | InAppShow | Configuration controlling when and how often the in-app message is displayed |
filters | InAppFilters | Targeting filters determining which users or sessions should see this in-app message |
customData | HashMap<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.
| Property | Type | Description |
|---|---|---|
liveActivityId | String | Unique identifier of the Live Activity record in Indigitall |
liveActivityExternalId | String | External identifier provided by the host application to identify the Live Activity session |
applicationId | Int | Indigitall application identifier this Live Activity belongs to |
androidTopicId | String | FCM topic ID used to deliver real-time updates to this Live Activity on Android |
status | String | Current status of the Live Activity session (e.g. active, ended) |
createdAt | String | ISO 8601 timestamp of when the Live Activity was registered |
updatedAt | String | ISO 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.
| Property | Type | Required | Description |
|---|---|---|---|
code | String | Yes | 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 to the user. Default: false |
subscribed | Boolean | No | Whether the current device is subscribed to this topic. Default: false |
parentCode | String | No | Code of the parent topic, used to build hierarchical topic trees |
channel | Channel (enum) | No | Channel 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
| Model | Module | Package |
|---|---|---|
Push, Device, Topic | push | com.indigitall.android.push.models |
InApp | inapp | com.indigitall.android.inapp.models |
InboxNotification | inbox | com.indigitall.android.inbox.models |
Customer | customer | com.indigitall.android.customer.models |
LiveActivity | liveactivity | com.indigitall.android.liveactivity.models |
