A Person entity is an identified entity that has interacted with or been loaded into the Mobile Database. It is identified by a person_id, which uniquely identifies the record. A customer can also define an external_person_id, which is a unique identifier from the customer system for reference and cross-linking.
A person can also be tracked/linked by a mobile number (MDN). This alternate identifier is sufficient in the short-term, but it is not an ideal long-term identification method because mobile numbers can be changed, returned, ported and recycled.
Contents
Associating Person Records
Because of the dynamic nature of mobile participation and campaigns, it is possible that person records could exist in either the Mobile Database or the Customer system in any sequence/order. The following logic ensures that the same Person entity gets tied together to avoid inadvertently linking two different people:
- The person_id and external_person_id columns are always treated as the same person record and must be unique (the external_person_id can be omitted if it is not used/exist).
- If the MDN and carrier_code match an existing person record, they will be considered to be the same Person entity. If the carrier_code does not match, then they will be assumed to be different people.
Note: Since phone numbers often get ported and/or recycled, and to ensure MMA compliance, it is not a valid assumption that carrier changes are always the same person.
Person Entity
This is the JSON representation of a Person entity within the APIs.
{ "person_id":"c5235a1-e243-42z7-979c-7f6234kl21b60", "external_person_id":"542342", "mobile_phone":{ "mdn":"2995551234", "carrier_code":"104" }, "custom_fields":{ "first_name":"Steve", "birthdate":"1950-12-01T00:00:00Z", "rewards_id":"543557654", "favorite_stores":[ { "id":"4", "name":"My Hardware Store" }, { "id":"12", "name":"Local Grocery" } ] }, "created_at":"2012-04-05T14:30Z", "updated_at":"2012-05-08T19:30Z", "url":"/companies/:id/mobiledb/persons/:person_id" }
Elements
Data Element | Type | Description |
---|---|---|
person_id | String | Vibes unique identifier for each person record in the Mobile Database. |
external_person_id | String | Customer unique identifier for a person in the Mobile Database. This value is optional, but if specified, must be unique within the Mobile Database. |
mobile_phone | Object | Object representation of a Person's mobile phone. A person can have only one active Mobile Phone at a time. |
mobile_phone.mdn | String | The Mobile Directory Number (a number that can be dialed). |
mobile_phone.carrier_code | String | The Cellular Carrier associated with this Mobile number. Please see #TBD for a list of valid Carrier Codes. |
custom_fields | Object |
|
Custom Field Types
Field Type | Value Representation |
---|---|
String | String |
Date | Date |
Single-Selection | Object with :id and :name |
Multi-Selection | An array of Objects, with each Object having the content of a Single Select |
other | New data types will be added in the future |