This page will help you get started with Profile APIs.
Webex Connect has two types of profiles namely App Profile and Customer Profile.
When a customer registers with your mobile/web app, an app profile is created automatically in our profile store which contains the userID and deviceID of the customer. It also contains certain other attributes like the push token, OS/browser of the device, etc. that are captured during user registration. Information stored in the app profile alone is sufficient to send push notifications and in-app messages. The attributes available as part of the app profile are pre-defined and cover all the key fields that you would need for maintaining application-specific profiles of your customers.
In addition to the app profile, Webex Connect offers a customer profile to help you store additional information such as customer ID, name, email, and phone number i.e. MSISDN, of your customers. Unlike the app profile which doesn't allow you to add any new attributes, the customer profile can be extended to store additional information such as date of birth, account balance, etc based on requirements. In case you are using the customer profile, linking the app profile of customers with their customer profile becomes important to fetch or update the customer-specific profile attributes that reside in the customer profile. And this can be done by calling the updateProfileData method available in the SDK.
Client Profile Key
A Client Profile Key is needed to invoke Webex Connect Profile APIs. This key is accessible on the Tenant Settings page within your Webex Connect tenant.
To obtain the Profile Key:
- Go to the user profile and click Tenant Settings.
- View and copy the Profile Key using the icons available.
This is the Profile Key you need to use in your API calls.
Device Attributes
On enabling the device attribute, the SDK tracks the configured platform-specific device attributes and raises profile update events.
Hover the mouse pointer on the mobile platform you want to configure and click the corresponding Configure button. The device attributes are categorized as follows:
- One-time monitors: Enable the required attributes. One-time monitors are captured only once after registration.
- Event-based monitors: Enable the required attributes. Event-based monitors are captured every time that event occurs.
- Interval-based monitors: Enable the required attributes. Interval-based monitors are captured at regular time intervals specified by the user.
Depending on the SDK version you are using, the device attributes that you see vary. The following table lists the device attributes:
SDK Version | One-time Monitors | Event-based Monitors | Interval-based Monitors |
---|---|---|---|
2.12 and higher | -- | iOS > Telco > Time Zone > Location > Language >* Geofence | -- |
-- | Android > Telco > Location > Idle Screen > TIme Zone > Foreground > Geofence >* Language | -- | |
2.11.x and lower | iOS > Resolution > Internal Storage > RAM > Bluetooth Support >* User Agent | iOS > Telco > Foreground App > MCC > Roaming > Connect Type > Location > MNC > Time Zone > Device IP > Time Spent > Language > Geofence | iOS >* Battery Level |
Android > Resolution > Email ID > Internal Storage > WiFi MAC Address > List Account > Bluetooth Support > User Agent > IMEI > External Storage > RAM > Serial Number > NFC Support | Android > Connect Type > Telco > IMSI > MCC > Time Spent > Roaming > Language > Cell ID > Location > Idle Screen > Phone Mode > MNC > Time Zone > Foreground > Device IP > Geofence | Android > Signal Strength > Foreground App >* Battery Level |
The following table provides a complete list of attributes available in the profile store for an app created using SDK 2.12.0.
Attribute | Description |
---|---|
rtmId | The unique ID used for real-time messaging. This attribute is used while creating/updating profile. In a case where multi-user support is enabled, this attribute is not used. |
verified | A flag that indicates if the authentication PIN has been verified |
userId | A flag that indicates if the authentication PIN has been verified |
deviceId | The unique ID of the device on which the app is running |
customerId | The unique ID of the customer |
Os | The OS that is running on the device |
pushId | The push ID used for contacting the APNS or FCM cloud |
last_opened | The timestamp at which the app was last opened |
ios_fcmpushid | The iOS push ID used for contacting the APNS |
language | The language of the device |
Timezone | The timezone of the device |
foreground | A flag that indicates if the app is in the foreground on the device |
guest | A flag that indicates if the current user of the app is logged in as a guest |
status | Holds the status of active/unregistered status (0/2) |
createdOn | The date and timestamp on which the user has registered on the app |