Contact People Records

Best practice in the Naviga ad system dictates that there should only be a single record for a single person. This is enforced by allowing an email address to only exist once in the system. A person who is using their personal email address can be moved to a new employer if they change jobs. A person with whom you correspond with on more than one account may be linked to as many accounts as is necessary without duplicating the contact record. A person can listed as a billing contact for any number of accounts, even if they aren't an employee of that company. We strongly believe that there is no good reason for duplicate records.

That said, there is a setting in the system (only accessible to Naviga Personnel) where you can override this best practice suggestion and create duplicates, but we will firmly caution you against doing that. It tends to make a mess and will be problematic, especially if you enable Nylas email syncing, or export information to external systems (like a CRM) where the email address is supposed to be a unique identifier.

There are a couple of APIs in Naviga that relate to contact people.

  1. The Advertiser API's - The advertiser API to Create a customer will create the contact people (Employee) at the same time as it creates the main advertiser or agency record (or link Invoice/Statement contacts from a different, existing account).

  2. There are POST, GET, and PUT actions under Contacts in Swagger as well. These are detailed below. These will pass a parameter of the contact person's ID and retrieve information about the specific contact person. GET /api/general/contact/get/{contactId} PUT /api/general/contact/update/{contactId} POST /api/general/contact/add

  3. And finally, there is a GET to get all linked contacts of an account under the Names grouping. GET /api/general/names/{nameId}/contacts This will include, for a given AccountID, all the contact people and their contact details, whether they are an employee of the account or a linked contact person of the account. This one is less frequently used. The consolidated Advertiser API in #1 above is generally more useful since it also connects the contact person as the invoice/statement contact in a single post or update.

GET /api/general/contact/get/{contactId}

chevron-rightExpand for Full formatted details for this API. The following table will break this down into what each item means.hashtag
{
  "NavigaEmployerID": "string",
  "SalesforceID": "string",
  "FirstName": "string",
  "MiddleName": "string",
  "LastName": "string",
  "InformalName": "string",
  "SalulationCode": "string",
  "GenderCode": "string",
  "JobTitleCode": "string",
  "JobTitleDescriptionOverride": "string",
  "HomeCountryCode": "string",
  "PrimaryPhoneNumber": "string",
  "MobilePhoneNumber": "string",
  "PrimaryEmailAddress": "string",
  "PrimaryEmailTypeCode": "string",
  "OtherEmailAddress": "string",
  "OtherEmailTypeCode": "string",
  "ProductionContactForAdvertiserID": "string",
  "ProductionContactForBrandID": "string",
  "ProductionContactRole": "string",
  "ContactTypeID": "string",
  "Status": "Unknown",
  "Messages": [
    {
      "Code": 0,
      "Message": "string",
      "UniDataProgramName": "string",
      "IsCritical": true
    }
  ]
}
Field
Description

NavigaEmployerID

This is the employer of this employee (ID)

SalesforceID

If using Salesforce integration, this will be the link that connects the Naviga record to the salesforce record for this contact person.

FirstName

Contact Person First Name

MiddleName

Contact Person Middle Name

LastName

Contact Person Last Name

InformalName

Contact Person Informal Name

SalulationCode

This is typically Mr, Mrs, Miss, etc. The ID's are set up in CRM Module, Setup -> CRM System Settings, Name Titles.

GenderCode

M = Male F = Female NB = Non Binary U = Unknown

JobTitleCode

The ID's are set up in CRM Module, Setup -> CRM System Settings, Job Titles.

JobTitleDescriptionOverride

This may be the description from the above code, or the user may override this with a specific title, but leave the code as a general title for grouping and reporting by similar job titles.

HomeCountryCode

This is the 2 or 3 digit country code from Address setup

PrimaryPhoneNumber

Contact Person's phone number

MobilePhoneNumber

Contact Person's cell phone number

PrimaryEmailAddress

Contact Person's email adderess

PrimaryEmailTypeCode

Setup in Advertising, Setup -> System Tables Setup -> Email Type Codes. This is the ID of the code. It isn't required in entry, so this could be null.

OtherEmailAddress

When editing a contact record in the Account Overview screen, the user is able to enter additional email addresses. The Primary will be the first on the list, and the secondard will be the second on the list. There may be additional emails, but this API currently extracts the first two.

OtherEmailTypeCode

Setup in Advertising, Setup -> System Tables Setup -> Email Type Codes. This is the ID of the code.

ProductionContactForAdvertiserID

If this contact is the Production Contact for a Brand, this will be the advertiser ID for that Brand

ProductionContactForBrandID

If this contact is the Production Contact for a Brand, this will be the Brand ID for that Brand

ProductionContactRole

If this contact is the Production Contact for a Brand, this will be the role entered for the Production Contact. It is a freeformat field, so there is no ID table for it.

ContactTypeID

The ID's are set up in CRM Module, Setup -> CRM System Settings, Contact Types. It is a visible field when editing the contact person from the customer overview screen. This could be a multi-valued field. The above looks like this in my system:

PUT /api/general/contact/update/{contactId}

The put is designed to be used as an update after using the above GET for a contact person. First enter the ID into the GET, then using that output, edit any fields required and then use this put to update. All fields are required.

POST /api/general/contact/add

This will create a contact person for a given Advertiser account with minimal information. Only the Employer ID is required, but for it to be at all useful, you will need to put some additional information in there - perhaps name and/or email address at a minimum.

Was this helpful?