ContactManager support for handling external unique IDs

ContactManager provides support for handling external unique IDs as follows:

  • The ContactMapper class in ContactManager has field mapping definitions for the External_UniqueID fields in each entity that implements ABLinkable. These fields are listed in the topic Mapping externally specified unique IDs of a ContactManager contact.
  • If a createContact request comes in that specifies an External_UniqueID field for the new contact, ContactManager uses the value of that field to populate the LinkID for the new contact. If that field is not in the data for the new contact or the field exists but its value is null, ContactManager creates its own LinkID for the new contact. See the description of the createContact method in ABContactAPI methods.
  • ContactManager provides a CreatedApproved rule in the EventFired ruleset for each core application. The rule is fired by the event ABContactCreatedApproved, which is added to an ABContact when it is created with an approved status by a call to ABContactAPI. The rule causes ContactManager to broadcast a create message as an update to each configured core application. This message enables any application that has been notified of a new contact that has an external ID provided to ContactManager to receive an update message when the create happens.

    For example, PolicyCenter sends a new contact to BillingCenter with the AddressBookUID specified. When ContactManager creates the new contact, BillingCenter gets the Create for Update message from ContactManager. BillingCenter can then compare the LinkID in the message with the AddressBookUID of the contact that PolicyCenter sent to BillingCenter and update the contact with the data from ContactManager.