Mobile integration without using Blueshift's SDKs

This article provides information about the event attributes that you must send to Blueshift in the event from your server/non-SDK mobile apps to fully leverage the messaging capabilities offered by Blueshift.

Sending the right device and customer attributes in your events data helps you to build accurate customer profiles and run efficient campaigns that target the right customers.

When you send events data from your mobile apps/servers without using SDK to Blueshift, we recommend that you include the both the required and optional event attributes.

❗️

Important

If you are using Blueshift's SDKs in your mobile apps, then the SDK takes care of sending all the required attributes, and optional attributes (if available, for example, location, user data) to Blueshift. You do not have to send the event attributes separately.

Required attributes

If these attributes are not present in the customer profile, a push or in-app message cannot be sent to the customer.

AttributeValuesDescription
device_id

Android: By default, this is the Firebase Instance ID + Package Name. You can use other values if required.

iOS: By default, this is the IDFV. You can use other values if required.

This is the unique identifier for the device/instance on which the app is running.

You must include at least one customer identifier in the event data. If you do not include the email or customer_id, you must include the device_id.

device_token

Android:Firebase Cloud Messaging (FCM) Token

iOS:Apple Push Notification Service (APNS) Token

A unique token for sending push messages to the app.

If the device_token is not included, Blueshift cannot send push notifications and cannot notify devices when new in-app messages are available.

device_type

Android:The value is android for all Android devices.

iOS:The value can be iPhone, iPad, and so on.

The type of device.

You can use this value to understand which type of device is being used by the customer, especially if the customer has multiple devices.

You can also use this value to send messages to only a specific type of device.

app_name

Android:application id/package name

iOS:bundle id

This is the package name or bundle id of the application. When you have the multiple apps enabled, this value is especially important as this is the attribute that decides which app you are sending messages to.

os_name

Android:The OS version. For example,, "Android 11".

iOS:The iOS version. For example, "iOS 14.6".

The operating system on which the app is running.

This value is used to identify the platform on which the app is running so that the campaign can use the appropriate messaging service.

enable_push

Android and iOS: true if opted in. Otherwise false.

Specify if the current device is opted in for receiving push notifications.

If this value is not set, the customer might not receive messages from the campaign.

enable_inapp

Android and iOS: true if opted in. Otherwise false.

Specify if the current device is opted in for receiving in-app messages.

If this value is not set, the customer might not receive messages from the campaign.

Recommended

These attributes are optional but we recommend that you send them so that Blueshift can build a comprehensive customer profile.

AttributeValuesDescription
email

Valid email id of the logged in customer.

The device will be associated with the customer in Blueshift based on the email provided.

customer_id

Valid customer id of the logged in customer.

The device will be associated with the customer in Blueshift based on the customer_id provided.

latitude

Android and iOS: The value is expected to be the format "16.8251190185547".

This value is used to track the customer location.

longitude

Android and iOS: The value is expected to be the format "16.8251190185547".

This value is used to track the customer location.

~~
language_code

Android and iOS: The value is expected to be the format "en".

This value is used to track the language set for the device.

country_code

Android and iOS: The value is expected to be the format "IN".

This value is used to track the country or region in which the device is located.