Overview

A Person entity is an identified entity that has interacted with or been loaded into the Mobile Database. It is identified by a PersonID, which uniquely identifies the record. A customer can choose to define an alternate_person_id, which would be a unique identify from the customer's system for reference and cross-linking.

A person can also be tracked/linked by a channel identifier, like a Phone Number (MDN). Note that these alternate identifiers are usually sufficient but are not an ideal identification as Phone Numbers can change over time.

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's system in any sequence/order. To do the best we can at trying to ensure the same person gets tied together as well as to avoid inadvertantly linking two different people, the primary emphasis will always be on not inadvertently linking two separate people. To meet that, the following logic will apply:

  1. 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).
  2. 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 (since phone numbers 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": "AB3423",
 "external_person_id": "542342",
 "mobile_phone": { "mdn": "2995551234", "carrier_code": "104" },
 "custom_fields": [ "First Name": "Steve",
                    "Rewards ID": "543557654",
                    "Favorite Stores": [ { "id": "4", "name": "My Hardware Store" }, {"id", "12", "name": "Local Grocery"} ]
                  ]
 "tags": [ {"name": "POWER_USER", "expiration_date": "2013-06-01" } , { "name": "VOTE_PARTICIPANT", "expiration_date": "2013-06-06" } ],
 "created_at": "2012-04-05T14:30Z",
 "updated_at": "2012-05-08T19:30Z"
}

Elements

Data Element

Type

Description

person_id

String

Vibes unique identifier for each person record in the Mobile Database.

external_person_id

String

Customer's 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 (dialable number)

mobile_phone.carrier_code

String

The Cellular Carrier associated with this Mobile number. Please see #TBD for a list of valid Carrier Codes