[SalesForce] Accessing _MobileAddress and _MobileSubscription Data Extensions

In trying to develop a process to deal with MobileConnect Contacts, I have come to understand that the old SMS DE _SubscriberSMS has been deprecated and that the new DEs that will contain this information are: _MobileAddress and _MobileSubscription. I presume that these DEs contain information about the Contact (with a primary key of mobile number or SubscriberId) and the contacts' subscriptions, respectively.

The information that was given to me (by ET) about _MobileAddress was that it contained the following fields:

City  
ContactID  
CountryCode  
CreatedBy  
CreatedDate  
FirstName  
LastName  
MobileNumber  
ModifiedBy  
ModifiedDate  
State  
Status  
ZipCode 

However, when I try to set up a query like SELECT MobileNumber FROM _MobileAddress, I am told that that field does not exist. If I modify the DE to something like _MobileAddressX it tells me that DE doesn't exist, so presumably _MobileAddress exists and has an unknown set of fields.

Can anyone tell me how to get more information about _MobileAddress and _MobileSubscription?

What fields do they have?

Can I access it via API or only through Queries?

Since MobileConnect does not seem to support a series of functions for maintaining Mobile Contacts, it would be infinitely useful to be able to access those contacts and their subscriptions at the data level.

Best Answer

So, the field names are correct (though not a complete list). They contain an underscore before each of them in the Data Extension. This makes things difficult when pulling the fields out using SELECT * because fields in [user created] Data Extensions cannot have a leading underscore.

So if you want to pull all the records from _MobileAddress you will need the following query:

SELECT _CarrierID AS CarrierID,
_Channel AS Channel,
_City AS City,
_ContactID AS ContactID,
_CountryCode AS CountryCode,
_CreatedBy AS CreatedBy,
_CreatedDate AS CreatedDate,
_FirstName AS FirstName,
_IsHonorDST AS IsHonorDST,
_LastName AS LastName,
_MobileNumber AS MobileNumber,
_ModifiedBy AS ModifiedBy,
_ModifiedDate AS ModifiedDate,
_Priority AS Priority,
_Source AS Source,
_SourceObjectID AS SourceObjectID,
_State AS State,
_Status AS Status,
_UTCOffset AS UTCOffset,
_ZipCode AS ZipCode
FROM _MobileAddress

And all the records from _MobileSubscription can be pulled with the following query:

SELECT 
_CreatedBy AS CreatedBy,
_OptOutMethodID AS OptOutMethodID,
_MobileNumber AS MobileNumber,
_OptInDate AS OptInDate,
_Source AS Source,
_OptOutStatusID AS OptOutStatusID,
_OptOutDate AS OptOutDate,
_ModifiedBy AS ModifiedBy,
_SourceObjectId AS SourceObjectId,
_SubscriptionDefinitionID AS SubscriptionDefinitionID,
_CreatedDate AS CreatedDate,
_OptInStatusID AS OptInStatusID,
_OptInMethodID AS OptInMethodID,
_ModifiedDate AS ModifiedDate
FROM _MobileSubscription