Overview

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:

  1. Go to the user profile and click Tenant Settings.
  1. View and copy the Profile Key using the icons available.
Profile key in Tenant SettingsProfile key in Tenant Settings

Profile key in Tenant Settings

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