Create and Edit Advertisers

The following API's are discussed in this section:

Use the POST to create a new Advertiser or Agency record

Use the GET to read the customer information

One you GET the information, use the PUT Endpoint to update information and send it back into the system. It is designed so that the data needed in the PUT can be copied from the GET and then whatever needs changing can be edited there.

Create New Advertiser (and Contact)

POST /api/ad/advertiser/create/customer

The available inputs for this Endpoint are as follows:

chevron-rightExpand for Full formatted details for this API. The following table will break this down into what each item means and what is/isn't required.hashtag

The result passed back will be the newly created IDs for the Advertiser and related objects.

Field
Explanation
Required?

Record Type

This tells the system if you are creating an advertiser or an agency type account. Possible values here are AD or AG. AD is an Advertiser record and AG is an Agency.

Yes

Brand ID

Not required, unless UseBrands (below) is true If used, this will be the ID field identifying the brand. If there are multiple brands for an account, each brand needs a unique ID. (It only needs to be unique within it's advertiser account.) Agencies do not have brands, so if the RecordType = AG, this also is not needed.

Maybe

Brand Name

Same as above as far as when it is required. This will be the Name of the Brand.

Maybe

Agency ID

If the Record type is AD, and the brand is linked to an agency, then enter the agency ID here.

No

PIBIndustryID

This is required for an Advertiser This is not used on an Agency For advertisers this must match the PIB/Industry Setup under System Tables Setup (ID)

Maybe

RepID

If provided, this will set the Rep on the Brand. If not provided, there will be no rep and the user will be asked to provide a rep on the first order.

No

ProductGroups

May be used in conjunction with the above RepID. This would assign the provided rep only for particular product groups.

No

ClientAccessCodes

If Client Access Codes are enabled in your system, then this will be required. If not, this can be skipped

Maybe

ApproveAccount

Valid choices here are true or false. If true, then the account will be approved already upon import. If false or not passed in then the Group Security rules about working with unapproved accounts will apply - the user may or may not be able to create opportunities, quotes, or orders on an unapproved account.

No

Employees

If information is provided here, then Employees (contact people) will be created for the account.

No

FirstName

Enter First name here

No

LastName

Enter Last name here

No

Email

Enter email address here - if not unique in the system, you may get an error.

No

Phone

Phone number goes here

No

Title

Job title is entered here, will be placed in the "Title Override" on the contact record.

No

ID

Used in conjunction with the below invoice and statement contact. See section following this table for more details.

No

IsStatementContact

Valid choices here are true or false. If missing or blank false will be used

No

IsInvoiceContact

Valid choices here are true or false. If missing or blank false will be used

No

IsMiscInvoiveContact

Valid choices here are true or false. If missing or blank false will be used

No

ProductionController

System user ID code is expected here. It is not required. If provided, then it will set the production controller on the Brand Details Screen

No

CreditLimit

Not required, but if left blank, it will either come in as 0 or it may pick up the credit limit from either the client type defaults or the A/R System Parameter defaults.

No

CreditRating

This is an optional string field

No

CreditHoldDays

Number of days past due the client can be until the user is restricted from confirming new orders. If blank, defaults may be picked up from the Client type defaults

No

TerritoryID

If set, this will set the territory on the customer Name Maintenance Screen

No

GenerateStatments

If blank, this may come in as "No" for generating statements, unless a client type is included, in which case defaults from client type will be picked up.

No

ClientGroupIDs

In the A/R module, there is a Client Group Setup screen under the Setup menu. If used, this should match a valid Client Group ID from there.

No

BilltoID

If used, this will set a bill-to account on the Advertiser (Name Maintenance -> Advertising Setup - More Information Section)

No

BillingGroupID

In the A/R module, there is a Billing Group Setup screen under the Setup menu. If used, this should match a valid Billing Group ID from there.

No

ClientTypeID

In the Advertising Module under Setup there is Client Type Setup. This must match the ID of a valid Client Type. If set, defaults will populate from the settings under Client Type Defaults Setup

No

ExternalIDs

This section will populate the External System ID;s section of Name Maintenance on the account.

No

ExternalSystemID

If used, This must match a valid External System ID (Setup in System Tables Setup)

No

ExternalID

This will be the account's ID from the external system

No

AdvertisingInvoiceDeliveryMethod

P For Print E for Email B for Both Print and email N for Do Not Send Invoice If you choose Email or Both, please be sure to either include an employee with an email address or in the employee section, link to an existing employee ID of another company who has an email address. Otherwise, it will still create the record, but anyone internally using the system will not be able to save changes to the account without first correcting the omission. (Same applies to below AR Invoice and Statement delivery methods)

No

ArInvoiceDeliveryMethod

P For Print E for Email B for Both Print and email N for Do Not Send Invoice

No

ArStatementDeliveryMethod

P For Print E for Email B for Both Print and email N for Do Not Send Statement

No

PrepaymentRequired

Valid options are true or false. If left blank or missing, false will be set, or values may be picked up from Client Type DEfaults

No

Name

This data point starts a section which contains several fields for the account, some of which are required, so this must be present.

Yes

InternationalTaxID

On the A/R node of Name Maintenance, More information Section, there is a string field for International Tax ID. This will populate that field

No

CompanyName

This will be the name of the Customer Account

Yes

Website

If provided, this will populate the website field on the Name and Address Setup node of Name Maintenance.

No

LegacyIDs

If provided, this will populate the Legacy ID field on the Name and Address Setup node of Name Maintenance.

No

CurrencyID

If provided, this will populate the Currency Field on the A/R node of Name Maintenance. If blank, default system currency is assumed. If used to set a foreign currency, then this must match a valid currency ID set up in Currency Setup (In System Tables Setup)

No

TaxCode

If used this must match a valid tax ID in System Tables Setup -> Tax Setup. This may be overwritten by the State Setup (in Address Setup) or from the Client Type Defaults.

No

Addresses

This will create one or more addresses on the account. Exact required fields may differ based on your address setup. Post Code/State matching may be enforced based on your setup.

Yes

Emails

This will add one or more email addresses to the Advertiser account (not the contact person - that is in the employee section)

No

Address

This will be the email address - it should be unique

No

SalesForceID

If using Salesforce integration, this will be the link that connects the Naviga Account to the salesforce account. It is found in Name Maintenance on the Name and Address Setup node

No

UseBrands

Valid answers are true or false. If set to true, then there must be a BrandID and BrandName supplied. If blank, or not passed in, false will be assumed. If false, Naviga will still create a brand, but it will be the same name as the account and the ID used will be XX.

No

PrimaryIndustryCode

This is found on the Customer Overview Screen, Sales CRM tab, on the "other" tab. If used, it must match an ID setup in CRM Module, Setup -> CRM System Settings

No

SecondaryIndustryCode

This is found on the Customer Overview Screen, Sales CRM tab, on the "other" tab. If used, it must match an ID setup in CRM Module, Setup -> CRM System Settings

No

DateAccountOpened

If Blank, the system will set this to "today" but if importing from a legacy system it may be desirable to set this to the date the account originally started doing business with you

No

In this API, the Employees section will create the contact person(s) at the same time as the company is created.

Small nuance in here worth noting. The FirstName thru Title below would be used if you were creating a new contact person. The ID would be used if an external company contact (like and agency) is to be the Invoice or Statement contact.

Retrieve and Edit an Existing Customer

GET /api/ad/advertiser/get/{nameId}

This Consolidated API will pull back Advertiser Address, Employees (contacts) and Brands

chevron-rightExpand for Full formatted details for this API. The following table will break this down into what each item means and what is/isn't required.hashtag

In the Get and Put API's use the GET to get the existing data and then use the output as the basis for the PUT to update the data. Any missing data could be overwritten with blanks, so always PUT what you GET with changes to what needs changing

In the Employee Section, use the Contact ID to update an existing contact Person. If the data is for a new Contact, use "NEW" as the ID

Field
Explanation

UpdateReasonCode

This is not part of the GET, but it should be inserted before submitting the PUT. The code required can be setup in the ad module in Setup -> System Tables Setup -> Name Reason Codes

RecordType

This tells the system if you are creating an advertiser or an agency type account. Possible values here are AD or AG. AD is an Advertiser record and AG is an Agency.

CompanyName

This will be the name of the Customer Account

Website

If provided, this will populate the website field on the Name and Address Setup node of Name Maintenance.

CurrencyID

If provided, this will populate the Currency Field on the A/R node of Name Maintenance. If blank, default system currency is assumed. If used to set a foreign currency, then this must match a valid currency ID set up in Currency Setup (In System Tables Setup)

InternationalTaxID

On the A/R node of Name Maintenance, More information Section, there is a string field for International Tax ID. This will populate that field

TaxCode

If used this must match a valid tax ID in System Tables Setup -> Tax Setup. This may be overwritten by the State Setup (in Address Setup) or from the Client Type Defaults.

SalesForceID

If using Salesforce integration, this will be the link that connects the Naviga Account to the salesforce account. It is found in Name Maintenance on the Name and Address Setup node

ClientTypeID

In the Advertising Module under Setup there is Client Type Setup. This must match the ID of a valid Client Type. If set, defaults will populate from the settings under Client Type Defaults Setup

ClientAccessCodes [ ]

If Client Access Codes are enabled in your system, then this will be required. If not, this can be skipped

CreditLimit

Not required, but if left blank, it will either come in as 0 or it may pick up the credit limit from either the client type defaults or the A/R System Parameter defaults.

CreditRating

This is an optional string field

CreditHoldDays

Number of days past due the client can be until the user is restricted from confirming new orders. If blank, defaults may be picked up from the Client type defaults

TerritoryID

If set, this will set the territory on the customer Name Maintenance Screen

GenerateStatments

If blank, this may come in as "No" for generating statements, unless a client type is included, in which case defaults from client type will be picked up.

ClientGroupIDs [ ]

In the A/R module, there is a Client Group Setup screen under the Setup menu. If used, this should match a valid Client Group ID from there.

BillingGroupID

In the A/R module, there is a Billing Group Setup screen under the Setup menu. If used, this should match a valid Billing Group ID from there.

PrepaymentRequired

Valid options are true or false. If left blank or missing, false will be set, or values may be picked up from Client Type DEfaults

AdvertisingInvoiceDeliveryMethod

P For Print E for Email B for Both Print and email N for Do Not Send Invoice If you choose Email or Both, please be sure to either include an employee with an email address or in the employee section, link to an existing employee ID of another company who has an email address. Otherwise, it will still create the record, but anyone internally using the system will not be able to save changes to the account without first correcting the omission. (Same applies to below AR Invoice and Statement delivery methods)

ArInvoiceDeliveryMethod

P For Print E for Email B for Both Print and email N for Do Not Send Invoice

ArStatementDeliveryMethod

P For Print E for Email B for Both Print and email N for Do Not Send Statement

PrimaryIndustryCode

This is found on the Customer Overview Screen, Sales CRM tab, on the "other" tab. If used, it must match an ID setup in CRM Module, Setup -> CRM System Settings

SecondaryIndustryCode

This is found on the Customer Overview Screen, Sales CRM tab, on the "other" tab. If used, it must match an ID setup in CRM Module, Setup -> CRM System Settings

DateAccountOpened

If Blank, the system will set this to "today" but if importing from a legacy system it may be desirable to set this to the date the account originally started doing business with you

LegacyIDs [ ]

If provided, this will populate the Legacy ID field on the Name and Address Setup node of Name Maintenance.

ExternalIDs [ ]

This section will populate the External System ID;s section of Name Maintenance on the account.

ExternalSystemID

If used, This must match a valid External System ID (Setup in System Tables Setup)

ExternalID

This will be the account's ID from the external system

Emails [ ]

This will add one or more email addresses to the Advertiser account (not the contact person - that is in the employee section)

TypeCode

This is the type of email on the contact person. It must match a code set up in the system under Setup -> System Tables Setup -> Email Type Codes

Address

This will be the actual email address of the employee (contact person). This should be unique in the system. If you are trying to use the same email address for multiple accounts, you should instead link the contact ID to the other accounts instead of creating duplicates.

Employees [ ]

If the account has employees (or linked Invoice/Statement contacts from another account) then they will be listed here.

ID

This is the Name ID of the Employee (contact person) record. After the GET, when you then PUT to update the account, use the Contact ID here to update an existing contact Person. If the data is for a new Contact, use "NEW" as the ID and the PUT will create a new contact person record.

EmployerID

This is the employer of this employee (may be the same as the retrieved account in the GET, or it might be a different employer and this employee is linked as a contact for this account.

FirstName

Enter First name here

LastName

Enter Last name here

Email

Enter email address here - if not unique in the system, you may get an error.

Phone

Phone number goes here

PhoneExtension

If applicable, the above phone's extension will be here

TitleCode

If applicable the code for the title will be provided here.

TitleDescription

Description for the above Title Code

OverrideTitleDescription

Job title is entered here, will be placed in the "Title Override" on the contact record.

IsStatementContact

Valid choices here are true or false. If missing or blank false will be used

IsInvoiceContact

Valid choices here are true or false. If missing or blank false will be used

IsMiscInvoiveContact

Valid choices here are true or false. If missing or blank false will be used

Addresses [ ]

This will create one or more addresses on the account. Exact required fields may differ based on your address setup. Post Code/State matching may be enforced based on your setup.

Brands [ ]

This section will display one or more brands for the account,

ID

Not required, unless UseBrands (below) is true If used, this will be the ID field identifying the brand. If there are multiple brands for an account, each brand needs a unique ID. (It only needs to be unique within it's advertiser account.) Agencies do not have brands, so if the RecordType = AG, this also is not needed.

Name

Same as above as far as when it is required. This will be the Name of the Brand.

Agency ID

If the Record type is AD, and the brand is linked to an agency, then enter the agency ID here.

PIBIndustryID

This is required for an Advertiser This is not used on an Agency For advertisers this must match the PIB/Industry Setup under System Tables Setup (ID)

ProductionController

System user ID code is expected here. It is not required. If provided, then it will set the production controller on the Brand Details Screen

PUT /api/ad/advertiser/update/{nameId}

chevron-rightExpand for Full formatted details for this API. The above table breaks this down into what each item means and what is/isn't required.hashtag

See table above. The fields between the GET and the PUT are the same with the exception of the Change Reason Code (first field in the table) - this is required in the PUT but not provided in the GET since it isn't part of the customer record - it is the reason for your current update.

Last updated

Was this helpful?