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
POST /api/ad/advertiser/create/customerThe available inputs for this Endpoint are as follows:
Expand 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.
The result passed back will be the newly created IDs for the Advertiser and related objects.
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
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}
GET /api/ad/advertiser/get/{nameId}This Consolidated API will pull back Advertiser Address, Employees (contacts) and Brands
Expand 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.
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
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
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}
PUT /api/ad/advertiser/update/{nameId}Expand for Full formatted details for this API. The above table breaks this down into what each item means and what is/isn't required.
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?