<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.rangermsp.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Reno</id>
	<title>RangerMSP Wiki - PSA software for MSPs and IT services providers - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.rangermsp.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Reno"/>
	<link rel="alternate" type="text/html" href="https://www.rangermsp.com/wiki/Special:Contributions/Reno"/>
	<updated>2026-05-02T21:28:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4225</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4225"/>
		<updated>2010-05-24T14:24:38Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Ticket Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.htm Advanced Filter Tutorial]  (5 min.)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ticket Management====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_navigation_pane.htm Ticket Navigation Pane]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_tickets_inbox.htm Ticket Inbox]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_ticket_recipients_video/ Ticket Recipients]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_email_correspondences_video/ Automatic Ticket Email Correspondence Management]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_correspondence_settings_video/ Ticket Correspondence Settings]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_private_distribution_video/ Private Email Distribution]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4221</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4221"/>
		<updated>2010-05-21T13:53:29Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Additional Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.htm Advanced Filter Tutorial]  (5 min.)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ticket Management====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_navigation_pane.htm Ticket Navigation Pane]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_tickets_inbox.htm Ticket Inbox]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_ticket_recipients_video/ Ticket Recipients]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_email_correspondences_video/ Automatic Ticket Email Correspondence Management]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4220</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4220"/>
		<updated>2010-05-21T13:52:49Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Additional Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.htm Advanced Filter Tutorial]  (5 min.)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ticket Management====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_navigation_pane.htm Ticket Navigation Pane]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_tickets_inbox.htm Ticket Inbox]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_ticket_recipients_video/ Ticket Recipients]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_email_correspondences_video/ Automatic Ticket Email Correspondence Management]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4219</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4219"/>
		<updated>2010-05-21T13:51:53Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Ticket Management (Requires CommitCRM 5.3 or newer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.htm Advanced Filter Tutorial]  (5 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Ticket Management====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_navigation_pane.htm Ticket Navigation Pane]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_tickets_inbox.htm Ticket Inbox]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_ticket_recipients_video/ Ticket Recipients]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_email_correspondences_video/ Automatic Ticket Email Correspondence Management]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4218</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4218"/>
		<updated>2010-05-20T21:08:10Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Ticket Management (Requires CommitCRM 5.3 or newer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.htm Advanced Filter Tutorial]  (5 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Ticket Management (Requires CommitCRM 5.3 or newer)====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_navigation_pane.htm Ticket Navigation Pane]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_tickets_inbox.htm Ticket Inbox]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_ticket_recipients_video/ Ticket Recipients]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_email_correspondences_video/ Automatic Ticket Email Correspondence Management]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4217</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4217"/>
		<updated>2010-05-20T21:07:44Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Additional Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.htm Advanced Filter Tutorial]  (5 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Ticket Management (Requires CommitCRM 5.3 or newer)====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_navigation_pane.htm Ticket Navigation Pane]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_tickets_inbox.htm Ticket Inbox]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_ticket_recipients_video/ Ticket Recipients]&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_email_correspondences_video/ Automatic Ticket Email Correspondence Management]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=4125</id>
		<title>SQL Database Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=4125"/>
		<updated>2010-05-11T12:15:01Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Adding Service Dependency Rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Problem Description==&lt;br /&gt;
When setting up the Commit SQL Database (CSD), the client PCs running the CommitCRM client application cannot connect to the Commit SQL Database, and an error is displayed saying:&lt;br /&gt;
&lt;br /&gt;
 Procedure halted due to data server error.&amp;lt;br&amp;gt;Verify server is operating and this computer has access to the server folder.&amp;lt;br&amp;gt;(C:\Commit\DB)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Error.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This problem occurs when the client PCs try to connect to the Commit SQL Database, which is installed on your server, and it doesn’t “answer” to their connection requests.&lt;br /&gt;
By default, CommitCRM clients send a UDP broadcast message on the network, checking where the Commit SQL Database server is found; if found the server answers with the relevant information for the client to connect to it (IP, Port, etc.). This handshake process may require allowing UDP broadcasts inside you LAN. Usually this does not require any special setup; however, with some advanced network security settings it may be required.&lt;br /&gt;
It is also required that the Commit SQL Database, which runs on your server as a Windows service called Advantage Database Server, will be up and running and be allowed to communicate with your LAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Steps==&lt;br /&gt;
In order to assure the Commit SQL Database can communicate with the CommitCRM clients, we ask that you cover the following steps. &lt;br /&gt;
&lt;br /&gt;
*'''Please remember to test the Commit SQL Database communications again after applying each step, and if the issue persists, then the next step should be applied.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage Server===&lt;br /&gt;
*Verfiy the Advantage Database Server service is started on your server. For installation instructions click [[Commit_SQL_Database_Installation_Guide|here]] or [[Commit_SQL_Database_for_Trial_Users|here]] if your are using a trial copy of CSD.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DEP – Data Execution Prevention===&lt;br /&gt;
*Please ensure that if using DEP on the server, where Commit SQL Database (aka, Advantage Database Server) is installed, it should be configured to allow data execution for '''ADS.exe''', by default located in the following folder '''C:\Program Files\Extended Systems\Advantage 9007\Server'''. This file is the Commit SQL Database / Advantage Database Server Windows service executable file and therefore should be allowed, or else DEP may isolate the CSD software from communicating with the CommitCRM client applications.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Firewall - Windows or any other installed Firewall===&lt;br /&gt;
*Make sure that your software firewall allows the Advantage port through the firewall (Advantage prot information can be adjusted from '''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Also, make sure that no special UDP restrictions are activated on the CommitCRM server.&lt;br /&gt;
*If advanced firewall restrictions are configured, please verify that an exception has been placed in the firewall, so that the software may communicate with the network, as well as allowing UDP traffic through the firewall.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator===&lt;br /&gt;
*The CommitCRM client's way of finding the Commit SQL Database Server fails. In order for the client to detect where the server is running it broadcasts a UDP message and asks for the server to answer. When the server answers the client knows the server IP and can communicate with it.&lt;br /&gt;
*On your server, you can run the Advantage Configuration Utility ('''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Using it you can find the Port number which is used for communicating with the clients. When adjusting the CSD ports, you can use any port you like, as long as the port is not being used by any other software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Communicationstab.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As explained in the previous steps, you should make sure that the Windows firewall on each client on your LAN allows communication with the server for this port. Verifying this will allow communication between the CommitCRM client and Commit SQL Database on the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
However, in some cases this is not enough. As explained above, a discovery process takes place when the client loads, trying to find the server... It is possible that your Windows firewall blocks this discovery process even if the port is allowed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Therefore, in case you enabled the port on each client (using the firewall settings window) and CommitCRM client still doesn't load, you should continue with the following ('''do not continue with this before testing whether allowing the port has solved the issue'''):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the '''&amp;lt;server&amp;gt;\Commit\LastVer''' &amp;lt;!-- '''&amp;lt;server&amp;gt;\Commit\LastVer\WebInterface''' &amp;amp; '''&amp;lt;server&amp;gt;\Commit\LastVer\Server (Probably needs to be created)'''--&amp;gt; folder, create a text file called '''ADS.INI'''&lt;br /&gt;
Open this file in Notepad and add the following settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 '''[MYSERVER] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&amp;lt;br&amp;gt;&lt;br /&gt;
''IMPORTANT NOTES'':&lt;br /&gt;
*Replace '''MYSERVER''' with the name of '''YOUR server'''&lt;br /&gt;
*Replace the '''192.168.0.1''' IP address with the '''LOCAL IP address of your server'''.&lt;br /&gt;
*Replace the port number '''2001 '''to the one used for Commit SQL Database in your setup ('''this can be viewed by running Advantage Configuration Utility on your server, look for the port in use for your LAN''').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After adding the relevant settings, save the file and then try to run CommitCRM client.&lt;br /&gt;
This file tells the CommitCRM client what the server IP is and what port to use and therefore no discovery process is required, avoiding the broadcast stage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please remember that in case you ever change the IP of your server on your LAN, you should make sure to update this file again to reflect the change. This is why we usually recommend on allowing the broadcast rather than using this hard-coded method of communication; however, in some configurations it doesn’t work and using an ADS.ini file is mandatory.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator (Supplemental)===&lt;br /&gt;
*If the Ads.ini file does not correct the issue, then we suggest that '''changing the Server hostname reference''' in ADS.ini to the '''server IP address [192.168.x.x]''' will correct this behavior. (Remember to restart Advantage Service each time ADS.ini is adjusted)&lt;br /&gt;
For example: &lt;br /&gt;
 '''[192.168.0.1] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&lt;br /&gt;
''IMPORTANT NOTE:''&lt;br /&gt;
*Please replace the ServerName (between the brackets) with '''the servers IP adress''', as displayed in the example above.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Important Note For Users that Use our ODBC API====&lt;br /&gt;
I some cases your system may still present an error message regarding failure of the Discovery process (Advantage Error 6320) when trying to access to the CommitCRM database using an ODBC connection, even after the ADS.ini file has resolved the issues with CommitCRM clients being able to discover the Advantage server. The following solution should resolve this issue as long as the following conditions are met:&lt;br /&gt;
&lt;br /&gt;
* You use the Commit SQL Database (aka, Advantage Database Server on your server) and ODBC.&lt;br /&gt;
&lt;br /&gt;
* The ADS.ini file succeeded in logging in the CommitCRM Software Applications (Clients).&lt;br /&gt;
&lt;br /&gt;
* When using applications you developed with ODBC you receive a message regarding Database Discovery Failure (Error code 6320).&lt;br /&gt;
&lt;br /&gt;
If all of the above prerequisites exist, you should copy the ADS.ini file you prepared from the CommitCRM server folder into the following folder on each the affected workstation:&lt;br /&gt;
&lt;br /&gt;
* '''%Windir%\system32'''&lt;br /&gt;
&lt;br /&gt;
This folder usually translates to: '''C:\Windows\system32'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' To open these folders on your PC you can paste the paths listed above into a Windows Run dialog box, or into any Windows Explorer path.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recurring issues after Rebooting the CommitCRM Server Machine==&lt;br /&gt;
The CommitCRM database chooses its database mode upon the first concurrent connection to the system. If a client application, or Commit Addon Service (Such as '''CommmitWebInterface''' or '''CommitServer''')service is already loaded and connected to the server before the Advantage Database Server service finishes loading, then all subsequent connections will be rejected since the prior connection to the database would not allow the Advantage Database Server service full control over the database.&lt;br /&gt;
&lt;br /&gt;
Typical characteristics of this type of problem are repeated manual attention needed to properly connect Advantage Database Server to CommitCRM after rebooting, and restarting the Advantage Database Server service.&lt;br /&gt;
To verify this is the issue, please follow these steps:&lt;br /&gt;
#Stop any '''Commit Services''' installed in the CommitCRM server.&lt;br /&gt;
#Verify no other computers are running CommitCRM.&lt;br /&gt;
#Restart the '''Advantage Database Server''' Service.&lt;br /&gt;
#Once the '''Advantage Database Server''' service has started, Try Logging in with one client on the '''server machine'''.&lt;br /&gt;
#Check the CommitCRM window title to see if '''SQL''' is printed next to your username.&lt;br /&gt;
#If successful, Start '''Commit Services'''.&lt;br /&gt;
&lt;br /&gt;
If this process was successful, this is because the '''Commit Services loaded before Advantage Database Server did''', locking Advantage Database Server out of the CommitCRM database. To permanently resolve this behavior, manual rules will''' need to be created''' in order to ensure that The Commit Services '''do not try to load without Advantage Database Server being started'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Adding Service Dependency Rules===&lt;br /&gt;
Now that CommitCRM depends on the Advantage Database Server Database service, the Commit Services (CommitWebInterface &amp;amp; CommitServer) also need the Advantage Database Server server to to be up before they try to load.&lt;br /&gt;
To set these services to be dependent on the Advantage Database Server Service, follow these steps:&lt;br /&gt;
# Backup your current registry settings.&lt;br /&gt;
# Run '''regedit''' to open your registry.&lt;br /&gt;
# Navigate to '''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services''' and locate the '''CommitWebInterface/CommitServer''' services that you need to set a dependency for.&lt;br /&gt;
# Open the '''DependOnService''' key on the right side. If the selected service does not have a '''DependOnService''' key, then create one by right-clicking and selecting '''New &amp;gt; Multi-String Value'''.&lt;br /&gt;
# In the '''value''' field, enter '''Advantage'''. &lt;br /&gt;
# Click OK, close your registry and restart your machine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit_SQL_Database_Installation_Guide|Commit SQL Database Installation Guide]]&lt;br /&gt;
*[[Commit_SQL_Database_for_Trial_Users|Commit SQL Database for Trial Users]]&lt;br /&gt;
[[Category:Troubleshooting]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4092</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=4092"/>
		<updated>2010-04-22T17:15:08Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Additional Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.htm Advanced Filter Tutorial]  (5 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=4091</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=4091"/>
		<updated>2010-04-19T13:47:46Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installing ODBC Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#Download the ODBC driver version that corresponds with your Advantage SQL Database Server version from the following links: (The Advantage Version number can be found in the [[Media:ADS_Version.jpg|Advantage Configuration Utility]] located on the CommitCRM Server)&amp;lt;br&amp;gt; '''[http://www.commitcrm.com/downloads/commit-odbc-9-0-0-7.exe ODBC Driver Version 9.0]&amp;lt;br&amp;gt; [http://www.commitcrm.com/downloads/commit-odbc-8-1-0-26.exe ODBC Driver Version 8.1] (**Also for systems that do not use the Commit SQL Database)&amp;lt;br&amp;gt; '''&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
'''**DISCLAIMER: Using the ODBC connector without the Commit SQL Database is not recommended, since the chances for Database Corruption would be elevated.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=4090</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=4090"/>
		<updated>2010-04-19T13:45:17Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installing ODBC Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#Download the ODBC driver version that corresponds with your Advantage SQL Database Server version from the following links: (The Advantage Version number can be found in the [[Media:ADS_Version.jpg|Advantage Configuration Utility]] located on the CommitCRM Server)&amp;lt;br&amp;gt; '''[http://www.commitcrm.com/downloads/commit-odbc-9-0-0-7.exe ODBC Driver Version 9.0]&amp;lt;br&amp;gt; [http://www.commitcrm.com/downloads/commit-odbc-8-1-0-26.exe ODBC Driver Version 8.1] (Also for systems that do not use the Commit SQL Database)&amp;lt;br&amp;gt; '''&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3989</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3989"/>
		<updated>2010-04-13T21:11:28Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Additional Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
*[http://commitcrm.com/videos/commitcrm_advanced_filter.html Advanced Filter Tutorial]  (5 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3983</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3983"/>
		<updated>2010-04-07T20:33:15Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installing ODBC Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#Download the ODBC driver version that corresponds with your Advantage SQL Database Server version from the following links: (The Advantage Version number can be found in the [[Media:ADS_Version.jpg|Advantage Configuration Utility]] located on the CommitCRM Server)&amp;lt;br&amp;gt; '''[http://www.commitcrm.com/downloads/commit-odbc-9-0-0-7.exe ODBC Driver Version 9.0]&amp;lt;br&amp;gt; [http://www.commitcrm.com/downloads/commit-odbc-8-1-0-26.exe ODBC Driver Version 8.1]&amp;lt;br&amp;gt; '''&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3982</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3982"/>
		<updated>2010-04-07T20:26:43Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installing ODBC Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#Download the ODBC driver version that corresponds with your Advantage SQL Database Server version from the following links: (The Advantage Version number can be found in the [[Media:ADS_Version.jpg|Advantage Configuration Utility]])&amp;lt;br&amp;gt; '''[http://www.commitcrm.com/downloads/commit-odbc-9-0-0-7.exe ODBC Driver Version 9.0]&amp;lt;br&amp;gt; [http://www.commitcrm.com/downloads/commit-odbc-8-1-0-26.exe ODBC Driver Version 8.1]&amp;lt;br&amp;gt; '''&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=File:ADS_Version.jpg&amp;diff=3981</id>
		<title>File:ADS Version.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=File:ADS_Version.jpg&amp;diff=3981"/>
		<updated>2010-04-07T20:25:06Z</updated>

		<summary type="html">&lt;p&gt;Reno: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3980</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3980"/>
		<updated>2010-04-07T19:55:35Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installing ODBC Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#Download the ODBC driver version that corresponds with your Advantage SQL Database Server version from the following links: (The Advantage Version number can be seen in the Start Menu Folder Name for Advantage in the CommitCRM Server)&amp;lt;br&amp;gt; '''[http://www.commitcrm.com/downloads/commit-odbc-9-0-0-7.exe ODBC Driver Version 9.0]&amp;lt;br&amp;gt; [http://www.commitcrm.com/downloads/commit-odbc-8-1-0-26.exe ODBC Driver Version 8.1]&amp;lt;br&amp;gt; '''&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3979</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3979"/>
		<updated>2010-04-07T19:54:31Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installing ODBC Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#Download the ODBC driver version that corresponds with your Advantage SQL Database Server from the following links: (The Advantage Version number can be seen in the Start Menu Folder Name for Advantage in the CommitCRM Server)&amp;lt;br&amp;gt; '''[http://www.commitcrm.com/downloads/commit-odbc-9-0-0-7.exe ODBC Driver Version 9.0]&amp;lt;br&amp;gt; [http://www.commitcrm.com/downloads/commit-odbc-8-1-0-26.exe ODBC Driver Version 8.1]&amp;lt;br&amp;gt; '''&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3978</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3978"/>
		<updated>2010-04-07T19:45:53Z</updated>

		<summary type="html">&lt;p&gt;Reno: Undo revision 3975 by Reno (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#[http://www.commitcrm.com/downloads/commit-odbc-8-1-0-26.exe Click here] to download the Advantage ODBC setup program.&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=3977</id>
		<title>SQL Database Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=3977"/>
		<updated>2010-04-07T19:44:38Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Important Note For Users that Use our ODBC API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Problem Description==&lt;br /&gt;
When setting up the Commit SQL Database (CSD), the client PCs running the CommitCRM client application cannot connect to the Commit SQL Database, and an error is displayed saying:&lt;br /&gt;
&lt;br /&gt;
 Procedure halted due to data server error.&amp;lt;br&amp;gt;Verify server is operating and this computer has access to the server folder.&amp;lt;br&amp;gt;(C:\Commit\DB)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Error.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This problem occurs when the client PCs try to connect to the Commit SQL Database, which is installed on your server, and it doesn’t “answer” to their connection requests.&lt;br /&gt;
By default, CommitCRM clients send a UDP broadcast message on the network, checking where the Commit SQL Database server is found; if found the server answers with the relevant information for the client to connect to it (IP, Port, etc.). This handshake process may require allowing UDP broadcasts inside you LAN. Usually this does not require any special setup; however, with some advanced network security settings it may be required.&lt;br /&gt;
It is also required that the Commit SQL Database, which runs on your server as a Windows service called Advantage Database Server, will be up and running and be allowed to communicate with your LAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Steps==&lt;br /&gt;
In order to assure the Commit SQL Database can communicate with the CommitCRM clients, we ask that you cover the following steps. &lt;br /&gt;
&lt;br /&gt;
*'''Please remember to test the Commit SQL Database communications again after applying each step, and if the issue persists, then the next step should be applied.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage Server===&lt;br /&gt;
*Verfiy the Advantage Database Server service is started on your server. For installation instructions click [[Commit_SQL_Database_Installation_Guide|here]] or [[Commit_SQL_Database_for_Trial_Users|here]] if your are using a trial copy of CSD.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DEP – Data Execution Prevention===&lt;br /&gt;
*Please ensure that if using DEP on the server, where Commit SQL Database (aka, Advantage Database Server) is installed, it should be configured to allow data execution for '''ADS.exe''', by default located in the following folder '''C:\Program Files\Extended Systems\Advantage 9007\Server'''. This file is the Commit SQL Database / Advantage Database Server Windows service executable file and therefore should be allowed, or else DEP may isolate the CSD software from communicating with the CommitCRM client applications.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Firewall - Windows or any other installed Firewall===&lt;br /&gt;
*Make sure that your software firewall allows the Advantage port through the firewall (Advantage prot information can be adjusted from '''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Also, make sure that no special UDP restrictions are activated on the CommitCRM server.&lt;br /&gt;
*If advanced firewall restrictions are configured, please verify that an exception has been placed in the firewall, so that the software may communicate with the network, as well as allowing UDP traffic through the firewall.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator===&lt;br /&gt;
*The CommitCRM client's way of finding the Commit SQL Database Server fails. In order for the client to detect where the server is running it broadcasts a UDP message and asks for the server to answer. When the server answers the client knows the server IP and can communicate with it.&lt;br /&gt;
*On your server, you can run the Advantage Configuration Utility ('''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Using it you can find the Port number which is used for communicating with the clients. When adjusting the CSD ports, you can use any port you like, as long as the port is not being used by any other software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Communicationstab.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As explained in the previous steps, you should make sure that the Windows firewall on each client on your LAN allows communication with the server for this port. Verifying this will allow communication between the CommitCRM client and Commit SQL Database on the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
However, in some cases this is not enough. As explained above, a discovery process takes place when the client loads, trying to find the server... It is possible that your Windows firewall blocks this discovery process even if the port is allowed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Therefore, in case you enabled the port on each client (using the firewall settings window) and CommitCRM client still doesn't load, you should continue with the following ('''do not continue with this before testing whether allowing the port has solved the issue'''):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the '''&amp;lt;server&amp;gt;\Commit\LastVer''' &amp;lt;!-- '''&amp;lt;server&amp;gt;\Commit\LastVer\WebInterface''' &amp;amp; '''&amp;lt;server&amp;gt;\Commit\LastVer\Server (Probably needs to be created)'''--&amp;gt; folder, create a text file called '''ADS.INI'''&lt;br /&gt;
Open this file in Notepad and add the following settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 '''[MYSERVER] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&amp;lt;br&amp;gt;&lt;br /&gt;
''IMPORTANT NOTES'':&lt;br /&gt;
*Replace '''MYSERVER''' with the name of '''YOUR server'''&lt;br /&gt;
*Replace the '''192.168.0.1''' IP address with the '''LOCAL IP address of your server'''.&lt;br /&gt;
*Replace the port number '''2001 '''to the one used for Commit SQL Database in your setup ('''this can be viewed by running Advantage Configuration Utility on your server, look for the port in use for your LAN''').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After adding the relevant settings, save the file and then try to run CommitCRM client.&lt;br /&gt;
This file tells the CommitCRM client what the server IP is and what port to use and therefore no discovery process is required, avoiding the broadcast stage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please remember that in case you ever change the IP of your server on your LAN, you should make sure to update this file again to reflect the change. This is why we usually recommend on allowing the broadcast rather than using this hard-coded method of communication; however, in some configurations it doesn’t work and using an ADS.ini file is mandatory.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator (Supplemental)===&lt;br /&gt;
*If the Ads.ini file does not correct the issue, then we suggest that '''changing the Server hostname reference''' in ADS.ini to the '''server IP address [192.168.x.x]''' will correct this behavior. (Remember to restart Advantage Service each time ADS.ini is adjusted)&lt;br /&gt;
For example: &lt;br /&gt;
 '''[192.168.0.1] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&lt;br /&gt;
''IMPORTANT NOTE:''&lt;br /&gt;
*Please replace the ServerName (between the brackets) with '''the servers IP adress''', as displayed in the example above.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Important Note For Users that Use our ODBC API====&lt;br /&gt;
I some cases your system may still present an error message regarding failure of the Discovery process (Advantage Error 6320) when trying to access to the CommitCRM database using an ODBC connection, even after the ADS.ini file has resolved the issues with CommitCRM clients being able to discover the Advantage server. The following solution should resolve this issue as long as the following conditions are met:&lt;br /&gt;
&lt;br /&gt;
* You use the Commit SQL Database (aka, Advantage Database Server on your server) and ODBC.&lt;br /&gt;
&lt;br /&gt;
* The ADS.ini file succeeded in logging in the CommitCRM Software Applications (Clients).&lt;br /&gt;
&lt;br /&gt;
* When using applications you developed with ODBC you receive a message regarding Database Discovery Failure (Error code 6320).&lt;br /&gt;
&lt;br /&gt;
If all of the above prerequisites exist, you should copy the ADS.ini file you prepared from the CommitCRM server folder into the following folder on each the affected workstation:&lt;br /&gt;
&lt;br /&gt;
* '''%Windir%\system32'''&lt;br /&gt;
&lt;br /&gt;
This folder usually translates to: '''C:\Windows\system32'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' To open these folders on your PC you can paste the paths listed above into a Windows Run dialog box, or into any Windows Explorer path.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recurring issues after Rebooting the CommitCRM Server Machine==&lt;br /&gt;
The CommitCRM database chooses its database mode upon the first concurrent connection to the system. If a client application, or Commit Addon Service (Such as '''CommmitWebInterface''' or '''CommitServer''')service is already loaded and connected to the server before the Advantage Database Server service finishes loading, then all subsequent connections will be rejected since the prior connection to the database would not allow the Advantage Database Server service full control over the database.&lt;br /&gt;
&lt;br /&gt;
Typical characteristics of this type of problem are repeated manual attention needed to properly connect Advantage Database Server to CommitCRM after rebooting, and restarting the Advantage Database Server service.&lt;br /&gt;
To verify this is the issue, please follow these steps:&lt;br /&gt;
#Stop any '''Commit Services''' installed in the CommitCRM server.&lt;br /&gt;
#Verify no other computers are running CommitCRM.&lt;br /&gt;
#Restart the '''Advantage Database Server''' Service.&lt;br /&gt;
#Once the '''Advantage Database Server''' service has started, Try Logging in with one client on the '''server machine'''.&lt;br /&gt;
#Check the CommitCRM window title to see if '''SQL''' is printed next to your username.&lt;br /&gt;
#If successful, Start '''Commit Services'''.&lt;br /&gt;
&lt;br /&gt;
If this process was successful, this is because the '''Commit Services loaded before Advantage Database Server did''', locking Advantage Database Server out of the CommitCRM database. To permanently resolve this behavior, manual rules will''' need to be created''' in order to ensure that The Commit Services '''do not try to load without Advantage Database Server being started'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Adding Service Dependency Rules===&lt;br /&gt;
Now that CommitCRM depends on the Advantage Database Server Database service, the Commit Services (CommitWebInterface &amp;amp; CommitServer) also need the Advantage Database Server server to to be up before they try to load.&lt;br /&gt;
To set these services to be dependent on the Advantage Database Server Service, follow these steps:&lt;br /&gt;
# Backup your current registry settings.&lt;br /&gt;
# Run '''regedit''' to open your registry.&lt;br /&gt;
# Navigate to '''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services''' and locate the '''CommitWebInterface/CommitServer''' services that you need to set a dependency for.&lt;br /&gt;
# Open the '''DependOnService''' key on the right side. If the selected service does not have a '''DependOnService''' key, then create one by right-clicking and selecting '''New &amp;gt; Multi-String Value'''.&lt;br /&gt;
# In the '''value''' field, enter '''Advantage Database Server'''. &lt;br /&gt;
# Click OK, close your registry and restart your machine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit_SQL_Database_Installation_Guide|Commit SQL Database Installation Guide]]&lt;br /&gt;
*[[Commit_SQL_Database_for_Trial_Users|Commit SQL Database for Trial Users]]&lt;br /&gt;
[[Category:Troubleshooting]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=3976</id>
		<title>SQL Database Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=3976"/>
		<updated>2010-04-07T19:42:18Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Important Note For ODBC Users */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Problem Description==&lt;br /&gt;
When setting up the Commit SQL Database (CSD), the client PCs running the CommitCRM client application cannot connect to the Commit SQL Database, and an error is displayed saying:&lt;br /&gt;
&lt;br /&gt;
 Procedure halted due to data server error.&amp;lt;br&amp;gt;Verify server is operating and this computer has access to the server folder.&amp;lt;br&amp;gt;(C:\Commit\DB)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Error.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This problem occurs when the client PCs try to connect to the Commit SQL Database, which is installed on your server, and it doesn’t “answer” to their connection requests.&lt;br /&gt;
By default, CommitCRM clients send a UDP broadcast message on the network, checking where the Commit SQL Database server is found; if found the server answers with the relevant information for the client to connect to it (IP, Port, etc.). This handshake process may require allowing UDP broadcasts inside you LAN. Usually this does not require any special setup; however, with some advanced network security settings it may be required.&lt;br /&gt;
It is also required that the Commit SQL Database, which runs on your server as a Windows service called Advantage Database Server, will be up and running and be allowed to communicate with your LAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Steps==&lt;br /&gt;
In order to assure the Commit SQL Database can communicate with the CommitCRM clients, we ask that you cover the following steps. &lt;br /&gt;
&lt;br /&gt;
*'''Please remember to test the Commit SQL Database communications again after applying each step, and if the issue persists, then the next step should be applied.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage Server===&lt;br /&gt;
*Verfiy the Advantage Database Server service is started on your server. For installation instructions click [[Commit_SQL_Database_Installation_Guide|here]] or [[Commit_SQL_Database_for_Trial_Users|here]] if your are using a trial copy of CSD.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DEP – Data Execution Prevention===&lt;br /&gt;
*Please ensure that if using DEP on the server, where Commit SQL Database (aka, Advantage Database Server) is installed, it should be configured to allow data execution for '''ADS.exe''', by default located in the following folder '''C:\Program Files\Extended Systems\Advantage 9007\Server'''. This file is the Commit SQL Database / Advantage Database Server Windows service executable file and therefore should be allowed, or else DEP may isolate the CSD software from communicating with the CommitCRM client applications.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Firewall - Windows or any other installed Firewall===&lt;br /&gt;
*Make sure that your software firewall allows the Advantage port through the firewall (Advantage prot information can be adjusted from '''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Also, make sure that no special UDP restrictions are activated on the CommitCRM server.&lt;br /&gt;
*If advanced firewall restrictions are configured, please verify that an exception has been placed in the firewall, so that the software may communicate with the network, as well as allowing UDP traffic through the firewall.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator===&lt;br /&gt;
*The CommitCRM client's way of finding the Commit SQL Database Server fails. In order for the client to detect where the server is running it broadcasts a UDP message and asks for the server to answer. When the server answers the client knows the server IP and can communicate with it.&lt;br /&gt;
*On your server, you can run the Advantage Configuration Utility ('''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Using it you can find the Port number which is used for communicating with the clients. When adjusting the CSD ports, you can use any port you like, as long as the port is not being used by any other software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Communicationstab.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As explained in the previous steps, you should make sure that the Windows firewall on each client on your LAN allows communication with the server for this port. Verifying this will allow communication between the CommitCRM client and Commit SQL Database on the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
However, in some cases this is not enough. As explained above, a discovery process takes place when the client loads, trying to find the server... It is possible that your Windows firewall blocks this discovery process even if the port is allowed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Therefore, in case you enabled the port on each client (using the firewall settings window) and CommitCRM client still doesn't load, you should continue with the following ('''do not continue with this before testing whether allowing the port has solved the issue'''):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the '''&amp;lt;server&amp;gt;\Commit\LastVer''' &amp;lt;!-- '''&amp;lt;server&amp;gt;\Commit\LastVer\WebInterface''' &amp;amp; '''&amp;lt;server&amp;gt;\Commit\LastVer\Server (Probably needs to be created)'''--&amp;gt; folder, create a text file called '''ADS.INI'''&lt;br /&gt;
Open this file in Notepad and add the following settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 '''[MYSERVER] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&amp;lt;br&amp;gt;&lt;br /&gt;
''IMPORTANT NOTES'':&lt;br /&gt;
*Replace '''MYSERVER''' with the name of '''YOUR server'''&lt;br /&gt;
*Replace the '''192.168.0.1''' IP address with the '''LOCAL IP address of your server'''.&lt;br /&gt;
*Replace the port number '''2001 '''to the one used for Commit SQL Database in your setup ('''this can be viewed by running Advantage Configuration Utility on your server, look for the port in use for your LAN''').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After adding the relevant settings, save the file and then try to run CommitCRM client.&lt;br /&gt;
This file tells the CommitCRM client what the server IP is and what port to use and therefore no discovery process is required, avoiding the broadcast stage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please remember that in case you ever change the IP of your server on your LAN, you should make sure to update this file again to reflect the change. This is why we usually recommend on allowing the broadcast rather than using this hard-coded method of communication; however, in some configurations it doesn’t work and using an ADS.ini file is mandatory.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator (Supplemental)===&lt;br /&gt;
*If the Ads.ini file does not correct the issue, then we suggest that '''changing the Server hostname reference''' in ADS.ini to the '''server IP address [192.168.x.x]''' will correct this behavior. (Remember to restart Advantage Service each time ADS.ini is adjusted)&lt;br /&gt;
For example: &lt;br /&gt;
 '''[192.168.0.1] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&lt;br /&gt;
''IMPORTANT NOTE:''&lt;br /&gt;
*Please replace the ServerName (between the brackets) with '''the servers IP adress''', as displayed in the example above.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Important Note For Users that Use our ODBC API====&lt;br /&gt;
I some cases your system may still present an error message regarding failure of the Discovery process (Advantage Error 6320) when trying to access to the CommitCRM database using an ODBC connection, even after the ADS.ini file has resolved the issues with CommitCRM clients being able to discover the Advantage server. The following solution should resolve this issue as long as the following conditions are met:&lt;br /&gt;
&lt;br /&gt;
* You use the Commit SQL Database (aka, Advantage Database Server on your server) and ODBC.&lt;br /&gt;
&lt;br /&gt;
* The ADS.ini file succeeded in logging in the CommitCRM Software Applications (Clients).&lt;br /&gt;
&lt;br /&gt;
* When using applications you developed with ODBC you receive a message regarding Database Discovery Failure (Error code 6320).&lt;br /&gt;
&lt;br /&gt;
If all of the above prerequisites exist, you should copy the ADS.ini file you prepared from the CommitCRM server folder into the following folder on each the affected workstation:&lt;br /&gt;
&lt;br /&gt;
* %Windir%\system32&lt;br /&gt;
&lt;br /&gt;
This folder usually translates to: '''C:\Windows\system32'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' To open these folders on your PC you can paste the paths listed above into a Windows Run dialog box, or into any Windows Explorer path.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recurring issues after Rebooting the CommitCRM Server Machine==&lt;br /&gt;
The CommitCRM database chooses its database mode upon the first concurrent connection to the system. If a client application, or Commit Addon Service (Such as '''CommmitWebInterface''' or '''CommitServer''')service is already loaded and connected to the server before the Advantage Database Server service finishes loading, then all subsequent connections will be rejected since the prior connection to the database would not allow the Advantage Database Server service full control over the database.&lt;br /&gt;
&lt;br /&gt;
Typical characteristics of this type of problem are repeated manual attention needed to properly connect Advantage Database Server to CommitCRM after rebooting, and restarting the Advantage Database Server service.&lt;br /&gt;
To verify this is the issue, please follow these steps:&lt;br /&gt;
#Stop any '''Commit Services''' installed in the CommitCRM server.&lt;br /&gt;
#Verify no other computers are running CommitCRM.&lt;br /&gt;
#Restart the '''Advantage Database Server''' Service.&lt;br /&gt;
#Once the '''Advantage Database Server''' service has started, Try Logging in with one client on the '''server machine'''.&lt;br /&gt;
#Check the CommitCRM window title to see if '''SQL''' is printed next to your username.&lt;br /&gt;
#If successful, Start '''Commit Services'''.&lt;br /&gt;
&lt;br /&gt;
If this process was successful, this is because the '''Commit Services loaded before Advantage Database Server did''', locking Advantage Database Server out of the CommitCRM database. To permanently resolve this behavior, manual rules will''' need to be created''' in order to ensure that The Commit Services '''do not try to load without Advantage Database Server being started'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Adding Service Dependency Rules===&lt;br /&gt;
Now that CommitCRM depends on the Advantage Database Server Database service, the Commit Services (CommitWebInterface &amp;amp; CommitServer) also need the Advantage Database Server server to to be up before they try to load.&lt;br /&gt;
To set these services to be dependent on the Advantage Database Server Service, follow these steps:&lt;br /&gt;
# Backup your current registry settings.&lt;br /&gt;
# Run '''regedit''' to open your registry.&lt;br /&gt;
# Navigate to '''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services''' and locate the '''CommitWebInterface/CommitServer''' services that you need to set a dependency for.&lt;br /&gt;
# Open the '''DependOnService''' key on the right side. If the selected service does not have a '''DependOnService''' key, then create one by right-clicking and selecting '''New &amp;gt; Multi-String Value'''.&lt;br /&gt;
# In the '''value''' field, enter '''Advantage Database Server'''. &lt;br /&gt;
# Click OK, close your registry and restart your machine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit_SQL_Database_Installation_Guide|Commit SQL Database Installation Guide]]&lt;br /&gt;
*[[Commit_SQL_Database_for_Trial_Users|Commit SQL Database for Trial Users]]&lt;br /&gt;
[[Category:Troubleshooting]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3975</id>
		<title>API Developers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Developers_Guide&amp;diff=3975"/>
		<updated>2010-04-07T19:26:48Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installing ODBC Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanuals}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
CommitCRM provides various tools in order to read/add/update information in the CommitCRM&lt;br /&gt;
database. These tools include: Programming API and API by Email for updating the&lt;br /&gt;
database, and an ODBC Link for pulling information from the database.&lt;br /&gt;
The Commit API provides developers with a set of APIs which allow them to perform&lt;br /&gt;
database transactions in order to add and update records in the CommitCRM database. The&lt;br /&gt;
API can be used as a Programming API by embedding code which uses the API functions,&lt;br /&gt;
or as an API by Email which allows you to send XML formatted emails which will be&lt;br /&gt;
processed and executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*'''Programming API'''&amp;lt;br&amp;gt;The Commit API provides developers with a set of API functions which can be used in VB, C++, Delphi and any other programming language that lets you use a standard Windows dll file. It provides the ability to create a connection to CommitCRM's database, add new records to the database and update them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''API by Email'''&amp;lt;br&amp;gt;The API by Email allows you to send XML formatted emails which contain database transactions. Commit Email Connector then pulls the incoming XML emails from your POP3 mail server, processes the email and performs the transactions in the XML transaction. XML formatted email gives you an API for the CommitCRM database, which allows you to perform many actions such as linking to external systems, receiving forms submitted from your web site, and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link'''&amp;lt;br&amp;gt;While the API provides the means for adding and updating information in the database, you should use ODBC Link in order to read information from the database. CommitCRM uses an open database structure and allows other applications to access the database using ODBC (Open Data Base Connectivity) for '''read-only''' purposes.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;You can use ODBC Link in order to read data from the database and integrate it with an external system (i.e. Crystal reports, or any other application). You may also use the ODBC Link to read Database Record IDs and update existing records. This will be discussed later in this document.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Glossary=&lt;br /&gt;
*'''Commit API (Application Programming Interface)''' - CommitCRM provides an API which allows you to &amp;lt;u&amp;gt;add and update&amp;lt;/u&amp;gt; records in the CommitCRM database. The API includes a list of possible actions and parameters.&lt;br /&gt;
&lt;br /&gt;
*'''ODBC Link (Open Data Base Connectivity)''' - ODBC is a function library which provides a common API for ODBC compliant databases. CommitCRM provides an open database and allows other applications to access the database using ODBC for '''read-only''' purposes.&lt;br /&gt;
&lt;br /&gt;
*'''Record''' - Each entity in the CommitCRM database (such as Ticket, Account, Asset, Item, Appointment, Task, etc.) is considered a &amp;quot;record&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*'''Database fields''' - Each record contains a list of fields, each of which holds the record's data.&lt;br /&gt;
&lt;br /&gt;
*'''Transaction''' – All additions or updates to record in the database are done by using a transaction. Each transaction includes the operation you wish to perform, the data type you wish to add/update and the additional parameters (database fields and their values).&lt;br /&gt;
&lt;br /&gt;
*'''Transaction Parameters''' - Each transaction contains the parameters for performing the transaction: record type, list of database fields and a list of the values to be updated in these fields.&lt;br /&gt;
&lt;br /&gt;
*'''External Application''' - This refers to the external program which integrates with CommitCRM in order to update the database. This name should be passed when performing updates to the database, and it will be saved in the CommitCRM record to indicate who performed the changes.&lt;br /&gt;
&lt;br /&gt;
*'''Record ID (REC ID)''' - Each record in CommitCRM has a '''unique Record ID''' which is created when adding the record to the database. Every ID is 20 characters and should be transferred with the API transaction when you need to update an existing record.&lt;br /&gt;
&lt;br /&gt;
=Using Commit API=&lt;br /&gt;
Commit API allows you to add and update records in the CommitCRM database, such as&lt;br /&gt;
Accounts, Tickets, Assets, Items, Appointments, Tasks and more.&lt;br /&gt;
&lt;br /&gt;
The updates are performed using transactions, where each transaction includes the&lt;br /&gt;
operation you wish to perform, the data type you wish to add/update, and any additional&lt;br /&gt;
parameters (i.e. record type, database fields and their values).&lt;br /&gt;
&lt;br /&gt;
Every record added to the system is assigned a unique Record ID (REC ID) which is the&lt;br /&gt;
database identifier for this record.&lt;br /&gt;
&lt;br /&gt;
The Commit API allows you to perform the following operations.&lt;br /&gt;
&lt;br /&gt;
*'''Add new records''' - if no Record ID is passed in the transaction, the API assumes that this is a new record, adds it to the system and creates a new Record ID for it.&lt;br /&gt;
&lt;br /&gt;
*'''Update existing records''' - if the record ID is passed in the transaction, and the record exists, the system will update the record with the information in the transaction.&lt;br /&gt;
&lt;br /&gt;
In both cases, the system will try to set default values for fields which do not exist in the&lt;br /&gt;
incoming transaction. If it fails, the action will fail with an error.&lt;br /&gt;
&lt;br /&gt;
Note that in order to '''read data''' from the CommitCRM database, you should use the ODBC&lt;br /&gt;
Link, which provides a read-only link for the CommitCRM database. See more details in&lt;br /&gt;
[[#Retrieving data using ODBC|Retrieving data using ODBC]].&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
Following is a sample work-flow, which demonstrates the process of adding a new Account, and then adding a new Ticket to this Account, using the Commit API.&lt;br /&gt;
&lt;br /&gt;
Note that the API can return two parameters to the External Application:&lt;br /&gt;
#The Commit REC ID - when adding new records to the database, this will contains the new record ID.&lt;br /&gt;
#The ExternalTransactionID (relevant for XML transaction only) - In case the external application passes a parameter to be returned with the response, the ExternalTransactionID will be returned as-is to in the response. &lt;br /&gt;
&lt;br /&gt;
The External Application should keep the REC ID which is returned from the API response. This allows you to later update the existing records with new data or add records related to it (such as opening a Ticket under the Account). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:flow.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Updating existing records==&lt;br /&gt;
In order to update an already existing record in the database (e.g. add a Ticket to an&lt;br /&gt;
Account, update an Account's phone number, add a new Charge to an existing Ticket,&lt;br /&gt;
etc.), you should pass the record's unique identifier to the API so it will update the&lt;br /&gt;
existing record rather than create a new Account. The record's unique identifier is&lt;br /&gt;
referred to as the Record ID (REC ID).&lt;br /&gt;
&lt;br /&gt;
The Record ID can be obtained in the following ways:&lt;br /&gt;
#'''API Response''' (as in the flow above) - You can extract the newly created Record ID from the Email Response when adding new records with the API. This requires the developer to process the API responses, and extract the returning REC ID for each newly added record.&lt;br /&gt;
#'''ODBC Link''' - Use the ODBC Link to find relevant records (Accounts, Tickets, etc.), and read all information from the database, including the unique Record ID.&lt;br /&gt;
#'''Manually''' - from the Account's &amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt; tab, at the bottom, right-click the REC ID field and copy it.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained the Record ID you can pass the Record ID as a parameter for the&lt;br /&gt;
API and update this record.&lt;br /&gt;
&lt;br /&gt;
=Programming API=&lt;br /&gt;
The Programming API allows you access the CommitCRM database and perform transactions&lt;br /&gt;
from within a program (using various programming language). This means you can embed&lt;br /&gt;
code which accesses the CommitCRM database from within your own application, and add&lt;br /&gt;
your own functionality which updates the database.&lt;br /&gt;
&lt;br /&gt;
The programming API executes database transactions. Each transaction uses API methods&lt;br /&gt;
provides by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools needed for adding/updating information in the&lt;br /&gt;
database. In order to retrieve data, you should use the ODBC link which allows you to&lt;br /&gt;
connect to the database and retrieve data directly from the tables. You can read more&lt;br /&gt;
about it in the [[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
=API by Email (XML transaction)=&lt;br /&gt;
The API by Email operates under the Commit Email Connector module, which&lt;br /&gt;
automatically processes incoming emails arriving at a defined public email address. The&lt;br /&gt;
Email may contain XML formatted messages which contain API transactions, and provides&lt;br /&gt;
a full API to CommitCRM.&lt;br /&gt;
&lt;br /&gt;
The Email Connector pulls incoming emails from your POP3 mail server, and processes the&lt;br /&gt;
email. When an email containing XML formatted message is detected, the system analyzes&lt;br /&gt;
the XML content of the email and performs the transactions written in the XML. You may&lt;br /&gt;
set the Email Connector to send automatic replies in response to XML formatted email.&lt;br /&gt;
&lt;br /&gt;
The API by Email executes database transactions. Each transaction uses API methods&lt;br /&gt;
provided by the API dll file which is located in the CommitCRM installation. Both the&lt;br /&gt;
Programming API and the API by Email use the same dll for performing the transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the API provides the tools for adding/updating information in the database. In&lt;br /&gt;
order to retrieve data, you should use the ODBC link which allows you to connect to the&lt;br /&gt;
database and retrieve data directly from the tables. You can read more about it in the&lt;br /&gt;
[[Commit_API_Developers_Guide#ODBC_Data_Retrieval|ODBC Data Retrieval]] section.&lt;br /&gt;
&lt;br /&gt;
You can find more information and samples in [[API Code Samples#XML samples|XML samples]].&lt;br /&gt;
&lt;br /&gt;
=ODBC Data Retrieval=&lt;br /&gt;
CommitCRM uses an open database and allows other applications to access it using ODBC&lt;br /&gt;
(Open Data Base Connectivity) for '''read-only''' purposes. While the API provides the means&lt;br /&gt;
for adding and updating information in the database, it is preferred to use ODBC to read&lt;br /&gt;
information from the database.&lt;br /&gt;
&lt;br /&gt;
You can use ODBC Link to read data from the database and integrate it with an external&lt;br /&gt;
system (i.e. Crystal reports, or any other application). You may also use the ODBC Link in&lt;br /&gt;
order to read the Database Record ID and update existing records (see [[Commit_API_Developers_Guide#Updating_existing_records|Updating existing records]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Activation Notes:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The ODBC drivers are well tested and work well, however, please note that the Commit Support team doesn't provide &amp;quot;pure ODBC&amp;quot; support.&lt;br /&gt;
&lt;br /&gt;
*NEVER use ODBC to modify or delete data; use it for READ purposes only. Modifying data should be done using the Commit API.&lt;br /&gt;
&lt;br /&gt;
*The ODBC Link can be used with your installed version of CommitCRM, and only requires installing an external driver. Before working with the API we recommend that you '''backup the database'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below are the database table names and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''CommitCRM Record'''&lt;br /&gt;
! '''Database Table Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
|-&lt;br /&gt;
| Tickets&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Appointments&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| Tasks&lt;br /&gt;
| Events&lt;br /&gt;
|-&lt;br /&gt;
| History Notes&lt;br /&gt;
| NoteBook&lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the database fields list, please refer to [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] section.&lt;br /&gt;
You can find detailed instructions for using the ODBC Link in the [[Commit_API_Developers_Guide#Installing_ODBC_Driver|Installing ODBC Driver]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing ODBC Driver==&lt;br /&gt;
&amp;lt;u&amp;gt;'''Product Overview'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Advantage ODBC Driver is an ODBC version 3 driver based on the Advantage Client Engine that provides SQL access to the Advantage Database Server. The driver provides&lt;br /&gt;
full support for the &amp;quot;Minimum&amp;quot; ODBC SQL grammar specification, as well as many functions&lt;br /&gt;
included in the &amp;quot;Core&amp;quot; and &amp;quot;Extended&amp;quot; grammar specifications. When used with the&lt;br /&gt;
Advantage Database Server, ODBC users can have the&lt;br /&gt;
application stability, performance and reduced network traffic benefits of client/server&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Installation on Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Like other ODBC drivers, the Advantage ODBC Driver is installed and managed using the&lt;br /&gt;
ODBC Administrator Utility. This utility works with the ODBC Driver Manager to configure&lt;br /&gt;
ODBC data sources. At runtime, the ODBC Driver Manager works with available drivers and&lt;br /&gt;
their configured data sources. If you have previously installed ODBC drivers, the ODBC Administrator may already be installed on your workstation. The icon for the Administrator is usually found in the Control Panel.&lt;br /&gt;
&lt;br /&gt;
To install the Advantage ODBC Driver:&lt;br /&gt;
#[http://www.commitcrm.com/downloads/odbc9007.exe Click here] to download the Advantage ODBC setup program.&lt;br /&gt;
#Run the Setup program.&lt;br /&gt;
#Proceed through the setup windows to complete installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Data Source Setup for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Advantage ODBC Driver is installed, a data source needs to be configured to use&lt;br /&gt;
the Advantage ODBC Driver. The data source is an entry in the Windows Registry. When a&lt;br /&gt;
data source is defined for the Advantage Driver, all information specific to the Advantage&lt;br /&gt;
Driver and database files is stored under the Data Source entry in the Windows 95/98/ME/&lt;br /&gt;
NT/2000/2003/XP Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The database files and indexes must be stored on your file server, and the Advantage&lt;br /&gt;
Database Server must be loaded in order to access the files.&lt;br /&gt;
&lt;br /&gt;
The Data Source settings may be modified at any time. Using the ODBC Administrator, you&lt;br /&gt;
may modify the Data Source and Option settings.&lt;br /&gt;
For specific information about the screen fields see the Data Source Setup Screen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''To Setup the Data Source:'''&amp;lt;/u&amp;gt;&lt;br /&gt;
#From the ODBC Administrator, click Add.&lt;br /&gt;
#Highlight the Advantage SQL ODBC line, and click OK.&lt;br /&gt;
#Type a unique data source name. For example, type AdvData. This name is used by applications to reference the data source.&lt;br /&gt;
#Specify the database or data dictionary path. Type a valid path name to a mapped drive on the server where the Advantage Database Server is installed or the path and file name of your Advantage Data Dictionary. Click Browse to select a database path or check the Data Dictionary check box and then browse to select a data dictionary file. Note Multiple Advantage data sources may need to be defined for your environment. If different settings are needed for ODBC connections in one application, separate data sources may be required.&lt;br /&gt;
#Review the options and change them to your desired setup.&lt;br /&gt;
#Once the Options are reviewed and/or altered, click OK to exit and save the settings. The new data source is displayed.&lt;br /&gt;
#Click Close to exit the ODBC Administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Entries for Windows'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft Windows, the entries are registry settings found on HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ (your unique data source name) or HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI (your unique data source name). Unless specified otherwise, all registry entries can be setup by the Advantage ODBC Driver setup utility. See Data Source Setup for Windows and Data Source Setup Screen for more information. ODBC Data Source Keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''ODBC Data Source Keys'''&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The following ODBC registry is '''required''' for the driver to load:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DataDirectory=data path&lt;br /&gt;
| 'data path' should be a valid path name for files locations (e.g., x:\data). This path is used to automatically select all tables in the specified directory.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultType=Advantage&lt;br /&gt;
| Sets a certain type of database files to use Advantageproprietary ADT/ADI/ADM files.&lt;br /&gt;
|-&lt;br /&gt;
| ServerTypes=3&lt;br /&gt;
| Allows the Driver to use the remote or local server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following ODBC registry keys are '''optional''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Registry Entry'''&lt;br /&gt;
! '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| AdvantageLocking=ON \ OFF&lt;br /&gt;
| The default is ON to use the Advantage proprietary locking.&lt;br /&gt;
|-&lt;br /&gt;
| CharSet=OEM \ ANSI&lt;br /&gt;
| The default character collation setting is ANSI. If OEM is specified, Language must be indicated as well.&lt;br /&gt;
|-&lt;br /&gt;
| Language=USA&lt;br /&gt;
| Used if CharSet=OEM.&lt;br /&gt;
|-&lt;br /&gt;
| Description=String&lt;br /&gt;
| This is provided for easier administration.&lt;br /&gt;
|-&lt;br /&gt;
| Locking=RECORD \ FILE&lt;br /&gt;
| Indicates whether updates lock the entire file or the individual records that are updated. The default is RECORD.&lt;br /&gt;
|-&lt;br /&gt;
| MaxTableCloseCache=n&lt;br /&gt;
| N is the number of tables to hold in cache when cursors are opened and closed. The default is 25.&lt;br /&gt;
|-&lt;br /&gt;
| MemoBlockSize=n&lt;br /&gt;
| N is the size of the Advantage memo blocks in tables that are created by the ODBC driver. The default value is 8 for Advantage proprietary table (ADT/ADM).&lt;br /&gt;
|-&lt;br /&gt;
| Rows=TRUE \ FALSE&lt;br /&gt;
| Select whether deleted rows are displayed. If True, deleted rows are displayed. The default is False.&lt;br /&gt;
|-&lt;br /&gt;
| TrimTrailingSpaces=TRUE \ FALSE&lt;br /&gt;
| The default is False. If True is specified, trailing spaces in character fields will be removed prior to returning the values to the application.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting ODBC in 64 Bit Operating Systems==&lt;br /&gt;
The Commit ODBC drivers are mainly distributed for 32-bit operating systems; however, the same drivers are supported on the 64-bit operating systems (I.e. Windows 7 x64), and can be used to retrieve data from the CommitCRM database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Configuring Data Source in 64-Bit Systems===&lt;br /&gt;
When installing the ODBC drivers on 64-bit operating systems, the ODBC drivers may not be displayed in the default ODBC manager in windows control panel. In order to view the 32-bit ODBC manager in a 64-bit operating system, you’ll need to browse to '''%windir%\SysWOW64\odbcad32.exe''' and run the 32 bit ODBC Administrator manually. Once the data source has been configured there, you should be able to select the data source in your 3rd party ODBC programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=Samples=&lt;br /&gt;
The Commit API allows you to add/update the following entities:&lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes&lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
Each API method requires a list of parameters which contain the field names and their values. The field names are the Database field names. You can see each field's name within the application (so you can verify which field you are about to update), by right-clicking the field and selecting Field Settings &amp;gt; Advanced Tab &amp;gt; view the Tech. Rec ID field.&lt;br /&gt;
&lt;br /&gt;
You can view the complete list of database fields in the [[Commit_API_Developers_Guide#API_Reference_Manual|API Reference Manual]] above.&lt;br /&gt;
&lt;br /&gt;
Following are samples for using the API by Email and the Programming API. The samples are basic and provide an easy starting point. &lt;br /&gt;
&lt;br /&gt;
See [[API Code Samples]].&lt;br /&gt;
&lt;br /&gt;
=API Reference Manual=&lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*Accounts&lt;br /&gt;
*Assets&lt;br /&gt;
*Tickets&lt;br /&gt;
*Charges (and Contract-price Charges)&lt;br /&gt;
*Appointments&lt;br /&gt;
*Tasks&lt;br /&gt;
*History Notes &lt;br /&gt;
*Opportunities&lt;br /&gt;
*Documents&lt;br /&gt;
*Knowledge Base Articles&lt;br /&gt;
&lt;br /&gt;
You can find a detailed listing of the database fields in the [[API Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
*[[API Reference Manual]]&lt;br /&gt;
*[[Email Connector|Commit Email Connector]]&lt;br /&gt;
*[[API by Email and MSP Integration]]&lt;br /&gt;
*[[MSP Integration Setup]]&lt;br /&gt;
*[http://www.commitcrm.com/sql_database_server.htm Commit SQL Database (CSD)]&lt;br /&gt;
*[[Commit SQL Database Installation Guide | Commit SQL Database (CSD) Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=3974</id>
		<title>SQL Database Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=SQL_Database_Troubleshooting&amp;diff=3974"/>
		<updated>2010-04-07T19:24:51Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* ADS.ini – Server Locator (Supplemental) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Problem Description==&lt;br /&gt;
When setting up the Commit SQL Database (CSD), the client PCs running the CommitCRM client application cannot connect to the Commit SQL Database, and an error is displayed saying:&lt;br /&gt;
&lt;br /&gt;
 Procedure halted due to data server error.&amp;lt;br&amp;gt;Verify server is operating and this computer has access to the server folder.&amp;lt;br&amp;gt;(C:\Commit\DB)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Error.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This problem occurs when the client PCs try to connect to the Commit SQL Database, which is installed on your server, and it doesn’t “answer” to their connection requests.&lt;br /&gt;
By default, CommitCRM clients send a UDP broadcast message on the network, checking where the Commit SQL Database server is found; if found the server answers with the relevant information for the client to connect to it (IP, Port, etc.). This handshake process may require allowing UDP broadcasts inside you LAN. Usually this does not require any special setup; however, with some advanced network security settings it may be required.&lt;br /&gt;
It is also required that the Commit SQL Database, which runs on your server as a Windows service called Advantage Database Server, will be up and running and be allowed to communicate with your LAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Steps==&lt;br /&gt;
In order to assure the Commit SQL Database can communicate with the CommitCRM clients, we ask that you cover the following steps. &lt;br /&gt;
&lt;br /&gt;
*'''Please remember to test the Commit SQL Database communications again after applying each step, and if the issue persists, then the next step should be applied.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantage Server===&lt;br /&gt;
*Verfiy the Advantage Database Server service is started on your server. For installation instructions click [[Commit_SQL_Database_Installation_Guide|here]] or [[Commit_SQL_Database_for_Trial_Users|here]] if your are using a trial copy of CSD.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DEP – Data Execution Prevention===&lt;br /&gt;
*Please ensure that if using DEP on the server, where Commit SQL Database (aka, Advantage Database Server) is installed, it should be configured to allow data execution for '''ADS.exe''', by default located in the following folder '''C:\Program Files\Extended Systems\Advantage 9007\Server'''. This file is the Commit SQL Database / Advantage Database Server Windows service executable file and therefore should be allowed, or else DEP may isolate the CSD software from communicating with the CommitCRM client applications.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Firewall - Windows or any other installed Firewall===&lt;br /&gt;
*Make sure that your software firewall allows the Advantage port through the firewall (Advantage prot information can be adjusted from '''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Also, make sure that no special UDP restrictions are activated on the CommitCRM server.&lt;br /&gt;
*If advanced firewall restrictions are configured, please verify that an exception has been placed in the firewall, so that the software may communicate with the network, as well as allowing UDP traffic through the firewall.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator===&lt;br /&gt;
*The CommitCRM client's way of finding the Commit SQL Database Server fails. In order for the client to detect where the server is running it broadcasts a UDP message and asks for the server to answer. When the server answers the client knows the server IP and can communicate with it.&lt;br /&gt;
*On your server, you can run the Advantage Configuration Utility ('''Start Menu &amp;gt; Programs &amp;gt; Advantage Database Server 9.0 &amp;gt; Advantage Configuration Utility &amp;gt; Configuration Utility tab &amp;gt; Communications tab'''). Using it you can find the Port number which is used for communicating with the clients. When adjusting the CSD ports, you can use any port you like, as long as the port is not being used by any other software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Communicationstab.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As explained in the previous steps, you should make sure that the Windows firewall on each client on your LAN allows communication with the server for this port. Verifying this will allow communication between the CommitCRM client and Commit SQL Database on the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
However, in some cases this is not enough. As explained above, a discovery process takes place when the client loads, trying to find the server... It is possible that your Windows firewall blocks this discovery process even if the port is allowed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Therefore, in case you enabled the port on each client (using the firewall settings window) and CommitCRM client still doesn't load, you should continue with the following ('''do not continue with this before testing whether allowing the port has solved the issue'''):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the '''&amp;lt;server&amp;gt;\Commit\LastVer''' &amp;lt;!-- '''&amp;lt;server&amp;gt;\Commit\LastVer\WebInterface''' &amp;amp; '''&amp;lt;server&amp;gt;\Commit\LastVer\Server (Probably needs to be created)'''--&amp;gt; folder, create a text file called '''ADS.INI'''&lt;br /&gt;
Open this file in Notepad and add the following settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 '''[MYSERVER] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&amp;lt;br&amp;gt;&lt;br /&gt;
''IMPORTANT NOTES'':&lt;br /&gt;
*Replace '''MYSERVER''' with the name of '''YOUR server'''&lt;br /&gt;
*Replace the '''192.168.0.1''' IP address with the '''LOCAL IP address of your server'''.&lt;br /&gt;
*Replace the port number '''2001 '''to the one used for Commit SQL Database in your setup ('''this can be viewed by running Advantage Configuration Utility on your server, look for the port in use for your LAN''').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After adding the relevant settings, save the file and then try to run CommitCRM client.&lt;br /&gt;
This file tells the CommitCRM client what the server IP is and what port to use and therefore no discovery process is required, avoiding the broadcast stage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please remember that in case you ever change the IP of your server on your LAN, you should make sure to update this file again to reflect the change. This is why we usually recommend on allowing the broadcast rather than using this hard-coded method of communication; however, in some configurations it doesn’t work and using an ADS.ini file is mandatory.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ADS.ini – Server Locator (Supplemental)===&lt;br /&gt;
*If the Ads.ini file does not correct the issue, then we suggest that '''changing the Server hostname reference''' in ADS.ini to the '''server IP address [192.168.x.x]''' will correct this behavior. (Remember to restart Advantage Service each time ADS.ini is adjusted)&lt;br /&gt;
For example: &lt;br /&gt;
 '''[192.168.0.1] &amp;lt;br&amp;gt;LAN_IP=192.168.0.1&amp;lt;br&amp;gt;LAN_PORT=2001 '''&lt;br /&gt;
''IMPORTANT NOTE:''&lt;br /&gt;
*Please replace the ServerName (between the brackets) with '''the servers IP adress''', as displayed in the example above.&lt;br /&gt;
&lt;br /&gt;
*'''Please restart the Advantage service &amp;amp; all Commit services, and retest communications by loading a CommitCRM Client application from another computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Important Note For ODBC Users====&lt;br /&gt;
Some newer Windows systems may still present an error message regarding failure of the Discovery process (Advantage Error 6316) when setting up an ODBC connection, even after the ADS.ini file has resolved the issues with CommitCRM clients being able to discover the Advantage server. The following solution should resolve this issue as long as the following bullets are true:&lt;br /&gt;
*You use the Commit SQL Database (Advantage) and ODBC.&lt;br /&gt;
*The ADS.ini file succeeded in logging in the CommitCRM Software Applications (Clients).&lt;br /&gt;
*You receive a message regarding Database Discovery Failure.&lt;br /&gt;
&lt;br /&gt;
If all of the above prerequisites exist, you should copy the ADS.ini file from the CommitCRM server into the following folder on the affected workstation:&lt;br /&gt;
* '''%Windir%\'''&lt;br /&gt;
* '''%Windir%\system32'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Paste the paths into a Run dialog box, or into any Windows Explorer path.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recurring issues after Rebooting the CommitCRM Server Machine==&lt;br /&gt;
The CommitCRM database chooses its database mode upon the first concurrent connection to the system. If a client application, or Commit Addon Service (Such as '''CommmitWebInterface''' or '''CommitServer''')service is already loaded and connected to the server before the Advantage Database Server service finishes loading, then all subsequent connections will be rejected since the prior connection to the database would not allow the Advantage Database Server service full control over the database.&lt;br /&gt;
&lt;br /&gt;
Typical characteristics of this type of problem are repeated manual attention needed to properly connect Advantage Database Server to CommitCRM after rebooting, and restarting the Advantage Database Server service.&lt;br /&gt;
To verify this is the issue, please follow these steps:&lt;br /&gt;
#Stop any '''Commit Services''' installed in the CommitCRM server.&lt;br /&gt;
#Verify no other computers are running CommitCRM.&lt;br /&gt;
#Restart the '''Advantage Database Server''' Service.&lt;br /&gt;
#Once the '''Advantage Database Server''' service has started, Try Logging in with one client on the '''server machine'''.&lt;br /&gt;
#Check the CommitCRM window title to see if '''SQL''' is printed next to your username.&lt;br /&gt;
#If successful, Start '''Commit Services'''.&lt;br /&gt;
&lt;br /&gt;
If this process was successful, this is because the '''Commit Services loaded before Advantage Database Server did''', locking Advantage Database Server out of the CommitCRM database. To permanently resolve this behavior, manual rules will''' need to be created''' in order to ensure that The Commit Services '''do not try to load without Advantage Database Server being started'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Adding Service Dependency Rules===&lt;br /&gt;
Now that CommitCRM depends on the Advantage Database Server Database service, the Commit Services (CommitWebInterface &amp;amp; CommitServer) also need the Advantage Database Server server to to be up before they try to load.&lt;br /&gt;
To set these services to be dependent on the Advantage Database Server Service, follow these steps:&lt;br /&gt;
# Backup your current registry settings.&lt;br /&gt;
# Run '''regedit''' to open your registry.&lt;br /&gt;
# Navigate to '''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services''' and locate the '''CommitWebInterface/CommitServer''' services that you need to set a dependency for.&lt;br /&gt;
# Open the '''DependOnService''' key on the right side. If the selected service does not have a '''DependOnService''' key, then create one by right-clicking and selecting '''New &amp;gt; Multi-String Value'''.&lt;br /&gt;
# In the '''value''' field, enter '''Advantage Database Server'''. &lt;br /&gt;
# Click OK, close your registry and restart your machine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit_SQL_Database_Installation_Guide|Commit SQL Database Installation Guide]]&lt;br /&gt;
*[[Commit_SQL_Database_for_Trial_Users|Commit SQL Database for Trial Users]]&lt;br /&gt;
[[Category:Troubleshooting]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=SQL_Database_Installation_Guide&amp;diff=3972</id>
		<title>SQL Database Installation Guide</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=SQL_Database_Installation_Guide&amp;diff=3972"/>
		<updated>2010-04-02T21:25:26Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{setup}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
The following document contains instructions for installing the Commit SQL Database add-on. &lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
&lt;br /&gt;
Please follow the instructions bellow to install Commit SQL Database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the installation file on your server using an Administrator user.&lt;br /&gt;
The following window will open:&lt;br /&gt;
&lt;br /&gt;
Click Next.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Use the default installation folder and just click Next.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''your serial number (not the one displayed bellow)''', check 'I have a product validation&lt;br /&gt;
code', and enter '''your validation code'''. You should leave the ‘Replication Code’ field empty.&lt;br /&gt;
&lt;br /&gt;
Click Next.&lt;br /&gt;
&lt;br /&gt;
[[File:7r.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the Registered Owner field, type 'Commit' or your business name.&lt;br /&gt;
And select ‘Automatic Startup’.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:4t.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the registration has completed successfully the following window is displayed:&lt;br /&gt;
If the Advantage Configuration Utility will appear, just exit from it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:9.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Verifying the installation:&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Commit SQL Database runs on the server as a service called 'Advantage Database Server'.&lt;br /&gt;
&lt;br /&gt;
If you have any program control software installed on your server remember to allow this service&lt;br /&gt;
to act as a server.&lt;br /&gt;
&lt;br /&gt;
In order to start / stop the database server simply start and stop the service (called 'Advantage&lt;br /&gt;
Database Server') from the Service Manager window (control panel -&amp;gt; administrative tools -&amp;gt;&lt;br /&gt;
services). Please make sure no one is using Commit when you stop the service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:10.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Done! Commit SQL Database is installed.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit SQL Database for Trial Users|Commit SQL Database Installation for Trial Users]]&lt;br /&gt;
*[[Commit_SQL_Database_Troubleshooting|Commit SQL Troubleshooting]]&lt;br /&gt;
*[[Commit API Developers Guide]]&lt;br /&gt;
[[Category:Setup]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=SQL_Database_for_Trial_Users&amp;diff=3971</id>
		<title>SQL Database for Trial Users</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=SQL_Database_for_Trial_Users&amp;diff=3971"/>
		<updated>2010-04-02T21:24:55Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{setup}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
The following documents explains how to install a trial Commit SQL Database. Using this requires contacting the Commit Support team in order to receive trial licenses for the Commit SQL Database.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
&lt;br /&gt;
Please follow the instructions bellow to install the Commit SQL Database for Trial Users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log in as an Administrator, and run the installation file on your server.&lt;br /&gt;
The following window is displayed:&lt;br /&gt;
&lt;br /&gt;
Click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Use the default installation folder and just click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''your serial number (not the one displayed bellow)''', check 'I have an evaluation Authorization code', and enter '''your authorization code'''. &lt;br /&gt;
&lt;br /&gt;
Click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:3t.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Registered Owner''' field, enter or the name of your business. Select '''Automatic Startup''', and click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:4t.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the registration is complete, the following window is displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:9.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Verifying the installation:====&lt;br /&gt;
The Commit SQL Database runs on the server as a service called the Advantage Database Server.&lt;br /&gt;
&lt;br /&gt;
If you have any program control software installed on your server, remember to allow the Advantage Database Server to act as a server.&lt;br /&gt;
&lt;br /&gt;
In order to start/stop the database server, start and stop the service (named Advantage Database Server) from the Service Manager window (Control Panel &amp;gt; Administrative Tools &amp;gt; Services). Make sure that no one is using Commit when you stop the service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:10.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Congratulations! You have installed the Commit SQL Database.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit SQL Database Installation Guide|Commit SQL Database Installation for Registered Users]]&lt;br /&gt;
*[[Commit_SQL_Database_Troubleshooting|Commit SQL Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=SQL_Database_for_Trial_Users&amp;diff=3970</id>
		<title>SQL Database for Trial Users</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=SQL_Database_for_Trial_Users&amp;diff=3970"/>
		<updated>2010-04-02T21:24:22Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{setup}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
The following documents explains how to install a trial Commit SQL Database. Using this requires contacting the Commit Support team in order to receive trial licenses for the Commit SQL Database.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
&lt;br /&gt;
Please follow the instructions bellow to install the Commit SQL Database for Trial Users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log in as an Administrator, and run the installation file on your server.&lt;br /&gt;
The following window is displayed:&lt;br /&gt;
&lt;br /&gt;
Click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Use the default installation folder and just click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''your serial number (not the one displayed bellow)''', check 'I have an evaluation Authorization code', and enter '''your authorization code'''. &lt;br /&gt;
&lt;br /&gt;
Click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:3t.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Registered Owner''' field, enter or the name of your business. Select '''Automatic Startup''', and click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:4t.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the registration is complete, the following window is displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:9.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Verifying the installation:====&lt;br /&gt;
The Commit SQL Database runs on the server as a service called the Advantage Database Server.&lt;br /&gt;
&lt;br /&gt;
If you have any program control software installed on your server, remember to allow the Advantage Database Server to act as a server.&lt;br /&gt;
&lt;br /&gt;
In order to start/stop the database server, start and stop the service (named Advantage Database Server) from the Service Manager window (Control Panel &amp;gt; Administrative Tools &amp;gt; Services). Make sure that no one is using Commit when you stop the service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:10.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Congratulations! You have installed the Commit SQL Database.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit SQL Database Installation Guide|Commit SQL Database Installation for Registered Users]]&lt;br /&gt;
[[Commit_SQL_Database_Troubleshooting|Commit SQL Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3969</id>
		<title>KB: Database Errors, Indexing Errors</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3969"/>
		<updated>2010-04-01T19:55:22Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description= &lt;br /&gt;
Sometimes the database indexes that govern search results from the database can be corrupted for several reasons, causing inconsistent behavior when searching or loading specifically affected parts of the database. This behavior can be corrected by rebuilding your database indexes so that the data can be reassessed and properly tagged by the index files. This process is considered safe to run in order to correct suspected database indexing errors. It may also be a good practise to run it once every several months in order to make sure that the indexes are in order and up to date. In some cases, reindexes your database may also increase the overall system performance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resolution=&lt;br /&gt;
'''Please run the CommitCRM Backup Utility prior to Rebuilding the Database Indexes'''&lt;br /&gt;
&lt;br /&gt;
To run the rebuild indexes, please follow these instructions: (Make sure you're using CommitCRM 5.0 and above)&lt;br /&gt;
&lt;br /&gt;
:* 1.       Close CommitCRM client on all PCs&lt;br /&gt;
&lt;br /&gt;
:* 2.       Stop CommitWebInterface and CommitServer services (if installed and used). Leave the Advantage Service running if you are using the CSD.&lt;br /&gt;
&lt;br /&gt;
:* 3.       Backup the &amp;lt;server&amp;gt;\Commit\Db and  &amp;lt;server&amp;gt;\Commit\DbSys folders (use a standard zip/archive utility for this (such as Winzip), and/or, also copy the folder to a backup folder.&lt;br /&gt;
&lt;br /&gt;
:* 4.       [http://www.commitcrm.com/downloads/commit-rebuild-indexes-50.exe Click here] to download a Rebuild Indexes program =&amp;gt; '''Save it in folder &amp;lt;server&amp;gt;\Commit\Utils'''&lt;br /&gt;
&lt;br /&gt;
:* 5.       Run the downloaded program and have it rebuild the indexes&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Check to see if the problem has been resolved.&lt;br /&gt;
&lt;br /&gt;
If the issue persists, we will need some more information in order for us to investigate:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
:*          Send us the log files via '''Help &amp;gt; Technical Support'''.&lt;br /&gt;
&lt;br /&gt;
We'll analyze the logs, get you the support needed to fix this issue.&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Database]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3968</id>
		<title>KB: Database Errors, Indexing Errors</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3968"/>
		<updated>2010-04-01T19:52:31Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description= &lt;br /&gt;
Sometimes the database indexes that govern search results from the database can be corrupted for several reasons, causing inconsistent behavior when searching or loading specifically affected parts of the database. This behavior can be corrected by rebuilding your database indexes so that the data can be reassessed and properly tagged by the index files. This process is considered safe to run in order to correct suspected database indexing errors. It may also be a good practise to run it once every several months in order to make sure that the indexes are in order and up to date. In some cases, reindexes your database may also increase the overall system performance. It is important that you backup your system before running reindexing the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resolution=&lt;br /&gt;
'''Please run the CommitCRM Backup Utility prior to Rebuilding the Database Indexes'''&lt;br /&gt;
&lt;br /&gt;
To run the rebuild indexes, please follow these instructions: (Make sure you're using CommitCRM 5.0 and above)&lt;br /&gt;
&lt;br /&gt;
:* 1.       Close CommitCRM client on all PCs&lt;br /&gt;
&lt;br /&gt;
:* 2.       Stop CommitWebInterface and CommitServer services (if installed and used). Leave the Advantage Service running if you are using the CSD.&lt;br /&gt;
&lt;br /&gt;
:* 3.       Backup the &amp;lt;server&amp;gt;\Commit\Db and  &amp;lt;server&amp;gt;\Commit\DbSys folders (use a standard zip/archive utility for this (such as Winzip), and/or, also copy the folder to a backup folder.&lt;br /&gt;
&lt;br /&gt;
:* 4.       [http://www.commitcrm.com/downloads/commit-rebuild-indexes-50.exe Click here] to download a Rebuild Indexes program =&amp;gt; '''Save it in folder &amp;lt;server&amp;gt;\Commit\Utils'''&lt;br /&gt;
&lt;br /&gt;
:* 5.       Run the downloaded program and have it rebuild the indexes&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Check to see if the problem has been resolved.&lt;br /&gt;
&lt;br /&gt;
If the issue persists, we will need some more information in order for us to investigate:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
:*          Send us the log files via '''Help &amp;gt; Technical Support'''.&lt;br /&gt;
&lt;br /&gt;
We'll analyze the logs, get you the support needed to fix this issue.&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Database]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3967</id>
		<title>KB: Database Errors, Indexing Errors</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3967"/>
		<updated>2010-04-01T19:48:09Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description= &lt;br /&gt;
Sometimes the index files that govern search results from the database can be corrupted for several reasons, causing inconsistent inconsistent behavior when searching or loading specifically affected parts of the database. This behavior can be corrected by rebuilding your database indexes so that the data can be reassessed and properly tagged by the index files. This process is considered safe to run in order to correct suspected database indexing errors; however, it is also considered good practice to periodically run this process in order to make sure that the indexes are in order and up to date.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resolution=&lt;br /&gt;
'''Please run the CommitCRM Backup Utility prior to Rebuilding the Database Indexes'''&lt;br /&gt;
&lt;br /&gt;
To run the rebuild indexes, please follow these instructions: (Make sure you're using CommitCRM 5.0 and above)&lt;br /&gt;
&lt;br /&gt;
:* 1.       Close CommitCRM client on all PCs&lt;br /&gt;
&lt;br /&gt;
:* 2.       Stop CommitWebInterface and CommitServer services (if installed and used). Leave the Advantage Service running if you are using the CSD.&lt;br /&gt;
&lt;br /&gt;
:* 3.       Backup the &amp;lt;server&amp;gt;\Commit\Db and  &amp;lt;server&amp;gt;\Commit\DbSys folders (use a standard zip/archive utility for this (such as Winzip), and/or, also copy the folder to a backup folder.&lt;br /&gt;
&lt;br /&gt;
:* 4.       [http://www.commitcrm.com/downloads/commit-rebuild-indexes-50.exe Click here] to download a Rebuild Indexes program =&amp;gt; '''Save it in folder &amp;lt;server&amp;gt;\Commit\Utils'''&lt;br /&gt;
&lt;br /&gt;
:* 5.       Run the downloaded program and have it rebuild the indexes&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Check to see if the problem has been resolved.&lt;br /&gt;
&lt;br /&gt;
If the issue persists, we will need some more information in order for us to investigate:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
:*          Send us the log files via '''Help &amp;gt; Technical Support'''.&lt;br /&gt;
&lt;br /&gt;
We'll analyze the logs, get you the support needed to fix this issue.&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Database]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3966</id>
		<title>KB: Database Errors, Indexing Errors</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3966"/>
		<updated>2010-04-01T19:47:29Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Resolution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description= &lt;br /&gt;
Sometimes the index files that govern search results from the database can be corrupted for several reasons, causing inconsistent results from searching or loading specifically affected parts of the database. This behavior can be corrected by rebuilding your database indexes so that the data can be reassessed and properly tagged by the index files. This process is considered safe to run in order to correct suspected database indexing errors; however, it is also considered good practice to periodically run this process in order to make sure that the indexes are in order and up to date.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resolution=&lt;br /&gt;
'''Please run the CommitCRM Backup Utility prior to Rebuilding the Database Indexes'''&lt;br /&gt;
&lt;br /&gt;
To run the rebuild indexes, please follow these instructions: (Make sure you're using CommitCRM 5.0 and above)&lt;br /&gt;
&lt;br /&gt;
:* 1.       Close CommitCRM client on all PCs&lt;br /&gt;
&lt;br /&gt;
:* 2.       Stop CommitWebInterface and CommitServer services (if installed and used). Leave the Advantage Service running if you are using the CSD.&lt;br /&gt;
&lt;br /&gt;
:* 3.       Backup the &amp;lt;server&amp;gt;\Commit\Db and  &amp;lt;server&amp;gt;\Commit\DbSys folders (use a standard zip/archive utility for this (such as Winzip), and/or, also copy the folder to a backup folder.&lt;br /&gt;
&lt;br /&gt;
:* 4.       [http://www.commitcrm.com/downloads/commit-rebuild-indexes-50.exe Click here] to download a Rebuild Indexes program =&amp;gt; '''Save it in folder &amp;lt;server&amp;gt;\Commit\Utils'''&lt;br /&gt;
&lt;br /&gt;
:* 5.       Run the downloaded program and have it rebuild the indexes&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Check to see if the problem has been resolved.&lt;br /&gt;
&lt;br /&gt;
If the issue persists, we will need some more information in order for us to investigate:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
:*          Send us the log files via '''Help &amp;gt; Technical Support'''.&lt;br /&gt;
&lt;br /&gt;
We'll analyze the logs, get you the support needed to fix this issue.&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Database]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3965</id>
		<title>KB: Database Errors, Indexing Errors</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Database_Errors,_Indexing_Errors&amp;diff=3965"/>
		<updated>2010-04-01T19:46:24Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description= &lt;br /&gt;
Sometimes the index files that govern search results from the database can be corrupted for several reasons, causing inconsistent results from searching or loading specifically affected parts of the database. This behavior can be corrected by rebuilding your database indexes so that the data can be reassessed and properly tagged by the index files. This process is considered safe to run in order to correct suspected database indexing errors; however, it is also considered good practice to periodically run this process in order to make sure that the indexes are in order and up to date.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resolution=&lt;br /&gt;
We fix this issue by '''Rebuilding the Database Indexes'''&lt;br /&gt;
&lt;br /&gt;
To run the rebuild indexes, please follow these instructions: (Make sure you're using CommitCRM 5.0 and above)&lt;br /&gt;
&lt;br /&gt;
:* 1.       Close CommitCRM client on all PCs&lt;br /&gt;
&lt;br /&gt;
:* 2.       Stop CommitWebInterface and CommitServer services (if installed and used). Leave the Advantage Service running if you are using the CSD.&lt;br /&gt;
&lt;br /&gt;
:* 3.       Backup the &amp;lt;server&amp;gt;\Commit\Db and  &amp;lt;server&amp;gt;\Commit\DbSys folders (use a standard zip/archive utility for this (such as Winzip), and/or, also copy the folder to a backup folder.&lt;br /&gt;
&lt;br /&gt;
:* 4.       [http://www.commitcrm.com/downloads/commit-rebuild-indexes-50.exe Click here] to download a Rebuild Indexes program =&amp;gt; '''Save it in folder &amp;lt;server&amp;gt;\Commit\Utils'''&lt;br /&gt;
&lt;br /&gt;
:* 5.       Run the downloaded program and have it rebuild the indexes&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Check to see if the problem has been resolved.&lt;br /&gt;
&lt;br /&gt;
If the issue persists, we will need some more information in order for us to investigate:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
:*          Send us the log files via '''Help &amp;gt; Technical Support'''.&lt;br /&gt;
&lt;br /&gt;
We'll analyze the logs, get you the support needed to fix this issue.&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Database]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3961</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3961"/>
		<updated>2010-03-24T21:19:17Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installation Guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm Upgrading CommitCRM]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3960</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3960"/>
		<updated>2010-03-24T21:12:44Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installation Guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm CommitCRM Upgrading CommitCRM to a Newer Release]  (3 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3959</id>
		<title>Videos</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Videos&amp;diff=3959"/>
		<updated>2010-03-24T20:42:03Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Installation Guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For better playback, allow the videos to download before playing.&lt;br /&gt;
====Getting Started====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_crm_getting_started_tutorial_video.htm Getting Started Tutorial] - '''Recommended!''' (15 min.)&lt;br /&gt;
&lt;br /&gt;
====Installation Guides====&lt;br /&gt;
*[http://www.commitcrm.com/videos/web_interface_installation_video.htm Web Interface Installation] (6 min.)  	&lt;br /&gt;
*[http://www.commitcrm.com/videos/email_connector_setup_video.htm Email Connector Installation] (12 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_alert_server_setup_video.htm Alerts Server Installation] (8 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commitcrm_upgrades_video.htm CommitCRM Upgrades Demonstration Video]  (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Contracts &amp;amp; Billing====&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_introduction_video.htm Contracts Introduction] (4 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_global_tutorial_video.htm Global Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_time_tutorial_video.htm Block Of Time Contracts] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_money_tutorial_video.htm Block Of Money Contracts] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_block_of_tickets_tutorial_video.htm Block Of Tickets Contracts] (5 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_management_tutorial_video.htm Contract Status and Billing] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_contract_price_charges_video.htm Contract-Price Charges] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_contracts_batch_copy_wizard_video.htm Renewing Recurring Contracts] (4 min.)&lt;br /&gt;
&lt;br /&gt;
====Additional Tutorials====&lt;br /&gt;
*[http://www.commitcrm.com/videos/employee_web_interface_tutorial_video.htm Web Interface For Employees] (6 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_activity_templates_video.htm   Managing Activity Templates] (7 min.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm Report Designer Tutorial] (7 min.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Other Videos=====&lt;br /&gt;
&lt;br /&gt;
'''Manage Accounts:''' Your IT service business Customers, Contacts and Leads&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_account.htm See how to add a new Account in Commit™] (33 sec.)&lt;br /&gt;
  	 &lt;br /&gt;
'''Manage IT Service Contracts:''' Block of Time, Block of Money, Block of Tickets, Date Range etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_contract.htm See how to create a new Contract for an Account] (1 min, 16 sec.)&lt;br /&gt;
	 &lt;br /&gt;
'''Manage Tickets''' and increase control over all the open issues, incidents and problems.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_ticket.htm See how to create a new Ticket in Commit™] (45 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add Charges to an open Ticket in Commit™] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Productivity by Dispatching''' the right technician to the right call and by measuring the technician's productivity.&lt;br /&gt;
&lt;br /&gt;
[[Category:Getting Started]]&lt;br /&gt;
*[http://www.commitcrm.com/videos/dispatching_ticket.htm See how to dispatch an open service ticket to a technician] (44 sec.)&lt;br /&gt;
&lt;br /&gt;
'''Organize Your Price List''' for products and services.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_labor_item.htm See how to create a new item in Commit™] (41 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Increase Revenues by Easily Entering Charges''' for labor services, expenses, products and parts.&lt;br /&gt;
*[http://www.commitcrm.com/videos/new_part_charge.htm See how to create a new Charge in Commit™] (25 sec.)&lt;br /&gt;
*[http://www.commitcrm.com/videos/charging_ticket.htm See how to add charges to a service Ticket] (42 sec.)&lt;br /&gt;
  	  	 &lt;br /&gt;
'''Eliminate paperwork! Easily Manage All Documents''' including MS-Word®, MS-Excel®, presentations, emails, scanned documents etc.&lt;br /&gt;
*[http://www.commitcrm.com/videos/importing%20_documents.htm See how to import existing documents folders and link them to your accounts] (45 sec.)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3958</id>
		<title>API Reference Manual</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3958"/>
		<updated>2010-03-19T14:34:53Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Document Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanualsapidevelopersguide}}&lt;br /&gt;
==Intorduction==&lt;br /&gt;
&lt;br /&gt;
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API. &lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*[[#Account Fields|Accounts]]&lt;br /&gt;
*[[#Ticket Fields|Tickets]]&lt;br /&gt;
*[[#Charge Fields|Charges (and Contract-price Charges)]]&lt;br /&gt;
*[[#Item Fields|Items]]&lt;br /&gt;
*[[#History Note Fields|History Notes]]&lt;br /&gt;
*[[#Asset Fields|Assets]]&lt;br /&gt;
*[[#Calendar Fields|Calender]]&lt;br /&gt;
*[[#Opportunity Fields|Opportunities]]&lt;br /&gt;
*[[#Document Fields|Documents]]&lt;br /&gt;
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API functions may return error codes. You can find the possible error codes in:&lt;br /&gt;
*[[#Error Codes Description|Error Codes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments. &lt;br /&gt;
&lt;br /&gt;
Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this:   &lt;br /&gt;
&amp;lt;FLDSLPQUANTITY&amp;gt;10&amp;lt;/FLDSLPQUANTITY&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following table shows the data kind code when using XML or when using the API functions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Application entity'''&lt;br /&gt;
! '''Table name'''&lt;br /&gt;
! '''Programming Code'''&lt;br /&gt;
! '''XML Data Kind Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
| 10&lt;br /&gt;
| ACCOUNT &lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
| 20&lt;br /&gt;
| OPPORTUNITY &lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
| 30&lt;br /&gt;
| DOCUMENT &lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
| 40&lt;br /&gt;
| CHARGE&lt;br /&gt;
|-&lt;br /&gt;
| Appointments/Tasks &lt;br /&gt;
| Events &lt;br /&gt;
| 50&lt;br /&gt;
| APPOINTMENT-OR-TASK&lt;br /&gt;
|-&lt;br /&gt;
| History Notes &lt;br /&gt;
| Notebook &lt;br /&gt;
| 60&lt;br /&gt;
| HISTORY-NOTE&lt;br /&gt;
|-&lt;br /&gt;
| Tickets &lt;br /&gt;
| Tickets &lt;br /&gt;
| 70&lt;br /&gt;
| TICKET &lt;br /&gt;
|-&lt;br /&gt;
| Items &lt;br /&gt;
| Items &lt;br /&gt;
| 80&lt;br /&gt;
| ITEM &lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
| 90&lt;br /&gt;
| ASSET &lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
| 100&lt;br /&gt;
| KBARTICLE &lt;br /&gt;
|}&lt;br /&gt;
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
===Account Fields===&lt;br /&gt;
The following table lists the most important parameters for adding/updating Account&lt;br /&gt;
records.&lt;br /&gt;
Note slight differences when adding a main account vs. adding a secondary contact.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDCRDRECID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database.&lt;br /&gt;
#From the Email Response when adding new Account with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Manager&lt;br /&gt;
| FLDCRDASSIGNCARDID&lt;br /&gt;
| This field has two roles:&lt;br /&gt;
#When adding a main Account:&amp;lt;br&amp;gt;The account manager should contain the ID of the Employee who is the account manager.&lt;br /&gt;
#When adding a secondary contact:&amp;lt;br&amp;gt;&lt;br /&gt;
This field should contain the ID of the main Account to which the secondary contacted is&lt;br /&gt;
added.&lt;br /&gt;
|-&lt;br /&gt;
|Company name&lt;br /&gt;
|FLDCRDCOMPANY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contact: First &amp;amp; Last Name&lt;br /&gt;
|FLDCRDCONTACT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Assistant&lt;br /&gt;
| FLDCRDASSISTANT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contract&lt;br /&gt;
|FLDCRDBCRECID&lt;br /&gt;
|The default Contract for this Account (not required)&lt;br /&gt;
|-&lt;br /&gt;
|Account Number&lt;br /&gt;
|FLDCRDCARDID2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ID&lt;br /&gt;
|FLDCRDCARDID3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message&lt;br /&gt;
|FLDCRDCARDMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line1&lt;br /&gt;
| FLDCRDADDRESS1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line2&lt;br /&gt;
| FLDCRDADDRESS2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line3&lt;br /&gt;
| FLDCRDADDRESS3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: City&lt;br /&gt;
|FLDCRDCITY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: State&lt;br /&gt;
|FLDCRDCOUNTRY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Country&lt;br /&gt;
|FLDCRDSTATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Zip&lt;br /&gt;
|FLDCRDZIP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Creation Date&lt;br /&gt;
|FLDCRDCREATEDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDCRDCREATEUSERID&lt;br /&gt;
|Foreign Software Name which created the account&lt;br /&gt;
|-&lt;br /&gt;
|Dear&lt;br /&gt;
|FLDCRDDEAR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Department&lt;br /&gt;
|FLDCRDDEPARTMENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Documents Store Directory&lt;br /&gt;
|FLDCRDDOCSFOLDER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 1&lt;br /&gt;
|FLDCRDEMAIL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 2&lt;br /&gt;
|FLDCRDEMAIL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Account Type&lt;br /&gt;
|FLDCRDENTITYKIND&lt;br /&gt;
|When adding a Main Account = 1&amp;lt;br&amp;gt;When adding a secondary contact = 5&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number &lt;br /&gt;
|FLDCRDFAX1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number Extension&lt;br /&gt;
|FLDCRDFAXDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|File as &lt;br /&gt;
|FLDCRDFULLNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Type &lt;br /&gt;
|FLDCRDKIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Name &lt;br /&gt;
|FLDCRDLASTNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field &lt;br /&gt;
|FLDCRDPERSONID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 Ext. &lt;br /&gt;
|FLDCRDPHNDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 Ext. &lt;br /&gt;
|FLDCRDPHNDESC2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 Ext. &lt;br /&gt;
|FLDCRDPHNDESC3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 Ext. &lt;br /&gt;
|FLDCRDPHNDESC4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 &lt;br /&gt;
|FLDCRDPHONE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 &lt;br /&gt;
|FLDCRDPHONE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 &lt;br /&gt;
|FLDCRDPHONE3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 &lt;br /&gt;
|FLDCRDPHONE4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Region&lt;br /&gt;
|FLDCRDREGIONCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message: Display Indication&lt;br /&gt;
|FLDCRDSHOWMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sub-Contact Code&lt;br /&gt;
|FLDCRDSUBCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Salutation&lt;br /&gt;
|FLDCRDSUFFIX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax1&lt;br /&gt;
|FLDCRDTAXCODE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax2&lt;br /&gt;
|FLDCRDTAXCODE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|FLDCRDTITLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Updated by&lt;br /&gt;
|FLDCRDUPDATEUSERID&lt;br /&gt;
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 1&lt;br /&gt;
|FLDCRDURL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 2&lt;br /&gt;
|FLDCRDURL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDCRDUSER1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDCRDUSER2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDCRDUSER3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDCRDUSER4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field4&lt;br /&gt;
|FLDCRDUSER5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Ticket Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Ticket parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDTKTCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a cnew Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDTKTCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDTKTBCRECID&lt;br /&gt;
|The Contract ID. If not supplied, will be taken from the Account's default contract.&lt;br /&gt;
|-&lt;br /&gt;
| Emp. REC ID&lt;br /&gt;
| FLDTKTWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Priority&lt;br /&gt;
| FLDTKTPRIORITY&lt;br /&gt;
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.&lt;br /&gt;
Immediate = 10&amp;lt;br&amp;gt;High = 20&amp;lt;br&amp;gt;Normal = 30&amp;lt;br&amp;gt;Low = 40&amp;lt;br&amp;gt;Not Applicable= 50&lt;br /&gt;
|-&lt;br /&gt;
| Ticket Number&lt;br /&gt;
| FLDTKTTICKETNO &lt;br /&gt;
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDTKTPROBLEM&lt;br /&gt;
|This is the Ticket Description. This is a mandatory field, which must contain text.&lt;br /&gt;
|-&lt;br /&gt;
|Ticket Type&lt;br /&gt;
|FLDTKTKIND&lt;br /&gt;
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.&lt;br /&gt;
|-&lt;br /&gt;
|Source&lt;br /&gt;
|FLDTKTSOURCE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Estimated Duration Time&lt;br /&gt;
|FLDTKTSCHEDLENESTIM&lt;br /&gt;
|Estimated duration time for the Ticket in minutes.&lt;br /&gt;
|-&lt;br /&gt;
|Show Ticket in Dispatcher&lt;br /&gt;
|FLDTKTFORDISPATCH&lt;br /&gt;
|Possible values: Yes/No&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDTKTSTATUS&lt;br /&gt;
|The Ticket Status (optional).&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
New = 100&amp;lt;br&amp;gt;&lt;br /&gt;
Pending = 200&amp;lt;br&amp;gt;&lt;br /&gt;
Scheduled = 300&amp;lt;br&amp;gt;&lt;br /&gt;
In-House Service = 400&amp;lt;br&amp;gt;&lt;br /&gt;
On-Site Service = 500&amp;lt;br&amp;gt;&lt;br /&gt;
Laboratory Service = 600&amp;lt;br&amp;gt;&lt;br /&gt;
Hold = 700&amp;lt;br&amp;gt;&lt;br /&gt;
Other = 800&amp;lt;br&amp;gt;&lt;br /&gt;
Canceled = 900&amp;lt;br&amp;gt;&lt;br /&gt;
Completed = 1000&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDTKTCREATEUSER&lt;br /&gt;
|Should contain the external software name which created the Ticket&lt;br /&gt;
|-&lt;br /&gt;
|Due Date&lt;br /&gt;
|FLDTKTDUEDATETIME&lt;br /&gt;
|Due date for the Ticket. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Resolution&lt;br /&gt;
|FLDTKTSOLUTION&lt;br /&gt;
|Ticket resolution text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Charge Fields===&lt;br /&gt;
The table below lists the most important Charge parameters and behavior.&lt;br /&gt;
&lt;br /&gt;
Contract-price Charges have some special characteristics (see comments marked by * in&lt;br /&gt;
the table below):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be&lt;br /&gt;
added as a new Charge.&lt;br /&gt;
|-&lt;br /&gt;
| Charge Source&lt;br /&gt;
| FLDSLPSOURCERECID&lt;br /&gt;
|The Charge source is the entity for which the charge is created.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&lt;br /&gt;
*Linked Contract RecID (for Contract-price Charges). Cannot be the &amp;quot;System Global Contract&amp;quot;.&lt;br /&gt;
**Passing the Contract RecID indicates that this is a Contract-price charge.&lt;br /&gt;
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDSLPCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDSLPWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Charged Item&lt;br /&gt;
| FLDSLPITEMID&lt;br /&gt;
| The Item Record ID to be linked to the Charge. This is a mandatory field.&lt;br /&gt;
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDSLPBCRECID&lt;br /&gt;
| The contract record ID (must be a Contract of the Account)&lt;br /&gt;
|-&lt;br /&gt;
|Ticket REC ID&lt;br /&gt;
|FLDSLPTICKETID&lt;br /&gt;
|The Ticket ID to be linked to the Charge.&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDSLPSLIPDATE&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDSLPDESC&lt;br /&gt;
|The Charge Description. If not provided, will be taken from the Item's description.&lt;br /&gt;
|-&lt;br /&gt;
|Units/Hours&lt;br /&gt;
|FLDSLPQUANTITY&lt;br /&gt;
|This is the quantity of hours/units&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Amount&lt;br /&gt;
|FLDSLPADJUSTAMOUNT&lt;br /&gt;
|Discount/Markup amount. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Percent&lt;br /&gt;
|FLDSLPADJUSTPERCENT&lt;br /&gt;
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|From Time&lt;br /&gt;
|FLDSLPSTARTTIME&lt;br /&gt;
|From time for labor Charges e.g. 12:06&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|To Time&lt;br /&gt;
|FLDSLPENDTIME&lt;br /&gt;
|From time for labor Charges e.g. 14:50&lt;br /&gt;
* Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Price/Rate&lt;br /&gt;
|FLDSLPPRICE&lt;br /&gt;
|If not provided, the price is taken from the Item.&lt;br /&gt;
|-&lt;br /&gt;
| Billable&lt;br /&gt;
| FLDSLPBILLKIND&lt;br /&gt;
| B - Billable&amp;lt;br&amp;gt;&lt;br /&gt;
N - Not Billable&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, will be set according to the Contract type.&lt;br /&gt;
|-&lt;br /&gt;
| Billed&lt;br /&gt;
| FLDSLPSTAGE&lt;br /&gt;
| D - Draft&lt;br /&gt;
B - Billed&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDSLPUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Create User&lt;br /&gt;
| FLDSLPCREATEUSER&lt;br /&gt;
| External software name which created the Charge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Item parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDITMRECID&lt;br /&gt;
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.&lt;br /&gt;
|-&lt;br /&gt;
| Item Group&lt;br /&gt;
| FLDITMITEMTYPEGROUP&lt;br /&gt;
|The Item Group to be linked to the Charge. This is a mandatory field:&amp;lt;br&amp;gt;&lt;br /&gt;
F - Labor (Fee)&amp;lt;br&amp;gt;&lt;br /&gt;
X - Expense&amp;lt;br&amp;gt;&lt;br /&gt;
P - Part&lt;br /&gt;
|-&lt;br /&gt;
| Item Code&lt;br /&gt;
| FLDITMITEMNO&lt;br /&gt;
|The item code is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Item Name&lt;br /&gt;
| FLDITMNAME&lt;br /&gt;
| The item name is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Price Source&lt;br /&gt;
| FLDITMPRICESOURCE&lt;br /&gt;
| F - Fixed Price&amp;lt;br&amp;gt;&lt;br /&gt;
W - by Employee Rate&lt;br /&gt;
|-&lt;br /&gt;
| Price per Hour/Unit&lt;br /&gt;
| FLDITMUNITISHOUR&lt;br /&gt;
| This field indicated whether the price is unitbased or hours-based.&amp;lt;br&amp;gt;&lt;br /&gt;
Y - by Hours&amp;lt;br&amp;gt;&lt;br /&gt;
N - by Units&amp;lt;br&amp;gt;&lt;br /&gt;
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours&lt;br /&gt;
|-&lt;br /&gt;
|Price&lt;br /&gt;
|FLDITMUNITPRICE&lt;br /&gt;
|Must be a valid numeric value&lt;br /&gt;
|-&lt;br /&gt;
|Cost&lt;br /&gt;
|FLDITMSTANDARDCOST&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Taxes&lt;br /&gt;
|FLDITMTAXCODE1&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE2&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE3&lt;br /&gt;
|You can pass up to 3 different tax codes.&lt;br /&gt;
|-&lt;br /&gt;
|Description by Name&lt;br /&gt;
|FLDITMDESCBYNAME&lt;br /&gt;
|Y - take the description from the name field&amp;lt;br&amp;gt;&lt;br /&gt;
N - take the description from the Description field&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDITMDESC&lt;br /&gt;
|If not provided, the description is taken from the name.&lt;br /&gt;
|-&lt;br /&gt;
|Suspend&lt;br /&gt;
|FLDITMSUSPENDED&lt;br /&gt;
|Indicated whether this item is currently suspended:&amp;lt;br&amp;gt;&lt;br /&gt;
Y - yes&amp;lt;br&amp;gt;&lt;br /&gt;
N - no&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDITMNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDITMUSER1&lt;br /&gt;
|User defined field&lt;br /&gt;
|-&lt;br /&gt;
|Create User&lt;br /&gt;
|FLDITMCREATEUSER&lt;br /&gt;
|External software name which created the Charge&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDTKTCREATEUSER&lt;br /&gt;
| Should contain the external software name which created the Ticket&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===History Note Fields===&lt;br /&gt;
The table below lists the most important History Note parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDHISRECID&lt;br /&gt;
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
| FLDHISNOTEDATETIME&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDHISDESCRIPTION&lt;br /&gt;
| The Description text&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket/Contract&lt;br /&gt;
| FLDHISLINKRECID&lt;br /&gt;
| Link to Opportunity or Ticket or Contract&lt;br /&gt;
|-&lt;br /&gt;
| Field&lt;br /&gt;
| FLDHISUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| About&lt;br /&gt;
| FLDHISKIND&lt;br /&gt;
| Optional field&lt;br /&gt;
|-&lt;br /&gt;
|Employee&lt;br /&gt;
|FLDHISWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDHISCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database&lt;br /&gt;
#From the Email Response when adding new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDHISCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDHISDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDHISCREATEUSER&lt;br /&gt;
|Name of the external software which created this History Note&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Asset Fields===&lt;br /&gt;
The table below lists the most important Asset parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Asset Code&lt;br /&gt;
| FLDASTASSETCODE&lt;br /&gt;
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.&lt;br /&gt;
|-&lt;br /&gt;
| Asset Type&lt;br /&gt;
| FLDASTASSETTYPE&lt;br /&gt;
|The Type field is mandatory:&amp;lt;br&amp;gt;&lt;br /&gt;
Hardware = H&amp;lt;br&amp;gt;&lt;br /&gt;
Software = S&amp;lt;br&amp;gt;&lt;br /&gt;
Other = T&lt;br /&gt;
|-&lt;br /&gt;
| Asset Name&lt;br /&gt;
| FLDASTNAME&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDASTSTATUS&lt;br /&gt;
| Mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Active = A&amp;lt;br&amp;gt;&lt;br /&gt;
Not Active = N&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default Active is used.&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDASTRECID&lt;br /&gt;
| If provided, must exist in the database. Ignored if empty&lt;br /&gt;
|-&lt;br /&gt;
| Serial No.&lt;br /&gt;
| FLDASTSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDASTACCRECID&lt;br /&gt;
|The Account which is linked to the Asset&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDASTCONTACTRECID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Created by user&lt;br /&gt;
|FLDASTCREATEUSER&lt;br /&gt;
|Name of external software which created this Asset&lt;br /&gt;
|-&lt;br /&gt;
|Purchase Date&lt;br /&gt;
|FLDASTCUSTPURDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Purchased From Us&lt;br /&gt;
|FLDASTCUSTPURFROMUS&lt;br /&gt;
|Possible values: Y/N.&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default value Y is used.&lt;br /&gt;
|-&lt;br /&gt;
| Purchase Invoice #&lt;br /&gt;
| FLDASTCUSTPUROURINV&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Customer PO&lt;br /&gt;
| FLDASTCUSTPURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Purchase Price&lt;br /&gt;
| FLDASTCUSTPURPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Delivered Date&lt;br /&gt;
| FLDASTDELIVEDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDASTDESC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed By&lt;br /&gt;
| FLDASTINSTALBY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed Date&lt;br /&gt;
| FLDASTINSTALDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Codes&lt;br /&gt;
| FLDASTLICENSECODE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Keys&lt;br /&gt;
| FLDASTLICENSEKEY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Notes&lt;br /&gt;
| FLDASTLICENSENOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Location&lt;br /&gt;
| FLDASTLOCATION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Manufacturer&lt;br /&gt;
| FLDASTMANUFACTURER&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mnf Serial No.&lt;br /&gt;
| FLDASTMNFSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Model&lt;br /&gt;
| FLDASTMODEL&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Notes&lt;br /&gt;
| FLDASTNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Quantity&lt;br /&gt;
| FLDASTQUANTITY&lt;br /&gt;
| If not provided, default value of 1 is used.&lt;br /&gt;
|-&lt;br /&gt;
| Last Update By&lt;br /&gt;
| FLDASTUPDATEUSER&lt;br /&gt;
| Name of externals software which performed the update&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDASTUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDASTUSER2&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDASTUSER3&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDASTUSER4&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDASTUSER5&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Date1&lt;br /&gt;
| FLDASTUSERDATE1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Number1&lt;br /&gt;
| FLDASTUSERNUMBER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Vendor Purchased Date&lt;br /&gt;
| FLDASTVENDORDATEPURC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Invoice #&lt;br /&gt;
| FLDASTVENDORINVNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor PO&lt;br /&gt;
| FLDASTVENDOROURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Price&lt;br /&gt;
| FLDASTVENDORPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor&lt;br /&gt;
| FLDASTVENDORRECID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Serial No.&lt;br /&gt;
| FLDASTVENDORSERNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Warranty Exp. Date&lt;br /&gt;
| FLDASTVENDORWARREXP&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Version&lt;br /&gt;
| FLDASTVERSION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Warranty/License Exp.&lt;br /&gt;
| FLDASTWARREXPDATE&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Calendar Fields===&lt;br /&gt;
The table below lists the most important Calendar parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDEVTRECID&lt;br /&gt;
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this&lt;br /&gt;
will be added as a new Appointment/Task.&lt;br /&gt;
|-&lt;br /&gt;
| Event Type&lt;br /&gt;
| FLDEVTWRITETOID&lt;br /&gt;
|The Event type is a mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Appointment = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Task = 2&lt;br /&gt;
|-&lt;br /&gt;
| Employee&lt;br /&gt;
| FLDEVTWORKERID&lt;br /&gt;
| The Task/Appointment owner (for private events)&lt;br /&gt;
|-&lt;br /&gt;
| Private: User&lt;br /&gt;
| FLDEVTPRIVATEID&lt;br /&gt;
| Possible values: Y/N&amp;lt;br&amp;gt;&lt;br /&gt;
If an Employee was set, this field must be Y&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDEVTCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking&lt;br /&gt;
the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a&lt;br /&gt;
new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDEVTEVENTDATE&lt;br /&gt;
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not&lt;br /&gt;
provided, the current date will be used. &lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDEVTFREETEXT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Time: Start&lt;br /&gt;
|FLDEVTFROMTIME&lt;br /&gt;
|Mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Time: End&lt;br /&gt;
| FLDEVTTOTIME&lt;br /&gt;
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket&lt;br /&gt;
| FLDEVTLINKRECID&lt;br /&gt;
| Linked Ticket/Opportunity/Contract/Asset&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDEVTPLACE1&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDEVTPLACE2&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the&lt;br /&gt;
event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Opportunity Fields===&lt;br /&gt;
The table below lists the most important Opportunity parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDOPPRECID&lt;br /&gt;
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Name&lt;br /&gt;
| FLDOPPNAME&lt;br /&gt;
| Mandatory field.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity ID&lt;br /&gt;
| FLDOPPUSERID &lt;br /&gt;
| Optional (Oppty ID)&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDOPPCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| FLDOPPSOURCE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Close Date&lt;br /&gt;
|FLDOPPCLOSEDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Manager&lt;br /&gt;
|FLDOPPWORKERID&lt;br /&gt;
|The Manager's REC ID&lt;br /&gt;
|-&lt;br /&gt;
|Open Date&lt;br /&gt;
|FLDOPPOPENDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Close By Date&lt;br /&gt;
| FLDOPPESTDATE&lt;br /&gt;
| Opportunity must be closed by this date&lt;br /&gt;
|-&lt;br /&gt;
| Amount&lt;br /&gt;
| FLDOPPAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Probability %&lt;br /&gt;
| FLDOPPPROBABILITY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Stage&lt;br /&gt;
| FLDOPPSTAGE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDOPPSTATUS&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Closing Amount&lt;br /&gt;
| FLDOPPCLOSEAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDOPPDESCRIPTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Type&lt;br /&gt;
| FLDOPPKIND&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Reason&lt;br /&gt;
| FLDOPPREASON&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Note &lt;br /&gt;
|  FLDOPPNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Territory&lt;br /&gt;
|  FLDOPPREGION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|  FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|  FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|  FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Created by User&lt;br /&gt;
|  FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
|  Last Update: By User&lt;br /&gt;
|  FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Document Fields===&lt;br /&gt;
The table below lists the Document parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDDOCRECID&lt;br /&gt;
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDDOCDOCDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Subject&lt;br /&gt;
| FLDDOCDOCUMENTDESC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Linked Record&lt;br /&gt;
| FLDDOCLINKRECID&lt;br /&gt;
| The RECID of a linked object. Each Document can be linked to one of the following objects:&lt;br /&gt;
*Ticket&lt;br /&gt;
*Contract&lt;br /&gt;
*Opportunity&lt;br /&gt;
*Knowledge Base Article&lt;br /&gt;
*Asset&lt;br /&gt;
The Record ID (20 chars) can be taken from:&lt;br /&gt;
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new object with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Rec ID&lt;br /&gt;
| FLDDOCCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDDOCCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDDOCTRANSPORT&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDDOCFOLDER&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDDOCUMENTPLACE&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|File Path + File name&lt;br /&gt;
|FLDDOCDOCUMENTNAME&lt;br /&gt;
|The Document path&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDDOCTREEID&lt;br /&gt;
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDDOCWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Document. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDDOCCREATEUSER&lt;br /&gt;
| Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDDOCUPDATEUSER&lt;br /&gt;
| Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Knowledge Base Article Fields===&lt;br /&gt;
The table below lists the Knowledge Base Article parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDKBARECID&lt;br /&gt;
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDKBACREATEDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Title&lt;br /&gt;
| FLDKBATITLE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Problem&lt;br /&gt;
| FLDKBAPROBLEM&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Solution&lt;br /&gt;
| FLDKBASOLUTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDKBASTATUS&lt;br /&gt;
| Possible values:&lt;br /&gt;
*DRAFT = 'D'&lt;br /&gt;
*PUBLISHED = 'P'&lt;br /&gt;
*OBSOLETE = 'O'&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDKBACATEGORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Public&lt;br /&gt;
|FLDKBAISPUBLIC&lt;br /&gt;
|Is the Document public.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
*'Y' = Yes&lt;br /&gt;
*'N' = No&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDDOCCREATEUSER&lt;br /&gt;
|Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
|Last Update: By User&lt;br /&gt;
|FLDDOCUPDATEUSER&lt;br /&gt;
|Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error Codes Description===&lt;br /&gt;
&amp;lt;u&amp;gt;These error codes are returned when calling the CmtGetDescriptionByStatus function:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''1000''' CmtDbEng.dll not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1001''' Invalid value for the Data Kind value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1002''' Invalid DATA buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly&lt;br /&gt;
and that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and&lt;br /&gt;
that you've passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1007''' Invalid external software name received. Specify a unique name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once&lt;br /&gt;
prior to sending transactions for processing.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1009''' Path specified for Commit DB folder not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB&lt;br /&gt;
folder.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is&lt;br /&gt;
related to an inactive employee record.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1012''' Error registering software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1013''' Software name is missing. Make sure you specify a name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name&lt;br /&gt;
that has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1100''' Database access error.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;General error codes, returned when calling the functions CmtGetDescriptionByCode:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''50000''' The data is not correct for its type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50001''' The field value has been truncated due to the field length in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50002''' The insert operation Failed because the REC ID already existed in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50003''' Failed to update Record since it is being updated by another user.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50103''' Illegal REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50104''' REC ID Creation failed.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50105''' Illegal Sub-Contact REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50106''' Illegal Contract REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50107''' Illegal Employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50108''' Illegal Ticket REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50109''' Illegal Account REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50110''' Illegal data for that Contract.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50111''' This Employee is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50112''' Illegal Document REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50113''' Illegal linked object REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50114''' Employee not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50115''' Some mandatory fields have no values.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51000''' Illegal kind of Account entity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51001''' Account Manager not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51002''' The REC ID of the Account Manager is illegal.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51003''' Illegal tax code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51004''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52000''' Illegal kind of event.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52001''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52002''' Illegal end time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52003''' Illegal event date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52004''' The field Reminder1 has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52005''' The amount in the field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52006''' The Field Remider1:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52007''' The Field Remider2:Active has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52008''' The Field Remider2:Amount has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52009''' The Field Remider2:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52010''' Illegal employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52011''' Error occurred while updating the Task/Appointment employee field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54000''' Illegal Ticket open date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54001''' Illegal Ticket close date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54002''' Illegal Ticket code area.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54004''' Illegal Ticket priority.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54005''' Illegal Ticket status.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54006''' The Ticket Account was not found in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54007''' The Ticket Account Manager was not ound in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54008''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54009''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54010''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54011''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54012''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55000''' Illegal charge date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55001''' Illegal charge REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55002''' Illegal start date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55003''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55004''' Illegal amount entered for hours.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55005''' Illegal quantity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55006''' Illegal price.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55007''' Illegal total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55008''' Illegal value in the Adjust Amount field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55009''' Illegal value in the Adjust Percent.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55010''' The Discount/Markup field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55011''' Illegal value in the Adjust Kind field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55012''' Illegal bill total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55013''' You can not create a charge for a suspended item.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55014''' Item was not found in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55015''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55016''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55017''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55018''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55019''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55020''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55021''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56000''' Illegal item code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56001''' The field that indicates the item group type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56002''' The field that indicates if the Item is suspended has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56003''' Illegal value of The field that indicate if the item is suspended.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56004''' Mismatch found between the fields price and price source.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56005''' Illegal cost.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56006''' Mismatch found between the fields cost and item group type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56007''' The field that indicates if the charge is by unit or by hours has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56008''' Illegal value in the Description.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56009''' The field that indicates the item type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''57000''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58000''' Illegal date time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58001''' The Description field was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58002''' The field kind was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58003''' The Account member was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59000''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59001''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59002''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59003''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59004''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59005''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60000''' Invalid web user record ID number.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60001''' This customer web user is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60002''' This user is not a customer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit API Developers Guide]]&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=File:Htmlform.jpg&amp;diff=3957</id>
		<title>File:Htmlform.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=File:Htmlform.jpg&amp;diff=3957"/>
		<updated>2010-03-15T22:06:30Z</updated>

		<summary type="html">&lt;p&gt;Reno: uploaded a new version of &amp;quot;File:Htmlform.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Using_PHP_To_Automatically_Generate_and_Email_XML_Transactions_to_Email_Connector&amp;diff=3956</id>
		<title>KB: Using PHP To Automatically Generate and Email XML Transactions to Email Connector</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Using_PHP_To_Automatically_Generate_and_Email_XML_Transactions_to_Email_Connector&amp;diff=3956"/>
		<updated>2010-03-15T22:05:31Z</updated>

		<summary type="html">&lt;p&gt;Reno: Created page with '==Introduction== The information on this page will show you the basic steps you need to follow to implement web forms on your Web site that will trigger insert and update events …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
The information on this page will show you the basic steps you need to follow to implement web forms on your Web site that will trigger insert and update events in your CommitCRM database. For example, you can automatically convert contact forms filled by visitor to your Web site into new Account in CommitCRM.&lt;br /&gt;
This helps automating your work flow and saves the time it takes to manually add the account records. &lt;br /&gt;
&lt;br /&gt;
The examples described below correspond to the XML samples described in the [[KB:_Automatically_Creating_New_Accounts_for_Web_Site_Visitors|Automatically Creating New Accounts for Web Site Visitors]] article, effectively completing the automation of the creation of new CommitCRM accounts, this should be considered as &amp;quot;The next step…&amp;quot;. If you haven't read the first part, we recommend that you do this prior to continuing to read this article. &lt;br /&gt;
&lt;br /&gt;
Note: This article is using PHP as the scripting language to send the XML API transaction to CommitCRM. It shouldn't be too hard to implement this with other scripting languages such as ASP.&lt;br /&gt;
&lt;br /&gt;
The methods described on this article have some special requirements that must be satisfied prior to applying the information from this article. Here are the requirements:&lt;br /&gt;
*Web Server (Apache, Microsoft® IIS, etc.).&lt;br /&gt;
*PHP Support (we only tested the following with PHP5, though an earlier version may work as well).&lt;br /&gt;
*Email Access (Used by the web server to email the XML email transactions to CommitCRM).&lt;br /&gt;
*Commit Email Connector License.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==HTML Forms==&lt;br /&gt;
By using an HTML Web Form, you can allow your customers to enter the basic contact information into the web form where that information can then be automatically converted to CommitCRM XML formatting (used as an a CommitCRM API transaction, explained below), and emailed automatically to the system to be applied to the CommitCRM database as a new customer account. The way this part works is that the customer enters the information into a basic HTML form, and that form submits the information to a PHP script that processes the information.&lt;br /&gt;
&lt;br /&gt;
In this sample, we're going to gather four different pieces of basic customer contact information that can be used to identify the customer until complete information is gathered from the customer. If you have some experience editing HTML, XML and PHP, then you can edit the samples in this page to your own preferences, and gather any information you require from your customers with the Web form. The information we're going to gather is as follows:&lt;br /&gt;
*Name&lt;br /&gt;
*Company Name&lt;br /&gt;
*Email Address&lt;br /&gt;
*Phone Number&lt;br /&gt;
[[File:Htmlform.jpg|400 px|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Disclaimer===&lt;br /&gt;
This document contains programming examples.&lt;br /&gt;
Commit Business Solutions Ltd (&amp;quot;Commit&amp;quot;) grants you a nonexclusive copyright license to use all programming code examples from which you can generate similar function tailored to your own specific needs. All sample code is provided by Commit for illustrative purposes only. These examples have not been thoroughly tested under all conditions. Commit, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. All programs and code samples contained herein are provided to you &amp;quot;AS IS&amp;quot; without any warranties of any kind. The implied warranties of non-infringement, merchantability and fitness for a particular purpose are expressly disclaimed.&lt;br /&gt;
&lt;br /&gt;
Here's a sample HTML code that will request and submit the information from the customer to a PHP script called XML_Processor.php, located in the same folder as this HTML script.&lt;br /&gt;
You can open a text file, copy that sample code, save it (like test-form.html ), upload to your Web server and navigate your browser to this file.&lt;br /&gt;
===HTML Sample===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;font face=Arial size=2&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ===========================DISCLAIMER==============================&lt;br /&gt;
This script is meant for basic CommitCRM database manipulation. The &lt;br /&gt;
samples included here can be adjusted to include different data in the &lt;br /&gt;
transaction; more information on using XML can be found in this link: &lt;br /&gt;
http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
We suggest adding mechanisms to the web form to ensure that the user &lt;br /&gt;
cannot submit the formwithout first passing a Human Verification test &lt;br /&gt;
on the same page. Tests like this are available on the internet, and &lt;br /&gt;
very helpful in preventing spammers from teaching their spam systems &lt;br /&gt;
how to fill your database with ficticious accounts.&lt;br /&gt;
====================================================================== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Edit the following line to reflect your PHP script to submit the &lt;br /&gt;
information to --&amp;gt;&lt;br /&gt;
&amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;XML_Processor.php&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ====================================================================&lt;br /&gt;
The rest of this information represents the information and field&lt;br /&gt;
Geometry that is applied on the Web Form. Editing the below section &lt;br /&gt;
is optional, and only recommended for users with HTML experience; however, &lt;br /&gt;
this is a great way to gather extra information from your users. &lt;br /&gt;
====================================================================== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table bgcolor=#ffffcc align=center&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=2&amp;gt;&amp;lt;strong&amp;gt;Contact us using this form:&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=red&amp;gt;*&amp;lt;/font&amp;gt; Name:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input size=25 name=&amp;quot;cntct&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=red&amp;gt;*&amp;lt;/font&amp;gt; Email:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input size=25 name=&amp;quot;email&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=red&amp;gt;*&amp;lt;/font&amp;gt; Company:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input size=25 name=&amp;quot;cmpny&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;font color=red&amp;gt;*&amp;lt;/font&amp;gt; Phone:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input size=25 name=&amp;quot;phone&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=2 align=center&amp;gt;&amp;lt;input type=submit name=&amp;quot;send&amp;quot; value=&amp;quot;Submit&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=2 align=center&amp;gt;&amp;lt;small&amp;gt;A &amp;lt;font color=red&amp;gt;*&amp;lt;/font&amp;gt; indicates a field is required&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;/table&amp;gt; &lt;br /&gt;
&amp;lt;/form&amp;gt; &lt;br /&gt;
&amp;lt;/body&amp;gt; &lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==PHP XML Processor Script==&lt;br /&gt;
Using PHP you can have the web server do all the work needed to take the information submitted by the web form to the PHP script, and automatically create an XML transaction based on that information and email it to the Commit Email Connector, to be applied directly to the CommitCRM database. &lt;br /&gt;
&lt;br /&gt;
The PHP script below has been designed to receive the information entered in the sample web form discussed above, and insert the information into the corresponding part of the XML template. Before using the script, please read the script notes, and adjust the first section to reflect the information needed to send the email message and Insert the API password you configured to be used with Commit API By Email ([[API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29|click here for more info on API settings]]).&lt;br /&gt;
&lt;br /&gt;
Please review this script, and adjust it freely to your own preferences so that it can facilitate the transfer of the information you need it to transfer to CommitCRM; however, editing this script would require experience in PHP scripting.&lt;br /&gt;
&lt;br /&gt;
'''Please Note: This script requires PHP5 to be installed on the Web Server.'''&lt;br /&gt;
&lt;br /&gt;
Copy the Below Script to an empty text file called '''XML_Processor.php''' and save it in the same folder as the HTML form.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//=========================== Notes =================================&lt;br /&gt;
//This script is meant for basic CommitCRM database manipulation. The &lt;br /&gt;
//samples included here can be adjusted to include different data in the &lt;br /&gt;
//transaction; more information on using XML can be found in this link: &lt;br /&gt;
//http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
//We suggest adding mechanisms to the web form to ensure that the user &lt;br /&gt;
//cannot submit the form without first passing a Human Verification test &lt;br /&gt;
//on the same page. Samples for tests like this are available on the &lt;br /&gt;
//Internet, and very helpful in preventing spammers from teaching their &lt;br /&gt;
//spam systems how to fill your database with fictitious accounts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//======================================================================&lt;br /&gt;
//======================================================================&lt;br /&gt;
//======PLEASE EDIT THIS SECTION TO REFLECT YOUR EMAIL CONNECTOR========&lt;br /&gt;
//======================================================================&lt;br /&gt;
//======================================================================&lt;br /&gt;
//Email Envelope - Edit these values to reflect your CommitCRM Mailbox.&lt;br /&gt;
$email_to = 'EmailConnector@YourBusiness.com';&lt;br /&gt;
//This line represents the Email Subject to be used on each transaction=&lt;br /&gt;
$subject = 'Web Form To CommitCRM Account Email';&lt;br /&gt;
//This line should reflect the email address that sends the webform=====&lt;br /&gt;
$header = 'From: Webform@YourBusiness.com';&lt;br /&gt;
//This line tells the script the API Password for your Email Connector==&lt;br /&gt;
$apipasswd = 'your_API_passwd';&lt;br /&gt;
//XML Transaction Responses get sent to this email address==============&lt;br /&gt;
$readdress = 'Email_Address_To_Send_Responses_to';&lt;br /&gt;
&lt;br /&gt;
//======================================================================&lt;br /&gt;
//======================================================================&lt;br /&gt;
//=======Constant variables - Do not edit below this comment!===========&lt;br /&gt;
//======================================================================&lt;br /&gt;
//======================================================================&lt;br /&gt;
$company = $_POST['company'];&lt;br /&gt;
$contact = $_POST['contact'];&lt;br /&gt;
$phone = $_POST['phone'];&lt;br /&gt;
$eaddress = $_POST['email'];&lt;br /&gt;
&lt;br /&gt;
//======================================================================&lt;br /&gt;
//This section verifies that all data has been entered; if the data has&lt;br /&gt;
//been entered, then the script will notify your customer to hit the &lt;br /&gt;
//back button.&lt;br /&gt;
if ($company &amp;amp;&amp;amp; $contact &amp;amp;&amp;amp; $phone &amp;amp;&amp;amp; $eaddress) { &lt;br /&gt;
echo &amp;quot;Thank you for submitting your form. You may submit email service requests to our Support Center at:&amp;quot;;&lt;br /&gt;
echo $email_to; &lt;br /&gt;
} else { &lt;br /&gt;
exit(&amp;quot;You have not filled out all the required fields. Place hit your back button and fill out all the required fields.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$xml = '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;WebsiteSignup&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;' . $readdress . '&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;' . $apipasswd . '&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;WebForm - New Account&amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
   &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDCOMPANY&amp;gt;' . $company . '&amp;lt;/FLDCRDCOMPANY&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDCONTACT&amp;gt;' . $contact . '&amp;lt;/FLDCRDCONTACT&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDPHONE1&amp;gt;' . $phone . '&amp;lt;/FLDCRDPHONE1&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDEMAIL1&amp;gt;' . $eaddress . '&amp;lt;/FLDCRDEMAIL1&amp;gt;&lt;br /&gt;
   &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
mail($email_to, $subject, $xml, $header);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==The Next Step==&lt;br /&gt;
Once your customer has successfully created his/her own account, they can send email messages to your support email address (i.e. the [[Email_Connector#Incoming_Email_Settings|Public Email Address]]), which is processed automatically by the Commit Email Connector. Commit Email Connector will automatically convert the email message into a service ticket for the newly created account. Please note that [[Email_Connector#Email_to_Ticket_Setting|Email2Ticket]] will only work if the ticket is sent from the email account that the customer specified in the Web Form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
If you've followed this tutorial, then you've successfully facilitated a basic system which allows your new customers to create their own accounts using:&lt;br /&gt;
*An HTML Form which gathers basic account info.&lt;br /&gt;
*A PHP form which processes the info and emails to CommitCRM.&lt;br /&gt;
*The Commit Email Connector which receives and applies the new information.&lt;br /&gt;
&lt;br /&gt;
Associating your customer with CommitCRM opens the door to offering automated service tickets ([[Email Connector|Commit Email Connector]]) and personal account monitoring abilities to your customers ([[Web_Interface|Commit Web Interface for Customers]]). &lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[[KB:_Automatically_Creating_New_Accounts_for_Web_Site_Visitors|Automatically Creating New Accounts for Web Site Visitors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[API_Code_Samples#XML_samples|API Code Samples]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Email_Templates|Email Templates]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[KB:_Emailing_your_customers_using_Mail_Merge|Emailing your customers using Mail Merge]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Web_Interface|Commit Web Interface]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Email Connector|Commit Email Connector]]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.php.net/manual/en/index.php PHP5 Manual]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://devzone.zend.com/article/2387 XML and PHP5 Tutorial]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:KB|PHP]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=File:Htmlform.jpg&amp;diff=3955</id>
		<title>File:Htmlform.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=File:Htmlform.jpg&amp;diff=3955"/>
		<updated>2010-03-15T21:55:49Z</updated>

		<summary type="html">&lt;p&gt;Reno: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Automatically_Creating_New_Accounts_for_Web_Site_Visitors&amp;diff=3954</id>
		<title>KB: Automatically Creating New Accounts for Web Site Visitors</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Automatically_Creating_New_Accounts_for_Web_Site_Visitors&amp;diff=3954"/>
		<updated>2010-03-11T19:51:56Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Many businesses have a Web form on their Web site that is designed to capture the contact details of potential customers. The Commit Email Connector can help automating this process by automatically processing emails sent by your Web forms and creating new CommitCRM Accounts for them.&lt;br /&gt;
&lt;br /&gt;
How does this work? Using the Commit Email Connector’s Advanced XML processing features, the system can receive emails containing XML transactions from a web form, and perform the actions requested in the transaction, on the CommitCRM database. Once an account is created in the system, customers can submit their own tickets using the Commit Email Connector’s [[Email_Connector#Email_to_Ticket_Settings|Email to ticket feature]].  The Email to Ticket feature helps by taking emails sent to your Public Email Address using the same email address they filled in the Web form. Commit Email Connector will identify them by their email and will open a new ticket for their account. You can learn more about this by reading more about the Email to Ticket feature [[Email_Connector#Email_to_Ticket_Settings|here]].&lt;br /&gt;
&lt;br /&gt;
Web forms which are designed in standard (PHP, Perl, CGI, Etc.) web form formats allow you to gather different details from the person browsing pages, and turn them into script variables which can be automatically placed in the XML template in their correct place, and email the outputted XML transaction in plain text format to the Commit Email Connector, to be processed and then added as a new customer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Configuring the Commit Email Connector for XML Transactions==&lt;br /&gt;
Instructions for configuring the basic settings for the Commit Email Connector’s API by Email can be found [[API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29|in this link]]. &lt;br /&gt;
Once you’ve configured the API by Email feature, restart the CommitServer service in order for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==New Account XML Transaction Sample==&lt;br /&gt;
===Editing the XML===&lt;br /&gt;
The sample below creates a new account using the data passed to the system in the RecordData section of the XML, with the following details in the account:&lt;br /&gt;
#Account Name.&lt;br /&gt;
#Contact Name.&lt;br /&gt;
#Phone Number.&lt;br /&gt;
#Email Address.&lt;br /&gt;
&lt;br /&gt;
More information can be added to the XML by adding more data to the RecordData section of the XML. The XML tags for each CommitCRM Accounts field can be found [[API_Reference_Manual#Account_Fields |in this link]].&lt;br /&gt;
&lt;br /&gt;
The changes to the XMLneed to be made on the following lines:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Line 5'''&lt;br /&gt;
| Change youremail@yourdomain.com to the address you want the automated responses sent to.&lt;br /&gt;
|-&lt;br /&gt;
| '''Line 6'''&lt;br /&gt;
| Change the-predefined-api-password to the API password configured in ServerConfig.exe.&amp;lt;br&amp;gt;'''Please Note''' that the XML password feature is optional, and we only recommend using it to avoid unwanted XML transactions from affecting your Database.&lt;br /&gt;
|-&lt;br /&gt;
| '''Lines 9-14'''&lt;br /&gt;
| The web form variables should replace the text within the {} containers&lt;br /&gt;
|}	&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===XML Sample===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;WebsiteSignup&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;youremail@yourdomain.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;the-predefined-api-password&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;data from external application (will be returned as-is in the response) &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
 &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDCOMPANY&amp;gt;{Web-Form-Account-Name-Here}&amp;lt;/FLDCRDCOMPANY&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDCONTACT&amp;gt;{Web-Form-Contacts-First-&amp;amp;-Last-Name-Here}&amp;lt;/FLDCRDCONTACT&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDPHONE1&amp;gt;{Web-Form-Phone-Number-Here}&amp;lt;/FLDCRDPHONE1&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDEMAIL1&amp;gt;{Web-Form-Email-Address-Here}&amp;lt;/FLDCRDEMAIL1&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Before troubleshooting the Commit Email Connector, we suggest verifying that an email hass been sent from your web form. You can also first test your form by sending the XML emails to your private email account, review it and then forward it to the connector, once all is good, you can update the script to send directly to the Commit Email Connector.&lt;br /&gt;
&lt;br /&gt;
If your XML does not create a new account, please use this following test XML to verify that the Commit Email Connector is receiving emails and processing XML transactions.&lt;br /&gt;
&lt;br /&gt;
To test the Commit Email Connector, please follow these steps:&lt;br /&gt;
#Set the API password in ServerConfig.exe to “qwerty”, and restart the CommitServer Service.&lt;br /&gt;
#Copy the following Troubleshooting XML to a blank Plain Text email message.&lt;br /&gt;
#Replace Your@emailhere.com (in the XML) with your own email address for the log to be sent there. &lt;br /&gt;
&lt;br /&gt;
If the XML creates an account called &amp;quot;XML Test&amp;quot;, then this means that the problem is in your XML. To troubleshoot XML syntax errors, please enable XML responses in ServerConfig.exe, and set your XML to respond to an email address you have access to (Line 5 of the XML).&lt;br /&gt;
&lt;br /&gt;
If the account has not been created, a log should be sent to the email address you placed in line 5 of the XML. The log file should say the exact reason the account was not created for you to correct in the XML. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Troubleshooting XML===&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;WebsiteSignup&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;Your@emailhere.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;qwerty&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;data from external application (will be returned as-is in the response) &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&amp;lt;br&amp;gt;    &amp;lt;FLDCRDCOMPANY&amp;gt;XML Test&amp;lt;/FLDCRDCOMPANY&amp;gt;&amp;lt;br&amp;gt;    &amp;lt;FLDCRDCONTACT&amp;gt;Abe Lincoln&amp;lt;/FLDCRDCONTACT&amp;gt;&amp;lt;br&amp;gt;    &amp;lt;FLDCRDPHONE1&amp;gt;+13235556767&amp;lt;/FLDCRDPHONE1&amp;gt;&amp;lt;br&amp;gt;    &amp;lt;FLDCRDEMAIL1&amp;gt;Abe@PresidentsClub.com&amp;lt;/FLDCRDEMAIL1&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
[[Email_Connector|Commit Email Connector User Manual]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Email_Connector_FAQ|Commit Email Connector FAQ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:KB|Accounts]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3953</id>
		<title>KB: Managing Group Email Subscriptions</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3953"/>
		<updated>2010-03-09T18:59:00Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Unsubscribing Your Customers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Sometimes we like to send group emails out to customers regarding promotions, season’s greetings, new services, and new products. Since not all customers are interested in receiving such messages, business go to great lengths to keep records of which customers want to receive which types of email messages.&lt;br /&gt;
&lt;br /&gt;
This article describes how you can use CommitCRM to create your own data tab that manages your email groups; whether a customer is subscribed to that group, and sending out the email to those groups.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Preparing the Database Architecture for Additional Data==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Creating a Tab for Email Groups===&lt;br /&gt;
Before we can begin with the customizations, it is best to run a CommitCRM backup process, to make sure that you have a restore point to before you’ve customized the system. Only after the system has been backed up, create the fields that will contain the data about our email groups, we need to [[Field_Customization#Adding_New_Data_Tabs_to_the_Display|create a new tab]] that will house the data fields, while still keeping them separate from the rest of your CommitCRM data. &lt;br /&gt;
*We’ll need to create the new tab within the Accounts screen, and call the tab we’re creating Email Groups.&lt;br /&gt;
Once we have created the Email Groups tab, we can move on to the next step: Creating Data Fields for Our Email Groups.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups01.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Creating Data Fields for Our Email Groups===&lt;br /&gt;
Once we have a tab that can house the user-defined fields we intend to create in this section, we can go ahead and [[Field_Customization#Creating_New_Data_Fields_to_the_Display|create new data fields]] which need to hold only 2 values each; True and False will be fine, so we’re going to choose to create Yes or No fields (Checkbox Fields). &lt;br /&gt;
&lt;br /&gt;
During the creation of the first field, you’ll need to create a subject group for the tab you’re creating. Field Subject groups allow you to easily group the fields you create so that you can filter your lists by this subject later, in order to be able to select from a dedicated list of these fields. We’ll get in to that later in this article.&lt;br /&gt;
&lt;br /&gt;
#Go into Field Management. (Accounts Menu &amp;gt; Tools &amp;gt; Tab Management)&lt;br /&gt;
#Select ‘Add New Fields’ to Tab.&lt;br /&gt;
#Create a new Subject Group called ‘Email Groups’, select it and click Next.&lt;br /&gt;
#Give your group a name and select ‘Yes or No’ in the Field Type.&lt;br /&gt;
#Place your new field where you want to see it in the tab.&lt;br /&gt;
#Repeat the creation process for each field you want to create (each field you create represents a group and whether the account is included in this group or not).&lt;br /&gt;
##Add the fields you’re creating to the Email Groups Subject that you already made.&lt;br /&gt;
#Close the Field Management window in order to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups02.jpg|center]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:email groups03.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscribing Your Accounts to Email Groups==&lt;br /&gt;
At this point, you’ve already created an Email Groups tab with checkboxes representing each email group you’re managing. The next step is to subscribe your accounts to relevant by marking fields that they want to be subscribed to. This needs to be done separately for each account; however, you can have this field updated while [[Import_Accounts|importing new accounts]] from external files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Filtering Your List By These Fields==&lt;br /&gt;
Before you can send out the group emails, you need to filter the accounts list according to the group you want to email to, so that the system knows which accounts you want to send the group email message to. Filtering the list is a rather simple task to perform since we’ve added all the fields to the same Field Subject Category (i.e. ‘Email Groups’). Once you’ve filtered your account list to only include the accounts in a specific email group, you can go on to sending the email message.&lt;br /&gt;
&lt;br /&gt;
To filter your list by one of the Email Groups you’re managing, please follow these steps.&lt;br /&gt;
&lt;br /&gt;
#Activate the Advanced Filter option (Mark the Filter checkbox in the blue filter bar in the accounts screen), and open the Filter window.&lt;br /&gt;
#Switch to the By Subject Tab.&lt;br /&gt;
#Select the Email Groups Subject from the Subject drop down list.&lt;br /&gt;
#Select the Group you’d like to filter the list by in the first filter rule line.&lt;br /&gt;
#Mark the checkbox in right side of the rule to indicate that you want to filter based on the True value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:email groups04.jpg|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sending the Group Emails to your customers==&lt;br /&gt;
Once your accounts list has been filtered to only reflect the accounts that are part of a specific Email Group, you can continue to the next step by preparing the email you intend to send out. Using CommitCRM, you have 2 very powerful options that can send your group email out to your customers. Each method has its benefits, so the best way to choose the correct method is to know what kind of data will need to have merged from the CommitCRM database (if any) into the message. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Group Mail Method&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Internal CommitCRM Group Mail&lt;br /&gt;
| This method allows you to create a static email message that can be emailed to the accounts list you’ve filtered, or all your accounts if the list is not filtered. The static message would not include any referenced database information; however, this method is the most quick and convenient way to send out group emails to your customers. This method includes optional fields for the Subject field and Attachments and requires Microsoft® Outlook® to be installed and configured. &lt;br /&gt;
For more information see [[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]].&lt;br /&gt;
|-&lt;br /&gt;
|CommitCRM-MSWord Mail Merge &lt;br /&gt;
| This method allows you to create a static email template in MS Word, and to have that text populated with CommitCRM referenced account data. This data can be exported from anywhere in the CommitCRM database, and can be easily added to your template so that the message sent to each customer would include the data from the account that the email address came out of. This method is useful if your group email only needs database orientated information embedded in the message.&lt;br /&gt;
For more information see [[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Unsubscribing Your Customers==&lt;br /&gt;
Sometimes customers no longer require some or all of your email newsletters, and need to be removed from the mailing list in the easiest manner; adding a note in the email telling your customer to reply to the email requesting the removal of the subscription by just typing the word '''Unsubscribe'''.&lt;br /&gt;
&lt;br /&gt;
This way you can set up an MS Outlook rule that automatically files the email in a special MS Outlook folder to be processed by an employee manually in CommitCRM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Automatic Links To Remove A Subscription===&lt;br /&gt;
You can offer your customers the option to automatically remove an email group subscription by clicking a link within the email message HTML email. In order for this to work; you would need a Web Server that supports a server side scripting option such as PHP (used in the samples listed below) and the Commit Email Connector.&lt;br /&gt;
&lt;br /&gt;
Preparation for this type of function would involve setting up an XML template that receives the information from the link and automatically emails the xml template to the Commit Email Connector, using a PHP script that we will also create with you. Once the Commit Email Connector receives the XML message; the system will immediately apply the transaction in the XML to the CommitCRM database. In this case; the transaction would be rather simple: &lt;br /&gt;
* '''Step 1''': Validate Transaction Authentication, using API Password.&lt;br /&gt;
* '''Step 2''': Identify Customer using Customer RECID&lt;br /&gt;
* '''Step 3''': Identify Email group to cancel subscription for&lt;br /&gt;
* '''Step 4''': Update value to &amp;quot;False&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Please note''': this is an advanced option for users with experience with web servers and PHP (or similar) scripting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Preparation====&lt;br /&gt;
The way this is going to work is that the customer clicks a link automatically generated specially for that customer when you send an HTML Email Template. This is done by placing the CommitCRM Account Value (i.e. unique technical identifier) within the link that you're sending (Explained below). Within the link is the URL to the PHP script (explained below), with the Account RECID.&lt;br /&gt;
&lt;br /&gt;
The PHP script needs to take that parameter, and inserts it into a predefined XML template to be emailed to Commit Email Connector; which in turn applies the XML transaction on the CommitCRM database (this is all part of CommitCRM API by Email). Each XML script can only be used on 1 specific email group; so if you use multiple groups, you'll need to create a PHP script and a matching XML for each group. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====XML Script====&lt;br /&gt;
The sample below changes the value of an email group subscription to &amp;quot;'''False'''&amp;quot;; effectively cancelling the subscription, using only the RECID (Unique Account Identifier) and the email group name.            &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;youremail@yourdomain.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;the-predefined-api-password&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Removing an Email Subscription &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
 &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDRECID&amp;gt;{Insert_RECID_HERE}&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
   &amp;lt;***********&amp;gt;False&amp;lt;/***********&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes to the XML text below need to be made each time the transaction is sent to CommitCRM in order for the database to receive the information in the correct syntax; however, before getting to that, the XML template needs to be created as follows, in order to be hosted on the site and used by a PHP script as an XML processor. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Line Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''5'''&lt;br /&gt;
| Replace youremail@yourdomain.com with the email address you want the XML response to. After a successful, or failure, processing of the XML formatted email, Commit Email Connector will send a status update (again in XML textual format) to the specified email address. This can be used for auditing purposes.&lt;br /&gt;
|-&lt;br /&gt;
| '''6'''&lt;br /&gt;
| Replace the-predefined-api-password with your own API password.&lt;br /&gt;
Learn more about it [[API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29|here]]. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PHP Script====&lt;br /&gt;
Using PHP; you'll be able to retrieve the URL parameters, and insert them into the above mentioned XML script automatically; without user interaction. We have included a sample PHP script that can automatically insert the information from the URL directly into the XML template, to be automatically emailed to the CommitCRM Server. &lt;br /&gt;
&lt;br /&gt;
The following script can be used to cancel any email group subscription; since the URL parameters will have all the account and email group identification information required in order to complete the transaction. This means that you can use the following script in order to cancel any email group subscription for your customers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please Note:''' This script has been tested using PHP5; and may require the same version installed on the web server in order to work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//This script is meant for basic CommitCRM database manipulation. The samples included &lt;br /&gt;
//here can be adjusted to include different data in the transaction; more information on &lt;br /&gt;
//using XML can be found in this link: http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//================================================================================================&lt;br /&gt;
//INSTRUCTIONS: The following variables need to be adjusted in order to make the PHP script know&lt;br /&gt;
//how to communicate with Commit Email Connector. The following information will tell the script where&lt;br /&gt;
//to send the XML; and how to identify the source address; Please adjust the variables to your own &lt;br /&gt;
//preference.&lt;br /&gt;
&lt;br /&gt;
//Edit this variable to reflect the address you want the AI response sent to.&lt;br /&gt;
$responsemail = ''response@emailaddress.com';&lt;br /&gt;
//Edit this variable to reflect the API Password configured in ServerConfig.exe&lt;br /&gt;
$apipasswd = 'your_API_Passwd';&lt;br /&gt;
//Edit this variable to reflect the XML Email Destination:&lt;br /&gt;
$email_to = ''EmailConnector@yourbusiness.com';&lt;br /&gt;
//Edit this variable to reflect the XML Email Subject:&lt;br /&gt;
$subject = 'Remove Email Subscription';&lt;br /&gt;
//Edit this variable to reflect the XML source email address (Web Form ReplyTo)(Leave &amp;quot;From: &amp;quot; intact):&lt;br /&gt;
$replyto = 'From: Webform@emailaddress.com';&lt;br /&gt;
//================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Constant variables - These variables will serve to identify the CommitCRM Account and Email Group&lt;br /&gt;
//to cancel. Do not edit below this comment!&lt;br /&gt;
$recoid = $_GET['recid'];&lt;br /&gt;
$emailgroup = $_GET['group'];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//XML Template - Do not alter!&lt;br /&gt;
$xml = '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;' . $responsemail . '&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;' . $apipasswd . '&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Email Group Cancellation&amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
   &amp;lt;RecordData&amp;gt;&lt;br /&gt;
    &amp;lt;FLDCRDRECID&amp;gt;' . $recoid . '&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
    &amp;lt;' . $emailgroup . '&amp;gt;False&amp;lt;/' . $emailgroup . '&amp;gt;&lt;br /&gt;
   &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
//This command will email the XML.&lt;br /&gt;
mail($email_to, $subject, $xml, $header);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//This command will give an on screen confirmation to the user.&lt;br /&gt;
echo 'Your request has been sent for processing. Thank You.';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Creating Your Link With CommitCRM Templates====&lt;br /&gt;
When you create your newsletter you can use the email template you send from within CommitCRM or MS Word® Mail Merge to create a unique links for each customer that already include the account RECID parameter and the group identifier; so that your customers can easily click the link to trigger the XML to be applied with that accounts RECID.&lt;br /&gt;
&lt;br /&gt;
The 2 variables in the link need to be gathered as follows:&lt;br /&gt;
* Group - Right click the email group checkbox field that represents the group you want the link to cancel, and select Field Settings &amp;gt; Advanced &amp;gt; Tech. Rec ID. This value will need to be manually updated in the link&lt;br /&gt;
* Recid - Each customer has a Record Identifier that needs to be passed in order for the system to recognize the account that's canceling the subscription. This RECID is available for each account from the Accounts &amp;gt; Notes &amp;gt; Right Click the Record ID button.&lt;br /&gt;
&lt;br /&gt;
When inserting your link into the template; make sure to use the following syntax:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.YourWebServer.com/script.php?group={email_group_Tech_Rec_ID}&amp;amp;recid={Account_Rec_ID}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example: '''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=CRDCO94HUDF8JE06KGTG&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use [[Email_Templates|Email Templates]] or MS Word® Mail Merge to generate your news letters; then you can have the Account Record Identifier automatically added into each link sent to each customer within the newsletter; here's an example of how to set this in an email template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=&amp;lt;CMTLBLDATA_FLDCRDRECID&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Field_Customization#Adding_New_Data_Tabs_to_the_Display|Create a new tab]]&lt;br /&gt;
*[[Field_Customization#Creating_New_Data_Fields_to_the_Display|Create new data fields]]&lt;br /&gt;
*[[Import_Accounts|Importing new accounts]]&lt;br /&gt;
*[[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]]&lt;br /&gt;
*[[API_Code_Samples#XML_samples|API Code Samples]]&lt;br /&gt;
*[[Email_Templates|Email Templates]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Emailing your customers using Mail Merge]]&lt;br /&gt;
*[http://www.php.net/manual/en/index.php PHP5 Manual]&lt;br /&gt;
*[http://devzone.zend.com/article/2387 XML and PHP5 Tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Email]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3952</id>
		<title>KB: Managing Group Email Subscriptions</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3952"/>
		<updated>2010-03-09T18:57:34Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* XML Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Sometimes we like to send group emails out to customers regarding promotions, season’s greetings, new services, and new products. Since not all customers are interested in receiving such messages, business go to great lengths to keep records of which customers want to receive which types of email messages.&lt;br /&gt;
&lt;br /&gt;
This article describes how you can use CommitCRM to create your own data tab that manages your email groups; whether a customer is subscribed to that group, and sending out the email to those groups.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Preparing the Database Architecture for Additional Data==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Creating a Tab for Email Groups===&lt;br /&gt;
Before we can begin with the customizations, it is best to run a CommitCRM backup process, to make sure that you have a restore point to before you’ve customized the system. Only after the system has been backed up, create the fields that will contain the data about our email groups, we need to [[Field_Customization#Adding_New_Data_Tabs_to_the_Display|create a new tab]] that will house the data fields, while still keeping them separate from the rest of your CommitCRM data. &lt;br /&gt;
*We’ll need to create the new tab within the Accounts screen, and call the tab we’re creating Email Groups.&lt;br /&gt;
Once we have created the Email Groups tab, we can move on to the next step: Creating Data Fields for Our Email Groups.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups01.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Creating Data Fields for Our Email Groups===&lt;br /&gt;
Once we have a tab that can house the user-defined fields we intend to create in this section, we can go ahead and [[Field_Customization#Creating_New_Data_Fields_to_the_Display|create new data fields]] which need to hold only 2 values each; True and False will be fine, so we’re going to choose to create Yes or No fields (Checkbox Fields). &lt;br /&gt;
&lt;br /&gt;
During the creation of the first field, you’ll need to create a subject group for the tab you’re creating. Field Subject groups allow you to easily group the fields you create so that you can filter your lists by this subject later, in order to be able to select from a dedicated list of these fields. We’ll get in to that later in this article.&lt;br /&gt;
&lt;br /&gt;
#Go into Field Management. (Accounts Menu &amp;gt; Tools &amp;gt; Tab Management)&lt;br /&gt;
#Select ‘Add New Fields’ to Tab.&lt;br /&gt;
#Create a new Subject Group called ‘Email Groups’, select it and click Next.&lt;br /&gt;
#Give your group a name and select ‘Yes or No’ in the Field Type.&lt;br /&gt;
#Place your new field where you want to see it in the tab.&lt;br /&gt;
#Repeat the creation process for each field you want to create (each field you create represents a group and whether the account is included in this group or not).&lt;br /&gt;
##Add the fields you’re creating to the Email Groups Subject that you already made.&lt;br /&gt;
#Close the Field Management window in order to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups02.jpg|center]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:email groups03.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscribing Your Accounts to Email Groups==&lt;br /&gt;
At this point, you’ve already created an Email Groups tab with checkboxes representing each email group you’re managing. The next step is to subscribe your accounts to relevant by marking fields that they want to be subscribed to. This needs to be done separately for each account; however, you can have this field updated while [[Import_Accounts|importing new accounts]] from external files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Filtering Your List By These Fields==&lt;br /&gt;
Before you can send out the group emails, you need to filter the accounts list according to the group you want to email to, so that the system knows which accounts you want to send the group email message to. Filtering the list is a rather simple task to perform since we’ve added all the fields to the same Field Subject Category (i.e. ‘Email Groups’). Once you’ve filtered your account list to only include the accounts in a specific email group, you can go on to sending the email message.&lt;br /&gt;
&lt;br /&gt;
To filter your list by one of the Email Groups you’re managing, please follow these steps.&lt;br /&gt;
&lt;br /&gt;
#Activate the Advanced Filter option (Mark the Filter checkbox in the blue filter bar in the accounts screen), and open the Filter window.&lt;br /&gt;
#Switch to the By Subject Tab.&lt;br /&gt;
#Select the Email Groups Subject from the Subject drop down list.&lt;br /&gt;
#Select the Group you’d like to filter the list by in the first filter rule line.&lt;br /&gt;
#Mark the checkbox in right side of the rule to indicate that you want to filter based on the True value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:email groups04.jpg|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sending the Group Emails to your customers==&lt;br /&gt;
Once your accounts list has been filtered to only reflect the accounts that are part of a specific Email Group, you can continue to the next step by preparing the email you intend to send out. Using CommitCRM, you have 2 very powerful options that can send your group email out to your customers. Each method has its benefits, so the best way to choose the correct method is to know what kind of data will need to have merged from the CommitCRM database (if any) into the message. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Group Mail Method&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Internal CommitCRM Group Mail&lt;br /&gt;
| This method allows you to create a static email message that can be emailed to the accounts list you’ve filtered, or all your accounts if the list is not filtered. The static message would not include any referenced database information; however, this method is the most quick and convenient way to send out group emails to your customers. This method includes optional fields for the Subject field and Attachments and requires Microsoft® Outlook® to be installed and configured. &lt;br /&gt;
For more information see [[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]].&lt;br /&gt;
|-&lt;br /&gt;
|CommitCRM-MSWord Mail Merge &lt;br /&gt;
| This method allows you to create a static email template in MS Word, and to have that text populated with CommitCRM referenced account data. This data can be exported from anywhere in the CommitCRM database, and can be easily added to your template so that the message sent to each customer would include the data from the account that the email address came out of. This method is useful if your group email only needs database orientated information embedded in the message.&lt;br /&gt;
For more information see [[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Unsubscribing Your Customers==&lt;br /&gt;
Sometimes customers no longer require some or all of your email newsletters, and need to be removed from the mailing list in the easiest manner; adding a note in the email telling your customer to reply to the email requesting the removal of the subscription by just typing the word Unsubscribe.&lt;br /&gt;
&lt;br /&gt;
This way you can set up an MS Outlook rule that automatically files the email in a special MS Outlook folder to be processed by an employee manually in CommitCRM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Automatic Links To Remove A Subscription===&lt;br /&gt;
You can offer your customers the option to automatically remove an email group subscription by clicking a link within the email message HTML email. In order for this to work; you would need a Web Server that supports a server side scripting option such as PHP (used in the samples listed below) and the Commit Email Connector.&lt;br /&gt;
&lt;br /&gt;
Preparation for this type of function would involve setting up an XML template that receives the information from the link and automatically emails the xml template to the Commit Email Connector, using a PHP script that we will also create with you. Once the Commit Email Connector receives the XML message; the system will immediately apply the transaction in the XML to the CommitCRM database. In this case; the transaction would be rather simple: &lt;br /&gt;
* '''Step 1''': Validate Transaction Authentication, using API Password.&lt;br /&gt;
* '''Step 2''': Identify Customer using Customer RECID&lt;br /&gt;
* '''Step 3''': Identify Email group to cancel subscription for&lt;br /&gt;
* '''Step 4''': Update value to &amp;quot;False&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Please note''': this is an advanced option for users with experience with web servers and PHP (or similar) scripting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Preparation====&lt;br /&gt;
The way this is going to work is that the customer clicks a link automatically generated specially for that customer when you send an HTML Email Template. This is done by placing the CommitCRM Account Value (i.e. unique technical identifier) within the link that you're sending (Explained below). Within the link is the URL to the PHP script (explained below), with the Account RECID.&lt;br /&gt;
&lt;br /&gt;
The PHP script needs to take that parameter, and inserts it into a predefined XML template to be emailed to Commit Email Connector; which in turn applies the XML transaction on the CommitCRM database (this is all part of CommitCRM API by Email). Each XML script can only be used on 1 specific email group; so if you use multiple groups, you'll need to create a PHP script and a matching XML for each group. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====XML Script====&lt;br /&gt;
The sample below changes the value of an email group subscription to &amp;quot;'''False'''&amp;quot;; effectively cancelling the subscription, using only the RECID (Unique Account Identifier) and the email group name.            &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;youremail@yourdomain.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;the-predefined-api-password&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Removing an Email Subscription &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
 &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDRECID&amp;gt;{Insert_RECID_HERE}&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
   &amp;lt;***********&amp;gt;False&amp;lt;/***********&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes to the XML text below need to be made each time the transaction is sent to CommitCRM in order for the database to receive the information in the correct syntax; however, before getting to that, the XML template needs to be created as follows, in order to be hosted on the site and used by a PHP script as an XML processor. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Line Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''5'''&lt;br /&gt;
| Replace youremail@yourdomain.com with the email address you want the XML response to. After a successful, or failure, processing of the XML formatted email, Commit Email Connector will send a status update (again in XML textual format) to the specified email address. This can be used for auditing purposes.&lt;br /&gt;
|-&lt;br /&gt;
| '''6'''&lt;br /&gt;
| Replace the-predefined-api-password with your own API password.&lt;br /&gt;
Learn more about it [[API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29|here]]. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PHP Script====&lt;br /&gt;
Using PHP; you'll be able to retrieve the URL parameters, and insert them into the above mentioned XML script automatically; without user interaction. We have included a sample PHP script that can automatically insert the information from the URL directly into the XML template, to be automatically emailed to the CommitCRM Server. &lt;br /&gt;
&lt;br /&gt;
The following script can be used to cancel any email group subscription; since the URL parameters will have all the account and email group identification information required in order to complete the transaction. This means that you can use the following script in order to cancel any email group subscription for your customers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please Note:''' This script has been tested using PHP5; and may require the same version installed on the web server in order to work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//This script is meant for basic CommitCRM database manipulation. The samples included &lt;br /&gt;
//here can be adjusted to include different data in the transaction; more information on &lt;br /&gt;
//using XML can be found in this link: http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//================================================================================================&lt;br /&gt;
//INSTRUCTIONS: The following variables need to be adjusted in order to make the PHP script know&lt;br /&gt;
//how to communicate with Commit Email Connector. The following information will tell the script where&lt;br /&gt;
//to send the XML; and how to identify the source address; Please adjust the variables to your own &lt;br /&gt;
//preference.&lt;br /&gt;
&lt;br /&gt;
//Edit this variable to reflect the address you want the AI response sent to.&lt;br /&gt;
$responsemail = ''response@emailaddress.com';&lt;br /&gt;
//Edit this variable to reflect the API Password configured in ServerConfig.exe&lt;br /&gt;
$apipasswd = 'your_API_Passwd';&lt;br /&gt;
//Edit this variable to reflect the XML Email Destination:&lt;br /&gt;
$email_to = ''EmailConnector@yourbusiness.com';&lt;br /&gt;
//Edit this variable to reflect the XML Email Subject:&lt;br /&gt;
$subject = 'Remove Email Subscription';&lt;br /&gt;
//Edit this variable to reflect the XML source email address (Web Form ReplyTo)(Leave &amp;quot;From: &amp;quot; intact):&lt;br /&gt;
$replyto = 'From: Webform@emailaddress.com';&lt;br /&gt;
//================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Constant variables - These variables will serve to identify the CommitCRM Account and Email Group&lt;br /&gt;
//to cancel. Do not edit below this comment!&lt;br /&gt;
$recoid = $_GET['recid'];&lt;br /&gt;
$emailgroup = $_GET['group'];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//XML Template - Do not alter!&lt;br /&gt;
$xml = '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;' . $responsemail . '&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;' . $apipasswd . '&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Email Group Cancellation&amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
   &amp;lt;RecordData&amp;gt;&lt;br /&gt;
    &amp;lt;FLDCRDRECID&amp;gt;' . $recoid . '&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
    &amp;lt;' . $emailgroup . '&amp;gt;False&amp;lt;/' . $emailgroup . '&amp;gt;&lt;br /&gt;
   &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
//This command will email the XML.&lt;br /&gt;
mail($email_to, $subject, $xml, $header);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//This command will give an on screen confirmation to the user.&lt;br /&gt;
echo 'Your request has been sent for processing. Thank You.';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Creating Your Link With CommitCRM Templates====&lt;br /&gt;
When you create your newsletter you can use the email template you send from within CommitCRM or MS Word® Mail Merge to create a unique links for each customer that already include the account RECID parameter and the group identifier; so that your customers can easily click the link to trigger the XML to be applied with that accounts RECID.&lt;br /&gt;
&lt;br /&gt;
The 2 variables in the link need to be gathered as follows:&lt;br /&gt;
* Group - Right click the email group checkbox field that represents the group you want the link to cancel, and select Field Settings &amp;gt; Advanced &amp;gt; Tech. Rec ID. This value will need to be manually updated in the link&lt;br /&gt;
* Recid - Each customer has a Record Identifier that needs to be passed in order for the system to recognize the account that's canceling the subscription. This RECID is available for each account from the Accounts &amp;gt; Notes &amp;gt; Right Click the Record ID button.&lt;br /&gt;
&lt;br /&gt;
When inserting your link into the template; make sure to use the following syntax:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.YourWebServer.com/script.php?group={email_group_Tech_Rec_ID}&amp;amp;recid={Account_Rec_ID}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example: '''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=CRDCO94HUDF8JE06KGTG&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use [[Email_Templates|Email Templates]] or MS Word® Mail Merge to generate your news letters; then you can have the Account Record Identifier automatically added into each link sent to each customer within the newsletter; here's an example of how to set this in an email template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=&amp;lt;CMTLBLDATA_FLDCRDRECID&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Field_Customization#Adding_New_Data_Tabs_to_the_Display|Create a new tab]]&lt;br /&gt;
*[[Field_Customization#Creating_New_Data_Fields_to_the_Display|Create new data fields]]&lt;br /&gt;
*[[Import_Accounts|Importing new accounts]]&lt;br /&gt;
*[[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]]&lt;br /&gt;
*[[API_Code_Samples#XML_samples|API Code Samples]]&lt;br /&gt;
*[[Email_Templates|Email Templates]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Emailing your customers using Mail Merge]]&lt;br /&gt;
*[http://www.php.net/manual/en/index.php PHP5 Manual]&lt;br /&gt;
*[http://devzone.zend.com/article/2387 XML and PHP5 Tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Email]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3951</id>
		<title>KB: Managing Group Email Subscriptions</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3951"/>
		<updated>2010-03-09T18:56:50Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Automatic Links To Remove A Subscription */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Sometimes we like to send group emails out to customers regarding promotions, season’s greetings, new services, and new products. Since not all customers are interested in receiving such messages, business go to great lengths to keep records of which customers want to receive which types of email messages.&lt;br /&gt;
&lt;br /&gt;
This article describes how you can use CommitCRM to create your own data tab that manages your email groups; whether a customer is subscribed to that group, and sending out the email to those groups.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Preparing the Database Architecture for Additional Data==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Creating a Tab for Email Groups===&lt;br /&gt;
Before we can begin with the customizations, it is best to run a CommitCRM backup process, to make sure that you have a restore point to before you’ve customized the system. Only after the system has been backed up, create the fields that will contain the data about our email groups, we need to [[Field_Customization#Adding_New_Data_Tabs_to_the_Display|create a new tab]] that will house the data fields, while still keeping them separate from the rest of your CommitCRM data. &lt;br /&gt;
*We’ll need to create the new tab within the Accounts screen, and call the tab we’re creating Email Groups.&lt;br /&gt;
Once we have created the Email Groups tab, we can move on to the next step: Creating Data Fields for Our Email Groups.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups01.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Creating Data Fields for Our Email Groups===&lt;br /&gt;
Once we have a tab that can house the user-defined fields we intend to create in this section, we can go ahead and [[Field_Customization#Creating_New_Data_Fields_to_the_Display|create new data fields]] which need to hold only 2 values each; True and False will be fine, so we’re going to choose to create Yes or No fields (Checkbox Fields). &lt;br /&gt;
&lt;br /&gt;
During the creation of the first field, you’ll need to create a subject group for the tab you’re creating. Field Subject groups allow you to easily group the fields you create so that you can filter your lists by this subject later, in order to be able to select from a dedicated list of these fields. We’ll get in to that later in this article.&lt;br /&gt;
&lt;br /&gt;
#Go into Field Management. (Accounts Menu &amp;gt; Tools &amp;gt; Tab Management)&lt;br /&gt;
#Select ‘Add New Fields’ to Tab.&lt;br /&gt;
#Create a new Subject Group called ‘Email Groups’, select it and click Next.&lt;br /&gt;
#Give your group a name and select ‘Yes or No’ in the Field Type.&lt;br /&gt;
#Place your new field where you want to see it in the tab.&lt;br /&gt;
#Repeat the creation process for each field you want to create (each field you create represents a group and whether the account is included in this group or not).&lt;br /&gt;
##Add the fields you’re creating to the Email Groups Subject that you already made.&lt;br /&gt;
#Close the Field Management window in order to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups02.jpg|center]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:email groups03.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscribing Your Accounts to Email Groups==&lt;br /&gt;
At this point, you’ve already created an Email Groups tab with checkboxes representing each email group you’re managing. The next step is to subscribe your accounts to relevant by marking fields that they want to be subscribed to. This needs to be done separately for each account; however, you can have this field updated while [[Import_Accounts|importing new accounts]] from external files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Filtering Your List By These Fields==&lt;br /&gt;
Before you can send out the group emails, you need to filter the accounts list according to the group you want to email to, so that the system knows which accounts you want to send the group email message to. Filtering the list is a rather simple task to perform since we’ve added all the fields to the same Field Subject Category (i.e. ‘Email Groups’). Once you’ve filtered your account list to only include the accounts in a specific email group, you can go on to sending the email message.&lt;br /&gt;
&lt;br /&gt;
To filter your list by one of the Email Groups you’re managing, please follow these steps.&lt;br /&gt;
&lt;br /&gt;
#Activate the Advanced Filter option (Mark the Filter checkbox in the blue filter bar in the accounts screen), and open the Filter window.&lt;br /&gt;
#Switch to the By Subject Tab.&lt;br /&gt;
#Select the Email Groups Subject from the Subject drop down list.&lt;br /&gt;
#Select the Group you’d like to filter the list by in the first filter rule line.&lt;br /&gt;
#Mark the checkbox in right side of the rule to indicate that you want to filter based on the True value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:email groups04.jpg|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sending the Group Emails to your customers==&lt;br /&gt;
Once your accounts list has been filtered to only reflect the accounts that are part of a specific Email Group, you can continue to the next step by preparing the email you intend to send out. Using CommitCRM, you have 2 very powerful options that can send your group email out to your customers. Each method has its benefits, so the best way to choose the correct method is to know what kind of data will need to have merged from the CommitCRM database (if any) into the message. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Group Mail Method&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Internal CommitCRM Group Mail&lt;br /&gt;
| This method allows you to create a static email message that can be emailed to the accounts list you’ve filtered, or all your accounts if the list is not filtered. The static message would not include any referenced database information; however, this method is the most quick and convenient way to send out group emails to your customers. This method includes optional fields for the Subject field and Attachments and requires Microsoft® Outlook® to be installed and configured. &lt;br /&gt;
For more information see [[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]].&lt;br /&gt;
|-&lt;br /&gt;
|CommitCRM-MSWord Mail Merge &lt;br /&gt;
| This method allows you to create a static email template in MS Word, and to have that text populated with CommitCRM referenced account data. This data can be exported from anywhere in the CommitCRM database, and can be easily added to your template so that the message sent to each customer would include the data from the account that the email address came out of. This method is useful if your group email only needs database orientated information embedded in the message.&lt;br /&gt;
For more information see [[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Unsubscribing Your Customers==&lt;br /&gt;
Sometimes customers no longer require some or all of your email newsletters, and need to be removed from the mailing list in the easiest manner; adding a note in the email telling your customer to reply to the email requesting the removal of the subscription by just typing the word Unsubscribe.&lt;br /&gt;
&lt;br /&gt;
This way you can set up an MS Outlook rule that automatically files the email in a special MS Outlook folder to be processed by an employee manually in CommitCRM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Automatic Links To Remove A Subscription===&lt;br /&gt;
You can offer your customers the option to automatically remove an email group subscription by clicking a link within the email message HTML email. In order for this to work; you would need a Web Server that supports a server side scripting option such as PHP (used in the samples listed below) and the Commit Email Connector.&lt;br /&gt;
&lt;br /&gt;
Preparation for this type of function would involve setting up an XML template that receives the information from the link and automatically emails the xml template to the Commit Email Connector, using a PHP script that we will also create with you. Once the Commit Email Connector receives the XML message; the system will immediately apply the transaction in the XML to the CommitCRM database. In this case; the transaction would be rather simple: &lt;br /&gt;
* '''Step 1''': Validate Transaction Authentication, using API Password.&lt;br /&gt;
* '''Step 2''': Identify Customer using Customer RECID&lt;br /&gt;
* '''Step 3''': Identify Email group to cancel subscription for&lt;br /&gt;
* '''Step 4''': Update value to &amp;quot;False&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Please note''': this is an advanced option for users with experience with web servers and PHP (or similar) scripting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Preparation====&lt;br /&gt;
The way this is going to work is that the customer clicks a link automatically generated specially for that customer when you send an HTML Email Template. This is done by placing the CommitCRM Account Value (i.e. unique technical identifier) within the link that you're sending (Explained below). Within the link is the URL to the PHP script (explained below), with the Account RECID.&lt;br /&gt;
&lt;br /&gt;
The PHP script needs to take that parameter, and inserts it into a predefined XML template to be emailed to Commit Email Connector; which in turn applies the XML transaction on the CommitCRM database (this is all part of CommitCRM API by Email). Each XML script can only be used on 1 specific email group; so if you use multiple groups, you'll need to create a PHP script and a matching XML for each group. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====XML Script====&lt;br /&gt;
The sample below changes the value of an email group subscription to &amp;quot;False&amp;quot;; effectively cancelling the subscription, using only the RECID (Unique Account Identifier) and the email group name.            &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;youremail@yourdomain.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;the-predefined-api-password&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Removing an Email Subscription &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
 &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDRECID&amp;gt;{Insert_RECID_HERE}&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
   &amp;lt;***********&amp;gt;False&amp;lt;/***********&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes to the XML text below need to be made each time the transaction is sent to CommitCRM in order for the database to receive the information in the correct syntax; however, before getting to that, the XML template needs to be created as follows, in order to be hosted on the site and used by a PHP script as an XML processor. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Line Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''5'''&lt;br /&gt;
| Replace youremail@yourdomain.com with the email address you want the XML response to. After a successful, or failure, processing of the XML formatted email, Commit Email Connector will send a status update (again in XML textual format) to the specified email address. This can be used for auditing purposes.&lt;br /&gt;
|-&lt;br /&gt;
| '''6'''&lt;br /&gt;
| Replace the-predefined-api-password with your own API password.&lt;br /&gt;
Learn more about it [[API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29|here]]. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PHP Script====&lt;br /&gt;
Using PHP; you'll be able to retrieve the URL parameters, and insert them into the above mentioned XML script automatically; without user interaction. We have included a sample PHP script that can automatically insert the information from the URL directly into the XML template, to be automatically emailed to the CommitCRM Server. &lt;br /&gt;
&lt;br /&gt;
The following script can be used to cancel any email group subscription; since the URL parameters will have all the account and email group identification information required in order to complete the transaction. This means that you can use the following script in order to cancel any email group subscription for your customers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please Note:''' This script has been tested using PHP5; and may require the same version installed on the web server in order to work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//This script is meant for basic CommitCRM database manipulation. The samples included &lt;br /&gt;
//here can be adjusted to include different data in the transaction; more information on &lt;br /&gt;
//using XML can be found in this link: http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//================================================================================================&lt;br /&gt;
//INSTRUCTIONS: The following variables need to be adjusted in order to make the PHP script know&lt;br /&gt;
//how to communicate with Commit Email Connector. The following information will tell the script where&lt;br /&gt;
//to send the XML; and how to identify the source address; Please adjust the variables to your own &lt;br /&gt;
//preference.&lt;br /&gt;
&lt;br /&gt;
//Edit this variable to reflect the address you want the AI response sent to.&lt;br /&gt;
$responsemail = ''response@emailaddress.com';&lt;br /&gt;
//Edit this variable to reflect the API Password configured in ServerConfig.exe&lt;br /&gt;
$apipasswd = 'your_API_Passwd';&lt;br /&gt;
//Edit this variable to reflect the XML Email Destination:&lt;br /&gt;
$email_to = ''EmailConnector@yourbusiness.com';&lt;br /&gt;
//Edit this variable to reflect the XML Email Subject:&lt;br /&gt;
$subject = 'Remove Email Subscription';&lt;br /&gt;
//Edit this variable to reflect the XML source email address (Web Form ReplyTo)(Leave &amp;quot;From: &amp;quot; intact):&lt;br /&gt;
$replyto = 'From: Webform@emailaddress.com';&lt;br /&gt;
//================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Constant variables - These variables will serve to identify the CommitCRM Account and Email Group&lt;br /&gt;
//to cancel. Do not edit below this comment!&lt;br /&gt;
$recoid = $_GET['recid'];&lt;br /&gt;
$emailgroup = $_GET['group'];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//XML Template - Do not alter!&lt;br /&gt;
$xml = '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;' . $responsemail . '&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;' . $apipasswd . '&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Email Group Cancellation&amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
   &amp;lt;RecordData&amp;gt;&lt;br /&gt;
    &amp;lt;FLDCRDRECID&amp;gt;' . $recoid . '&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
    &amp;lt;' . $emailgroup . '&amp;gt;False&amp;lt;/' . $emailgroup . '&amp;gt;&lt;br /&gt;
   &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
//This command will email the XML.&lt;br /&gt;
mail($email_to, $subject, $xml, $header);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//This command will give an on screen confirmation to the user.&lt;br /&gt;
echo 'Your request has been sent for processing. Thank You.';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Creating Your Link With CommitCRM Templates====&lt;br /&gt;
When you create your newsletter you can use the email template you send from within CommitCRM or MS Word® Mail Merge to create a unique links for each customer that already include the account RECID parameter and the group identifier; so that your customers can easily click the link to trigger the XML to be applied with that accounts RECID.&lt;br /&gt;
&lt;br /&gt;
The 2 variables in the link need to be gathered as follows:&lt;br /&gt;
* Group - Right click the email group checkbox field that represents the group you want the link to cancel, and select Field Settings &amp;gt; Advanced &amp;gt; Tech. Rec ID. This value will need to be manually updated in the link&lt;br /&gt;
* Recid - Each customer has a Record Identifier that needs to be passed in order for the system to recognize the account that's canceling the subscription. This RECID is available for each account from the Accounts &amp;gt; Notes &amp;gt; Right Click the Record ID button.&lt;br /&gt;
&lt;br /&gt;
When inserting your link into the template; make sure to use the following syntax:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.YourWebServer.com/script.php?group={email_group_Tech_Rec_ID}&amp;amp;recid={Account_Rec_ID}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example: '''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=CRDCO94HUDF8JE06KGTG&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use [[Email_Templates|Email Templates]] or MS Word® Mail Merge to generate your news letters; then you can have the Account Record Identifier automatically added into each link sent to each customer within the newsletter; here's an example of how to set this in an email template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=&amp;lt;CMTLBLDATA_FLDCRDRECID&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Field_Customization#Adding_New_Data_Tabs_to_the_Display|Create a new tab]]&lt;br /&gt;
*[[Field_Customization#Creating_New_Data_Fields_to_the_Display|Create new data fields]]&lt;br /&gt;
*[[Import_Accounts|Importing new accounts]]&lt;br /&gt;
*[[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]]&lt;br /&gt;
*[[API_Code_Samples#XML_samples|API Code Samples]]&lt;br /&gt;
*[[Email_Templates|Email Templates]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Emailing your customers using Mail Merge]]&lt;br /&gt;
*[http://www.php.net/manual/en/index.php PHP5 Manual]&lt;br /&gt;
*[http://devzone.zend.com/article/2387 XML and PHP5 Tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Email]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3950</id>
		<title>KB: Managing Group Email Subscriptions</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3950"/>
		<updated>2010-03-09T18:56:02Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Creating Your Link With CommitCRM Templates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Sometimes we like to send group emails out to customers regarding promotions, season’s greetings, new services, and new products. Since not all customers are interested in receiving such messages, business go to great lengths to keep records of which customers want to receive which types of email messages.&lt;br /&gt;
&lt;br /&gt;
This article describes how you can use CommitCRM to create your own data tab that manages your email groups; whether a customer is subscribed to that group, and sending out the email to those groups.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Preparing the Database Architecture for Additional Data==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Creating a Tab for Email Groups===&lt;br /&gt;
Before we can begin with the customizations, it is best to run a CommitCRM backup process, to make sure that you have a restore point to before you’ve customized the system. Only after the system has been backed up, create the fields that will contain the data about our email groups, we need to [[Field_Customization#Adding_New_Data_Tabs_to_the_Display|create a new tab]] that will house the data fields, while still keeping them separate from the rest of your CommitCRM data. &lt;br /&gt;
*We’ll need to create the new tab within the Accounts screen, and call the tab we’re creating Email Groups.&lt;br /&gt;
Once we have created the Email Groups tab, we can move on to the next step: Creating Data Fields for Our Email Groups.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups01.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Creating Data Fields for Our Email Groups===&lt;br /&gt;
Once we have a tab that can house the user-defined fields we intend to create in this section, we can go ahead and [[Field_Customization#Creating_New_Data_Fields_to_the_Display|create new data fields]] which need to hold only 2 values each; True and False will be fine, so we’re going to choose to create Yes or No fields (Checkbox Fields). &lt;br /&gt;
&lt;br /&gt;
During the creation of the first field, you’ll need to create a subject group for the tab you’re creating. Field Subject groups allow you to easily group the fields you create so that you can filter your lists by this subject later, in order to be able to select from a dedicated list of these fields. We’ll get in to that later in this article.&lt;br /&gt;
&lt;br /&gt;
#Go into Field Management. (Accounts Menu &amp;gt; Tools &amp;gt; Tab Management)&lt;br /&gt;
#Select ‘Add New Fields’ to Tab.&lt;br /&gt;
#Create a new Subject Group called ‘Email Groups’, select it and click Next.&lt;br /&gt;
#Give your group a name and select ‘Yes or No’ in the Field Type.&lt;br /&gt;
#Place your new field where you want to see it in the tab.&lt;br /&gt;
#Repeat the creation process for each field you want to create (each field you create represents a group and whether the account is included in this group or not).&lt;br /&gt;
##Add the fields you’re creating to the Email Groups Subject that you already made.&lt;br /&gt;
#Close the Field Management window in order to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups02.jpg|center]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:email groups03.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscribing Your Accounts to Email Groups==&lt;br /&gt;
At this point, you’ve already created an Email Groups tab with checkboxes representing each email group you’re managing. The next step is to subscribe your accounts to relevant by marking fields that they want to be subscribed to. This needs to be done separately for each account; however, you can have this field updated while [[Import_Accounts|importing new accounts]] from external files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Filtering Your List By These Fields==&lt;br /&gt;
Before you can send out the group emails, you need to filter the accounts list according to the group you want to email to, so that the system knows which accounts you want to send the group email message to. Filtering the list is a rather simple task to perform since we’ve added all the fields to the same Field Subject Category (i.e. ‘Email Groups’). Once you’ve filtered your account list to only include the accounts in a specific email group, you can go on to sending the email message.&lt;br /&gt;
&lt;br /&gt;
To filter your list by one of the Email Groups you’re managing, please follow these steps.&lt;br /&gt;
&lt;br /&gt;
#Activate the Advanced Filter option (Mark the Filter checkbox in the blue filter bar in the accounts screen), and open the Filter window.&lt;br /&gt;
#Switch to the By Subject Tab.&lt;br /&gt;
#Select the Email Groups Subject from the Subject drop down list.&lt;br /&gt;
#Select the Group you’d like to filter the list by in the first filter rule line.&lt;br /&gt;
#Mark the checkbox in right side of the rule to indicate that you want to filter based on the True value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:email groups04.jpg|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sending the Group Emails to your customers==&lt;br /&gt;
Once your accounts list has been filtered to only reflect the accounts that are part of a specific Email Group, you can continue to the next step by preparing the email you intend to send out. Using CommitCRM, you have 2 very powerful options that can send your group email out to your customers. Each method has its benefits, so the best way to choose the correct method is to know what kind of data will need to have merged from the CommitCRM database (if any) into the message. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Group Mail Method&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Internal CommitCRM Group Mail&lt;br /&gt;
| This method allows you to create a static email message that can be emailed to the accounts list you’ve filtered, or all your accounts if the list is not filtered. The static message would not include any referenced database information; however, this method is the most quick and convenient way to send out group emails to your customers. This method includes optional fields for the Subject field and Attachments and requires Microsoft® Outlook® to be installed and configured. &lt;br /&gt;
For more information see [[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]].&lt;br /&gt;
|-&lt;br /&gt;
|CommitCRM-MSWord Mail Merge &lt;br /&gt;
| This method allows you to create a static email template in MS Word, and to have that text populated with CommitCRM referenced account data. This data can be exported from anywhere in the CommitCRM database, and can be easily added to your template so that the message sent to each customer would include the data from the account that the email address came out of. This method is useful if your group email only needs database orientated information embedded in the message.&lt;br /&gt;
For more information see [[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Unsubscribing Your Customers==&lt;br /&gt;
Sometimes customers no longer require some or all of your email newsletters, and need to be removed from the mailing list in the easiest manner; adding a note in the email telling your customer to reply to the email requesting the removal of the subscription by just typing the word Unsubscribe.&lt;br /&gt;
&lt;br /&gt;
This way you can set up an MS Outlook rule that automatically files the email in a special MS Outlook folder to be processed by an employee manually in CommitCRM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Automatic Links To Remove A Subscription===&lt;br /&gt;
You can offer your customers the option to automatically remove an email group subscription by clicking a link within the email message HTML email. In order for this to work; you would need a Web Server that supports a server side scripting option such as PHP (used in the samples listed below) and the Commit Email Connector.&lt;br /&gt;
&lt;br /&gt;
Preparation for this type of function would involve setting up an XML template that receives the information from the link and automatically emails the xml template to the Commit Email Connector, using a PHP script that we will also create with you. Once the Commit Email Connector receives the XML message; the system will immediately apply the transaction in the XML to the CommitCRM database. In this case; the transaction would be rather simple: &lt;br /&gt;
* Step 1: Validate Transaction Authentication, using API Password.&lt;br /&gt;
* Step 2: Identify Customer using Customer RECID&lt;br /&gt;
* Step 3: Identify Email group to cancel subscription for&lt;br /&gt;
* Step 4: Update value to &amp;quot;False&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Please note''': this is an advanced option for users with experience with web servers and PHP (or similar) scripting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Preparation====&lt;br /&gt;
The way this is going to work is that the customer clicks a link automatically generated specially for that customer when you send an HTML Email Template. This is done by placing the CommitCRM Account Value (i.e. unique technical identifier) within the link that you're sending (Explained below). Within the link is the URL to the PHP script (explained below), with the Account RECID.&lt;br /&gt;
&lt;br /&gt;
The PHP script needs to take that parameter, and inserts it into a predefined XML template to be emailed to Commit Email Connector; which in turn applies the XML transaction on the CommitCRM database (this is all part of CommitCRM API by Email). Each XML script can only be used on 1 specific email group; so if you use multiple groups, you'll need to create a PHP script and a matching XML for each group. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====XML Script====&lt;br /&gt;
The sample below changes the value of an email group subscription to &amp;quot;False&amp;quot;; effectively cancelling the subscription, using only the RECID (Unique Account Identifier) and the email group name.            &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;youremail@yourdomain.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;the-predefined-api-password&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Removing an Email Subscription &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
 &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDRECID&amp;gt;{Insert_RECID_HERE}&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
   &amp;lt;***********&amp;gt;False&amp;lt;/***********&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes to the XML text below need to be made each time the transaction is sent to CommitCRM in order for the database to receive the information in the correct syntax; however, before getting to that, the XML template needs to be created as follows, in order to be hosted on the site and used by a PHP script as an XML processor. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Line Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''5'''&lt;br /&gt;
| Replace youremail@yourdomain.com with the email address you want the XML response to. After a successful, or failure, processing of the XML formatted email, Commit Email Connector will send a status update (again in XML textual format) to the specified email address. This can be used for auditing purposes.&lt;br /&gt;
|-&lt;br /&gt;
| '''6'''&lt;br /&gt;
| Replace the-predefined-api-password with your own API password.&lt;br /&gt;
Learn more about it [[API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29|here]]. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PHP Script====&lt;br /&gt;
Using PHP; you'll be able to retrieve the URL parameters, and insert them into the above mentioned XML script automatically; without user interaction. We have included a sample PHP script that can automatically insert the information from the URL directly into the XML template, to be automatically emailed to the CommitCRM Server. &lt;br /&gt;
&lt;br /&gt;
The following script can be used to cancel any email group subscription; since the URL parameters will have all the account and email group identification information required in order to complete the transaction. This means that you can use the following script in order to cancel any email group subscription for your customers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please Note:''' This script has been tested using PHP5; and may require the same version installed on the web server in order to work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//This script is meant for basic CommitCRM database manipulation. The samples included &lt;br /&gt;
//here can be adjusted to include different data in the transaction; more information on &lt;br /&gt;
//using XML can be found in this link: http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//================================================================================================&lt;br /&gt;
//INSTRUCTIONS: The following variables need to be adjusted in order to make the PHP script know&lt;br /&gt;
//how to communicate with Commit Email Connector. The following information will tell the script where&lt;br /&gt;
//to send the XML; and how to identify the source address; Please adjust the variables to your own &lt;br /&gt;
//preference.&lt;br /&gt;
&lt;br /&gt;
//Edit this variable to reflect the address you want the AI response sent to.&lt;br /&gt;
$responsemail = ''response@emailaddress.com';&lt;br /&gt;
//Edit this variable to reflect the API Password configured in ServerConfig.exe&lt;br /&gt;
$apipasswd = 'your_API_Passwd';&lt;br /&gt;
//Edit this variable to reflect the XML Email Destination:&lt;br /&gt;
$email_to = ''EmailConnector@yourbusiness.com';&lt;br /&gt;
//Edit this variable to reflect the XML Email Subject:&lt;br /&gt;
$subject = 'Remove Email Subscription';&lt;br /&gt;
//Edit this variable to reflect the XML source email address (Web Form ReplyTo)(Leave &amp;quot;From: &amp;quot; intact):&lt;br /&gt;
$replyto = 'From: Webform@emailaddress.com';&lt;br /&gt;
//================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Constant variables - These variables will serve to identify the CommitCRM Account and Email Group&lt;br /&gt;
//to cancel. Do not edit below this comment!&lt;br /&gt;
$recoid = $_GET['recid'];&lt;br /&gt;
$emailgroup = $_GET['group'];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//XML Template - Do not alter!&lt;br /&gt;
$xml = '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;' . $responsemail . '&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;' . $apipasswd . '&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Email Group Cancellation&amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
   &amp;lt;RecordData&amp;gt;&lt;br /&gt;
    &amp;lt;FLDCRDRECID&amp;gt;' . $recoid . '&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
    &amp;lt;' . $emailgroup . '&amp;gt;False&amp;lt;/' . $emailgroup . '&amp;gt;&lt;br /&gt;
   &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
//This command will email the XML.&lt;br /&gt;
mail($email_to, $subject, $xml, $header);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//This command will give an on screen confirmation to the user.&lt;br /&gt;
echo 'Your request has been sent for processing. Thank You.';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Creating Your Link With CommitCRM Templates====&lt;br /&gt;
When you create your newsletter you can use the email template you send from within CommitCRM or MS Word® Mail Merge to create a unique links for each customer that already include the account RECID parameter and the group identifier; so that your customers can easily click the link to trigger the XML to be applied with that accounts RECID.&lt;br /&gt;
&lt;br /&gt;
The 2 variables in the link need to be gathered as follows:&lt;br /&gt;
* Group - Right click the email group checkbox field that represents the group you want the link to cancel, and select Field Settings &amp;gt; Advanced &amp;gt; Tech. Rec ID. This value will need to be manually updated in the link&lt;br /&gt;
* Recid - Each customer has a Record Identifier that needs to be passed in order for the system to recognize the account that's canceling the subscription. This RECID is available for each account from the Accounts &amp;gt; Notes &amp;gt; Right Click the Record ID button.&lt;br /&gt;
&lt;br /&gt;
When inserting your link into the template; make sure to use the following syntax:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.YourWebServer.com/script.php?group={email_group_Tech_Rec_ID}&amp;amp;recid={Account_Rec_ID}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example: '''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=CRDCO94HUDF8JE06KGTG&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use [[Email_Templates|Email Templates]] or MS Word® Mail Merge to generate your news letters; then you can have the Account Record Identifier automatically added into each link sent to each customer within the newsletter; here's an example of how to set this in an email template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=&amp;lt;CMTLBLDATA_FLDCRDRECID&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Field_Customization#Adding_New_Data_Tabs_to_the_Display|Create a new tab]]&lt;br /&gt;
*[[Field_Customization#Creating_New_Data_Fields_to_the_Display|Create new data fields]]&lt;br /&gt;
*[[Import_Accounts|Importing new accounts]]&lt;br /&gt;
*[[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]]&lt;br /&gt;
*[[API_Code_Samples#XML_samples|API Code Samples]]&lt;br /&gt;
*[[Email_Templates|Email Templates]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Emailing your customers using Mail Merge]]&lt;br /&gt;
*[http://www.php.net/manual/en/index.php PHP5 Manual]&lt;br /&gt;
*[http://devzone.zend.com/article/2387 XML and PHP5 Tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Email]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3949</id>
		<title>KB: Managing Group Email Subscriptions</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3949"/>
		<updated>2010-03-09T18:55:10Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* XML Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Sometimes we like to send group emails out to customers regarding promotions, season’s greetings, new services, and new products. Since not all customers are interested in receiving such messages, business go to great lengths to keep records of which customers want to receive which types of email messages.&lt;br /&gt;
&lt;br /&gt;
This article describes how you can use CommitCRM to create your own data tab that manages your email groups; whether a customer is subscribed to that group, and sending out the email to those groups.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Preparing the Database Architecture for Additional Data==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Creating a Tab for Email Groups===&lt;br /&gt;
Before we can begin with the customizations, it is best to run a CommitCRM backup process, to make sure that you have a restore point to before you’ve customized the system. Only after the system has been backed up, create the fields that will contain the data about our email groups, we need to [[Field_Customization#Adding_New_Data_Tabs_to_the_Display|create a new tab]] that will house the data fields, while still keeping them separate from the rest of your CommitCRM data. &lt;br /&gt;
*We’ll need to create the new tab within the Accounts screen, and call the tab we’re creating Email Groups.&lt;br /&gt;
Once we have created the Email Groups tab, we can move on to the next step: Creating Data Fields for Our Email Groups.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups01.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Creating Data Fields for Our Email Groups===&lt;br /&gt;
Once we have a tab that can house the user-defined fields we intend to create in this section, we can go ahead and [[Field_Customization#Creating_New_Data_Fields_to_the_Display|create new data fields]] which need to hold only 2 values each; True and False will be fine, so we’re going to choose to create Yes or No fields (Checkbox Fields). &lt;br /&gt;
&lt;br /&gt;
During the creation of the first field, you’ll need to create a subject group for the tab you’re creating. Field Subject groups allow you to easily group the fields you create so that you can filter your lists by this subject later, in order to be able to select from a dedicated list of these fields. We’ll get in to that later in this article.&lt;br /&gt;
&lt;br /&gt;
#Go into Field Management. (Accounts Menu &amp;gt; Tools &amp;gt; Tab Management)&lt;br /&gt;
#Select ‘Add New Fields’ to Tab.&lt;br /&gt;
#Create a new Subject Group called ‘Email Groups’, select it and click Next.&lt;br /&gt;
#Give your group a name and select ‘Yes or No’ in the Field Type.&lt;br /&gt;
#Place your new field where you want to see it in the tab.&lt;br /&gt;
#Repeat the creation process for each field you want to create (each field you create represents a group and whether the account is included in this group or not).&lt;br /&gt;
##Add the fields you’re creating to the Email Groups Subject that you already made.&lt;br /&gt;
#Close the Field Management window in order to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups02.jpg|center]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:email groups03.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscribing Your Accounts to Email Groups==&lt;br /&gt;
At this point, you’ve already created an Email Groups tab with checkboxes representing each email group you’re managing. The next step is to subscribe your accounts to relevant by marking fields that they want to be subscribed to. This needs to be done separately for each account; however, you can have this field updated while [[Import_Accounts|importing new accounts]] from external files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Filtering Your List By These Fields==&lt;br /&gt;
Before you can send out the group emails, you need to filter the accounts list according to the group you want to email to, so that the system knows which accounts you want to send the group email message to. Filtering the list is a rather simple task to perform since we’ve added all the fields to the same Field Subject Category (i.e. ‘Email Groups’). Once you’ve filtered your account list to only include the accounts in a specific email group, you can go on to sending the email message.&lt;br /&gt;
&lt;br /&gt;
To filter your list by one of the Email Groups you’re managing, please follow these steps.&lt;br /&gt;
&lt;br /&gt;
#Activate the Advanced Filter option (Mark the Filter checkbox in the blue filter bar in the accounts screen), and open the Filter window.&lt;br /&gt;
#Switch to the By Subject Tab.&lt;br /&gt;
#Select the Email Groups Subject from the Subject drop down list.&lt;br /&gt;
#Select the Group you’d like to filter the list by in the first filter rule line.&lt;br /&gt;
#Mark the checkbox in right side of the rule to indicate that you want to filter based on the True value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:email groups04.jpg|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sending the Group Emails to your customers==&lt;br /&gt;
Once your accounts list has been filtered to only reflect the accounts that are part of a specific Email Group, you can continue to the next step by preparing the email you intend to send out. Using CommitCRM, you have 2 very powerful options that can send your group email out to your customers. Each method has its benefits, so the best way to choose the correct method is to know what kind of data will need to have merged from the CommitCRM database (if any) into the message. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Group Mail Method&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Internal CommitCRM Group Mail&lt;br /&gt;
| This method allows you to create a static email message that can be emailed to the accounts list you’ve filtered, or all your accounts if the list is not filtered. The static message would not include any referenced database information; however, this method is the most quick and convenient way to send out group emails to your customers. This method includes optional fields for the Subject field and Attachments and requires Microsoft® Outlook® to be installed and configured. &lt;br /&gt;
For more information see [[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]].&lt;br /&gt;
|-&lt;br /&gt;
|CommitCRM-MSWord Mail Merge &lt;br /&gt;
| This method allows you to create a static email template in MS Word, and to have that text populated with CommitCRM referenced account data. This data can be exported from anywhere in the CommitCRM database, and can be easily added to your template so that the message sent to each customer would include the data from the account that the email address came out of. This method is useful if your group email only needs database orientated information embedded in the message.&lt;br /&gt;
For more information see [[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Unsubscribing Your Customers==&lt;br /&gt;
Sometimes customers no longer require some or all of your email newsletters, and need to be removed from the mailing list in the easiest manner; adding a note in the email telling your customer to reply to the email requesting the removal of the subscription by just typing the word Unsubscribe.&lt;br /&gt;
&lt;br /&gt;
This way you can set up an MS Outlook rule that automatically files the email in a special MS Outlook folder to be processed by an employee manually in CommitCRM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Automatic Links To Remove A Subscription===&lt;br /&gt;
You can offer your customers the option to automatically remove an email group subscription by clicking a link within the email message HTML email. In order for this to work; you would need a Web Server that supports a server side scripting option such as PHP (used in the samples listed below) and the Commit Email Connector.&lt;br /&gt;
&lt;br /&gt;
Preparation for this type of function would involve setting up an XML template that receives the information from the link and automatically emails the xml template to the Commit Email Connector, using a PHP script that we will also create with you. Once the Commit Email Connector receives the XML message; the system will immediately apply the transaction in the XML to the CommitCRM database. In this case; the transaction would be rather simple: &lt;br /&gt;
* Step 1: Validate Transaction Authentication, using API Password.&lt;br /&gt;
* Step 2: Identify Customer using Customer RECID&lt;br /&gt;
* Step 3: Identify Email group to cancel subscription for&lt;br /&gt;
* Step 4: Update value to &amp;quot;False&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Please note''': this is an advanced option for users with experience with web servers and PHP (or similar) scripting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Preparation====&lt;br /&gt;
The way this is going to work is that the customer clicks a link automatically generated specially for that customer when you send an HTML Email Template. This is done by placing the CommitCRM Account Value (i.e. unique technical identifier) within the link that you're sending (Explained below). Within the link is the URL to the PHP script (explained below), with the Account RECID.&lt;br /&gt;
&lt;br /&gt;
The PHP script needs to take that parameter, and inserts it into a predefined XML template to be emailed to Commit Email Connector; which in turn applies the XML transaction on the CommitCRM database (this is all part of CommitCRM API by Email). Each XML script can only be used on 1 specific email group; so if you use multiple groups, you'll need to create a PHP script and a matching XML for each group. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====XML Script====&lt;br /&gt;
The sample below changes the value of an email group subscription to &amp;quot;False&amp;quot;; effectively cancelling the subscription, using only the RECID (Unique Account Identifier) and the email group name.            &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;youremail@yourdomain.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;the-predefined-api-password&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Removing an Email Subscription &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
 &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDRECID&amp;gt;{Insert_RECID_HERE}&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
   &amp;lt;***********&amp;gt;False&amp;lt;/***********&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes to the XML text below need to be made each time the transaction is sent to CommitCRM in order for the database to receive the information in the correct syntax; however, before getting to that, the XML template needs to be created as follows, in order to be hosted on the site and used by a PHP script as an XML processor. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Line Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''5'''&lt;br /&gt;
| Replace youremail@yourdomain.com with the email address you want the XML response to. After a successful, or failure, processing of the XML formatted email, Commit Email Connector will send a status update (again in XML textual format) to the specified email address. This can be used for auditing purposes.&lt;br /&gt;
|-&lt;br /&gt;
| '''6'''&lt;br /&gt;
| Replace the-predefined-api-password with your own API password.&lt;br /&gt;
Learn more about it [[API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29|here]]. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PHP Script====&lt;br /&gt;
Using PHP; you'll be able to retrieve the URL parameters, and insert them into the above mentioned XML script automatically; without user interaction. We have included a sample PHP script that can automatically insert the information from the URL directly into the XML template, to be automatically emailed to the CommitCRM Server. &lt;br /&gt;
&lt;br /&gt;
The following script can be used to cancel any email group subscription; since the URL parameters will have all the account and email group identification information required in order to complete the transaction. This means that you can use the following script in order to cancel any email group subscription for your customers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please Note:''' This script has been tested using PHP5; and may require the same version installed on the web server in order to work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//This script is meant for basic CommitCRM database manipulation. The samples included &lt;br /&gt;
//here can be adjusted to include different data in the transaction; more information on &lt;br /&gt;
//using XML can be found in this link: http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//================================================================================================&lt;br /&gt;
//INSTRUCTIONS: The following variables need to be adjusted in order to make the PHP script know&lt;br /&gt;
//how to communicate with Commit Email Connector. The following information will tell the script where&lt;br /&gt;
//to send the XML; and how to identify the source address; Please adjust the variables to your own &lt;br /&gt;
//preference.&lt;br /&gt;
&lt;br /&gt;
//Edit this variable to reflect the address you want the AI response sent to.&lt;br /&gt;
$responsemail = ''response@emailaddress.com';&lt;br /&gt;
//Edit this variable to reflect the API Password configured in ServerConfig.exe&lt;br /&gt;
$apipasswd = 'your_API_Passwd';&lt;br /&gt;
//Edit this variable to reflect the XML Email Destination:&lt;br /&gt;
$email_to = ''EmailConnector@yourbusiness.com';&lt;br /&gt;
//Edit this variable to reflect the XML Email Subject:&lt;br /&gt;
$subject = 'Remove Email Subscription';&lt;br /&gt;
//Edit this variable to reflect the XML source email address (Web Form ReplyTo)(Leave &amp;quot;From: &amp;quot; intact):&lt;br /&gt;
$replyto = 'From: Webform@emailaddress.com';&lt;br /&gt;
//================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Constant variables - These variables will serve to identify the CommitCRM Account and Email Group&lt;br /&gt;
//to cancel. Do not edit below this comment!&lt;br /&gt;
$recoid = $_GET['recid'];&lt;br /&gt;
$emailgroup = $_GET['group'];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//XML Template - Do not alter!&lt;br /&gt;
$xml = '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;' . $responsemail . '&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;' . $apipasswd . '&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Email Group Cancellation&amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
   &amp;lt;RecordData&amp;gt;&lt;br /&gt;
    &amp;lt;FLDCRDRECID&amp;gt;' . $recoid . '&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
    &amp;lt;' . $emailgroup . '&amp;gt;False&amp;lt;/' . $emailgroup . '&amp;gt;&lt;br /&gt;
   &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
//This command will email the XML.&lt;br /&gt;
mail($email_to, $subject, $xml, $header);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//This command will give an on screen confirmation to the user.&lt;br /&gt;
echo 'Your request has been sent for processing. Thank You.';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Creating Your Link With CommitCRM Templates====&lt;br /&gt;
When you create your newsletter you can use the email template you send from within CommitCRM or MS Word® Mail Merge to create a unique links for each customer that already include the account RECID parameter and the group identifier; so that your customers can easily click the link to trigger the XML to be applied with that accounts RECID.&lt;br /&gt;
&lt;br /&gt;
The 2 variables in the link need to be gathered as follows:&lt;br /&gt;
* Group - Right click the email group checkbox field that represents the group you want the link to cancel, and select Field Settings &amp;gt; Advanced &amp;gt; Tech. Rec ID. This value will need to be manually updated in the link&lt;br /&gt;
* Recid - Each customer has a Record Identifier that needs to be passed in order for the system to recognize the account that's canceling the subscription. This RECID is available for each account from the Accounts &amp;gt; Notes &amp;gt; Right Click the Record ID button.&lt;br /&gt;
&lt;br /&gt;
When inserting your link into the template; make sure to use the following syntax:&lt;br /&gt;
 http://www.YourWebServer.com/script.php?group={email_group_Tech_Rec_ID}&amp;amp;recid={Account_Rec_ID}&lt;br /&gt;
&lt;br /&gt;
'''Example: '''&lt;br /&gt;
 http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=CRDCO94HUDF8JE06KGTG&lt;br /&gt;
&lt;br /&gt;
If you use [[Email_Templates|Email Templates]] or MS Word® Mail Merge to generate your news letters; then you can have the Account Record Identifier automatically added into each link sent to each customer within the newsletter; here's an example of how to set this in an email template:&lt;br /&gt;
 http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=&amp;lt;CMTLBLDATA_FLDCRDRECID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Field_Customization#Adding_New_Data_Tabs_to_the_Display|Create a new tab]]&lt;br /&gt;
*[[Field_Customization#Creating_New_Data_Fields_to_the_Display|Create new data fields]]&lt;br /&gt;
*[[Import_Accounts|Importing new accounts]]&lt;br /&gt;
*[[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]]&lt;br /&gt;
*[[API_Code_Samples#XML_samples|API Code Samples]]&lt;br /&gt;
*[[Email_Templates|Email Templates]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Emailing your customers using Mail Merge]]&lt;br /&gt;
*[http://www.php.net/manual/en/index.php PHP5 Manual]&lt;br /&gt;
*[http://devzone.zend.com/article/2387 XML and PHP5 Tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Email]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3948</id>
		<title>KB: Managing Group Email Subscriptions</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=KB:_Managing_Group_Email_Subscriptions&amp;diff=3948"/>
		<updated>2010-03-09T18:54:13Z</updated>

		<summary type="html">&lt;p&gt;Reno: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Sometimes we like to send group emails out to customers regarding promotions, season’s greetings, new services, and new products. Since not all customers are interested in receiving such messages, business go to great lengths to keep records of which customers want to receive which types of email messages.&lt;br /&gt;
&lt;br /&gt;
This article describes how you can use CommitCRM to create your own data tab that manages your email groups; whether a customer is subscribed to that group, and sending out the email to those groups.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Preparing the Database Architecture for Additional Data==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Creating a Tab for Email Groups===&lt;br /&gt;
Before we can begin with the customizations, it is best to run a CommitCRM backup process, to make sure that you have a restore point to before you’ve customized the system. Only after the system has been backed up, create the fields that will contain the data about our email groups, we need to [[Field_Customization#Adding_New_Data_Tabs_to_the_Display|create a new tab]] that will house the data fields, while still keeping them separate from the rest of your CommitCRM data. &lt;br /&gt;
*We’ll need to create the new tab within the Accounts screen, and call the tab we’re creating Email Groups.&lt;br /&gt;
Once we have created the Email Groups tab, we can move on to the next step: Creating Data Fields for Our Email Groups.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups01.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Creating Data Fields for Our Email Groups===&lt;br /&gt;
Once we have a tab that can house the user-defined fields we intend to create in this section, we can go ahead and [[Field_Customization#Creating_New_Data_Fields_to_the_Display|create new data fields]] which need to hold only 2 values each; True and False will be fine, so we’re going to choose to create Yes or No fields (Checkbox Fields). &lt;br /&gt;
&lt;br /&gt;
During the creation of the first field, you’ll need to create a subject group for the tab you’re creating. Field Subject groups allow you to easily group the fields you create so that you can filter your lists by this subject later, in order to be able to select from a dedicated list of these fields. We’ll get in to that later in this article.&lt;br /&gt;
&lt;br /&gt;
#Go into Field Management. (Accounts Menu &amp;gt; Tools &amp;gt; Tab Management)&lt;br /&gt;
#Select ‘Add New Fields’ to Tab.&lt;br /&gt;
#Create a new Subject Group called ‘Email Groups’, select it and click Next.&lt;br /&gt;
#Give your group a name and select ‘Yes or No’ in the Field Type.&lt;br /&gt;
#Place your new field where you want to see it in the tab.&lt;br /&gt;
#Repeat the creation process for each field you want to create (each field you create represents a group and whether the account is included in this group or not).&lt;br /&gt;
##Add the fields you’re creating to the Email Groups Subject that you already made.&lt;br /&gt;
#Close the Field Management window in order to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[File:email groups02.jpg|center]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:email groups03.jpg|640 px|center]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscribing Your Accounts to Email Groups==&lt;br /&gt;
At this point, you’ve already created an Email Groups tab with checkboxes representing each email group you’re managing. The next step is to subscribe your accounts to relevant by marking fields that they want to be subscribed to. This needs to be done separately for each account; however, you can have this field updated while [[Import_Accounts|importing new accounts]] from external files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Filtering Your List By These Fields==&lt;br /&gt;
Before you can send out the group emails, you need to filter the accounts list according to the group you want to email to, so that the system knows which accounts you want to send the group email message to. Filtering the list is a rather simple task to perform since we’ve added all the fields to the same Field Subject Category (i.e. ‘Email Groups’). Once you’ve filtered your account list to only include the accounts in a specific email group, you can go on to sending the email message.&lt;br /&gt;
&lt;br /&gt;
To filter your list by one of the Email Groups you’re managing, please follow these steps.&lt;br /&gt;
&lt;br /&gt;
#Activate the Advanced Filter option (Mark the Filter checkbox in the blue filter bar in the accounts screen), and open the Filter window.&lt;br /&gt;
#Switch to the By Subject Tab.&lt;br /&gt;
#Select the Email Groups Subject from the Subject drop down list.&lt;br /&gt;
#Select the Group you’d like to filter the list by in the first filter rule line.&lt;br /&gt;
#Mark the checkbox in right side of the rule to indicate that you want to filter based on the True value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:email groups04.jpg|center]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sending the Group Emails to your customers==&lt;br /&gt;
Once your accounts list has been filtered to only reflect the accounts that are part of a specific Email Group, you can continue to the next step by preparing the email you intend to send out. Using CommitCRM, you have 2 very powerful options that can send your group email out to your customers. Each method has its benefits, so the best way to choose the correct method is to know what kind of data will need to have merged from the CommitCRM database (if any) into the message. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Group Mail Method&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Internal CommitCRM Group Mail&lt;br /&gt;
| This method allows you to create a static email message that can be emailed to the accounts list you’ve filtered, or all your accounts if the list is not filtered. The static message would not include any referenced database information; however, this method is the most quick and convenient way to send out group emails to your customers. This method includes optional fields for the Subject field and Attachments and requires Microsoft® Outlook® to be installed and configured. &lt;br /&gt;
For more information see [[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]].&lt;br /&gt;
|-&lt;br /&gt;
|CommitCRM-MSWord Mail Merge &lt;br /&gt;
| This method allows you to create a static email template in MS Word, and to have that text populated with CommitCRM referenced account data. This data can be exported from anywhere in the CommitCRM database, and can be easily added to your template so that the message sent to each customer would include the data from the account that the email address came out of. This method is useful if your group email only needs database orientated information embedded in the message.&lt;br /&gt;
For more information see [[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Unsubscribing Your Customers==&lt;br /&gt;
Sometimes customers no longer require some or all of your email newsletters, and need to be removed from the mailing list in the easiest manner; adding a note in the email telling your customer to reply to the email requesting the removal of the subscription by just typing the word Unsubscribe.&lt;br /&gt;
&lt;br /&gt;
This way you can set up an MS Outlook rule that automatically files the email in a special MS Outlook folder to be processed by an employee manually in CommitCRM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Automatic Links To Remove A Subscription===&lt;br /&gt;
You can offer your customers the option to automatically remove an email group subscription by clicking a link within the email message HTML email. In order for this to work; you would need a Web Server that supports a server side scripting option such as PHP (used in the samples listed below) and the Commit Email Connector.&lt;br /&gt;
&lt;br /&gt;
Preparation for this type of function would involve setting up an XML template that receives the information from the link and automatically emails the xml template to the Commit Email Connector, using a PHP script that we will also create with you. Once the Commit Email Connector receives the XML message; the system will immediately apply the transaction in the XML to the CommitCRM database. In this case; the transaction would be rather simple: &lt;br /&gt;
* Step 1: Validate Transaction Authentication, using API Password.&lt;br /&gt;
* Step 2: Identify Customer using Customer RECID&lt;br /&gt;
* Step 3: Identify Email group to cancel subscription for&lt;br /&gt;
* Step 4: Update value to &amp;quot;False&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Please note''': this is an advanced option for users with experience with web servers and PHP (or similar) scripting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Preparation====&lt;br /&gt;
The way this is going to work is that the customer clicks a link automatically generated specially for that customer when you send an HTML Email Template. This is done by placing the CommitCRM Account Value (i.e. unique technical identifier) within the link that you're sending (Explained below). Within the link is the URL to the PHP script (explained below), with the Account RECID.&lt;br /&gt;
&lt;br /&gt;
The PHP script needs to take that parameter, and inserts it into a predefined XML template to be emailed to Commit Email Connector; which in turn applies the XML transaction on the CommitCRM database (this is all part of CommitCRM API by Email). Each XML script can only be used on 1 specific email group; so if you use multiple groups, you'll need to create a PHP script and a matching XML for each group. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====XML Script====&lt;br /&gt;
The sample below changes the value of an email group subscription to &amp;quot;False&amp;quot;; effectively cancelling the subscription, using only the RECID (Unique Account Identifier) and the email group name.            &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;youremail@yourdomain.com&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;the-predefined-api-password&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Removing an Email Subscription &lt;br /&gt;
 &amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
 &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
  &amp;lt;RecordData&amp;gt;&lt;br /&gt;
   &amp;lt;FLDCRDRECID&amp;gt;{Insert_RECID_HERE}&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
   &amp;lt;***********&amp;gt;False&amp;lt;/***********&amp;gt;&lt;br /&gt;
  &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes to the XML text below need to be made each time the transaction is sent to CommitCRM in order for the database to receive the information in the correct syntax; however, before getting to that, the XML template needs to be created as follows, in order to be hosted on the site and used by a PHP script as an XML processor. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Line Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''5'''&lt;br /&gt;
| Replace youremail@yourdomain.com with the email address you want the XML response to. After a successful, or failure, processing of the XML formatted email, Commit Email Connector will send a status update (again in XML textual format) to the specified email address. This can be used for auditing purposes.&lt;br /&gt;
|-&lt;br /&gt;
| '''6'''&lt;br /&gt;
| Replace the-predefined-api-password with your own API password.&lt;br /&gt;
Learn more about it [[ API_by_Email_and_MSP_Integration#API_by_Email_.28XML_Formatted_Emails.29here]]. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====PHP Script====&lt;br /&gt;
Using PHP; you'll be able to retrieve the URL parameters, and insert them into the above mentioned XML script automatically; without user interaction. We have included a sample PHP script that can automatically insert the information from the URL directly into the XML template, to be automatically emailed to the CommitCRM Server. &lt;br /&gt;
&lt;br /&gt;
The following script can be used to cancel any email group subscription; since the URL parameters will have all the account and email group identification information required in order to complete the transaction. This means that you can use the following script in order to cancel any email group subscription for your customers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please Note:''' This script has been tested using PHP5; and may require the same version installed on the web server in order to work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//This script is meant for basic CommitCRM database manipulation. The samples included &lt;br /&gt;
//here can be adjusted to include different data in the transaction; more information on &lt;br /&gt;
//using XML can be found in this link: http://www.commitcrm.com/wiki/API_Code_Samples#XML_samples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//================================================================================================&lt;br /&gt;
//INSTRUCTIONS: The following variables need to be adjusted in order to make the PHP script know&lt;br /&gt;
//how to communicate with Commit Email Connector. The following information will tell the script where&lt;br /&gt;
//to send the XML; and how to identify the source address; Please adjust the variables to your own &lt;br /&gt;
//preference.&lt;br /&gt;
&lt;br /&gt;
//Edit this variable to reflect the address you want the AI response sent to.&lt;br /&gt;
$responsemail = ''response@emailaddress.com';&lt;br /&gt;
//Edit this variable to reflect the API Password configured in ServerConfig.exe&lt;br /&gt;
$apipasswd = 'your_API_Passwd';&lt;br /&gt;
//Edit this variable to reflect the XML Email Destination:&lt;br /&gt;
$email_to = ''EmailConnector@yourbusiness.com';&lt;br /&gt;
//Edit this variable to reflect the XML Email Subject:&lt;br /&gt;
$subject = 'Remove Email Subscription';&lt;br /&gt;
//Edit this variable to reflect the XML source email address (Web Form ReplyTo)(Leave &amp;quot;From: &amp;quot; intact):&lt;br /&gt;
$replyto = 'From: Webform@emailaddress.com';&lt;br /&gt;
//================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Constant variables - These variables will serve to identify the CommitCRM Account and Email Group&lt;br /&gt;
//to cancel. Do not edit below this comment!&lt;br /&gt;
$recoid = $_GET['recid'];&lt;br /&gt;
$emailgroup = $_GET['group'];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//XML Template - Do not alter!&lt;br /&gt;
$xml = '&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?commitcrmxml version = &amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CommitCRMTransaction&amp;gt;&lt;br /&gt;
  &amp;lt;ExternalApplicationName&amp;gt;EmailGroups&amp;lt;/ExternalApplicationName&amp;gt;&lt;br /&gt;
  &amp;lt;SendResponseToEmail&amp;gt;' . $responsemail . '&amp;lt;/SendResponseToEmail&amp;gt;&lt;br /&gt;
  &amp;lt;Password&amp;gt;' . $apipasswd . '&amp;lt;/Password&amp;gt;&lt;br /&gt;
  &amp;lt;ReturnTransactionID&amp;gt;Email Group Cancellation&amp;lt;/ReturnTransactionID&amp;gt;&lt;br /&gt;
  &amp;lt;DataKind&amp;gt;ACCOUNT&amp;lt;/DataKind&amp;gt;&lt;br /&gt;
   &amp;lt;RecordData&amp;gt;&lt;br /&gt;
    &amp;lt;FLDCRDRECID&amp;gt;' . $recoid . '&amp;lt;/FLDCRDRECID&amp;gt;&lt;br /&gt;
    &amp;lt;' . $emailgroup . '&amp;gt;False&amp;lt;/' . $emailgroup . '&amp;gt;&lt;br /&gt;
   &amp;lt;/RecordData&amp;gt;&lt;br /&gt;
 &amp;lt;/CommitCRMTransaction&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
//This command will email the XML.&lt;br /&gt;
mail($email_to, $subject, $xml, $header);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//This command will give an on screen confirmation to the user.&lt;br /&gt;
echo 'Your request has been sent for processing. Thank You.';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Creating Your Link With CommitCRM Templates====&lt;br /&gt;
When you create your newsletter you can use the email template you send from within CommitCRM or MS Word® Mail Merge to create a unique links for each customer that already include the account RECID parameter and the group identifier; so that your customers can easily click the link to trigger the XML to be applied with that accounts RECID.&lt;br /&gt;
&lt;br /&gt;
The 2 variables in the link need to be gathered as follows:&lt;br /&gt;
* Group - Right click the email group checkbox field that represents the group you want the link to cancel, and select Field Settings &amp;gt; Advanced &amp;gt; Tech. Rec ID. This value will need to be manually updated in the link&lt;br /&gt;
* Recid - Each customer has a Record Identifier that needs to be passed in order for the system to recognize the account that's canceling the subscription. This RECID is available for each account from the Accounts &amp;gt; Notes &amp;gt; Right Click the Record ID button.&lt;br /&gt;
&lt;br /&gt;
When inserting your link into the template; make sure to use the following syntax:&lt;br /&gt;
 http://www.YourWebServer.com/script.php?group={email_group_Tech_Rec_ID}&amp;amp;recid={Account_Rec_ID}&lt;br /&gt;
&lt;br /&gt;
'''Example: '''&lt;br /&gt;
 http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=CRDCO94HUDF8JE06KGTG&lt;br /&gt;
&lt;br /&gt;
If you use [[Email_Templates|Email Templates]] or MS Word® Mail Merge to generate your news letters; then you can have the Account Record Identifier automatically added into each link sent to each customer within the newsletter; here's an example of how to set this in an email template:&lt;br /&gt;
 http://127.0.0.1/script.php?group=FLDUSRCRD2Z3U98RAJNY&amp;amp;recid=&amp;lt;CMTLBLDATA_FLDCRDRECID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Field_Customization#Adding_New_Data_Tabs_to_the_Display|Create a new tab]]&lt;br /&gt;
*[[Field_Customization#Creating_New_Data_Fields_to_the_Display|Create new data fields]]&lt;br /&gt;
*[[Import_Accounts|Importing new accounts]]&lt;br /&gt;
*[[KB:_Sending_Group_Emails_to_your_CommitCRM_Accounts|CommitCRM Group Emails]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Commit Mail Merge]]&lt;br /&gt;
*[[API_Code_Samples#XML_samples|API Code Samples]]&lt;br /&gt;
*[[Email_Templates|Email Templates]]&lt;br /&gt;
*[[KB:_Emailing_your_customers_using_Mail_Merge|Emailing your customers using Mail Merge]]&lt;br /&gt;
*[http://www.php.net/manual/en/index.php PHP5 Manual]&lt;br /&gt;
*[http://devzone.zend.com/article/2387 XML and PHP5 Tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:KB|Email]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Online_Services&amp;diff=3947</id>
		<title>Online Services</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Online_Services&amp;diff=3947"/>
		<updated>2010-02-25T16:55:50Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Displaying Products Warranties Online */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{integration}}&lt;br /&gt;
&lt;br /&gt;
Commit's '''Online Services''' is a powerful feature which allows you to link to web sites (URL) and activate the web application using parameters taken from CommitCRM.&lt;br /&gt;
 &lt;br /&gt;
You can define as many online Services as you wish. This feature is available for the following entities: Accounts, Tickets, Assets, Items, Contracts, Knowledge Base Articles and Opportunities.&lt;br /&gt;
*Accounts window&lt;br /&gt;
*Tickets window&lt;br /&gt;
*Dispatcher window&lt;br /&gt;
*Asset window&lt;br /&gt;
*Items window&lt;br /&gt;
*Contracts window&lt;br /&gt;
*Opportunities window&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==What can I use Online Services for?==&lt;br /&gt;
Wouldn't you like your technicians to be able to find an address for a scheduled visit with just a single click? You can do this by defining an Online Service which will open maps site (e.g. Google Maps, Yahoo! Maps etc.) and the map will open automatically on the address of the Account or Contact stored in CommitCRM.&lt;br /&gt;
 &lt;br /&gt;
This powerful tool allows you to define any URL and open it with parameters. You can basically do with it whatever you want.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Adding new Online Services==&lt;br /&gt;
To define a new Online Service, Open the Online Services Management window from Settings &amp;gt; Online Services. or click the Online Services icon from the Accounts window toolbar. Click the New button to add a new Online Service and enter the following parameters:&lt;br /&gt;
 &lt;br /&gt;
*'''Name''' - The name of the service which will be displayed in the Online Services list and menus throughout the system, for example, &amp;quot;Google Maps&amp;quot;.&lt;br /&gt;
*'''Base URL''' - The URL you wish to open in order to use the Service. This is the address of the main service (before passing any parameters to it), for example http://maps.google.com/maps.&lt;br /&gt;
*'''URL Parameters''' - Parameters which will be appended to the URL in order to create specific queries when opening the URL. These parameters can be CommitCRM Account database fields which will be taken and filled from CommitCRM when clicking the Online Service.&lt;br /&gt;
&lt;br /&gt;
See the Tips and Tricks for examples of useful Online Services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Activating Online Services==&lt;br /&gt;
Online Services can be activated from various places in CommitCRM including:&lt;br /&gt;
*The '''Account, Ticket, Asset, Item, Opportunity, Contract, Knowledge Base Article windows''' - click the Online Services icon to activate the service for the selected account&lt;br /&gt;
*The '''Dispatcher Windows''' - right-click on a selected Ticket to run any Online Service for the Ticket's Account or Contact (such as displaying a map).&lt;br /&gt;
*The '''Calendar / Scheduled Appointments''' views - right-click above an Appointment and select Online Services.&lt;br /&gt;
*The '''secondary Contacts tab''' - select a Contact, right-click and select Online Services&lt;br /&gt;
*'''Selection field''' - anywhere where the entity selection field is displayed - right-click and select Online Services, activate Online Services.&lt;br /&gt;
*'''Secondary Contact selection''' field - right-click and select Online Services.&lt;br /&gt;
*The '''Relations tab under Account''' - right-click and select Online Services.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Possible Usage==&lt;br /&gt;
*'''Online Services and Assets''' – Access your MSP product online and pass the Asset ID to display its details from your external system&lt;br /&gt;
*'''Online Services and Items''' – Search for better prices for items by passing specific item information directly from within CommitCRM.&lt;br /&gt;
*'''Online Services for Assets''' – Search for a specific product review by its hardware serial number.&lt;br /&gt;
*'''Online Services for Tickets''' – Search in online knowledge bases for solutions based on the ticket description&lt;br /&gt;
*'''Selection field''' - anywhere where the entity selection field is displayed - right-click and select Online Services, activate Online Services.&lt;br /&gt;
 &lt;br /&gt;
==Using Lookup Fields==&lt;br /&gt;
Lookup Fields can be used in order to pass parameters from an entity which is linked to the entity you are currently using. For example, you can create an Online Service for a Ticket, and pass the address of the account which is linked to the ticket.&lt;br /&gt;
&lt;br /&gt;
This way you can define an Online Service for the Ticket, which will be activated from the Ticket window and will be using Account information.&lt;br /&gt;
&lt;br /&gt;
Lookup Field syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CMTLBLDATA_FLDTKTCARDID_FLDCRDADDRESS1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
CMTLBLDATA_FLDTKTCARDID is the pointer to the linked account&lt;br /&gt;
FLDCRDADDRESS1 is the account's Address field&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Tips &amp;amp; Tricks (Samples)==&lt;br /&gt;
Following are examples of possible Online Services configurations.&lt;br /&gt;
These examples are intended to explain the use of Online Services only.&lt;br /&gt;
 &lt;br /&gt;
Disclaimer - Before defining your Online Services you should read the terms of use for each web site you want to access. The examples below are displayed to explain how to use online services and how to pass parameters.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Dialing via Skype===&lt;br /&gt;
Requires a '''Telephone Number (E.g. 0012125551234)''' or '''Skype Username''' in the '''Accounts&amp;gt;General&amp;gt;Phone1/2''' field. &amp;lt;br&amp;gt;&lt;br /&gt;
Please create separate services each phone number field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Dial Via Skype&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;callto://&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDPHONE1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;CMTLBLDATA_FLDCRDPHONE2&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Online Account Research===&lt;br /&gt;
These services research your Customers information &amp;amp; maps, by referencing different fields that you enter in the database.&lt;br /&gt;
&lt;br /&gt;
====Displaying Address by Domain====&lt;br /&gt;
Requires a '''WebAddress''' in the '''Accounts&amp;gt;Details&amp;gt;Web''' field&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Get address from Customer Domain&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://api.hostip.info/get_html.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?ip=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&amp;amp;position=true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Displaying Online Maps====&lt;br /&gt;
'''Google Maps''' - Opens Google Maps and displays the Account/Contact address.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Google Maps&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://maps.google.com/maps&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?f=q&amp;amp;hl=en&amp;amp;q=&amp;lt;CMTLBLDATA_FLDCRDADDRESS1&amp;gt;+&amp;lt;CMTLBLDATA_FLDCRDCITY&amp;gt;+&amp;lt;CMTLBLDATA_FLDCRDSTATE&amp;gt;+&amp;lt;CMTLBLDATA_FLDCRDZIP&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''MapQuest''' - Opens MapQuest Map and displays the Account/Contact address.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| MapQuest&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.mapquest.com/maps&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| /map.adp?searchtype=address&amp;amp;country=&amp;lt;CMTLBLDATA_FLDCRDCOUNTRY&amp;gt;&amp;amp;addtohistory=&amp;amp;searchtab=home&amp;amp;formtype=address&amp;amp;popflag=0&amp;amp;latitude=&amp;amp;longitude=&amp;amp;name=&amp;amp;phone=&amp;amp;level=&amp;amp;cat=&amp;amp;address=&amp;amp;city=&amp;lt;CMTLBLDATA_FLDCRDCITY&amp;gt;&amp;amp;state=&amp;lt;CMTLBLDATA_FLDCRDSTATE&amp;gt;&amp;amp;zipcode=&amp;lt;CMTLBLDATA_FLDCRDZIP&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Yahoo! Maps''' - Opens Yahoo! Map and displays the Account/Contact address.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Yahoo! Maps&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://maps.yahoo.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| /maps_result?addr=&amp;lt;CMTLBLDATA_FLDCRDADDRESS1&amp;gt;&amp;amp;csz=&amp;lt;CMTLBLDATA_FLDCRDCITY&amp;gt;+&amp;lt;CMTLBLDATA_FLDCRDCOUNTRY&amp;gt;&amp;amp;country=&amp;lt;CMTLBLDATA_FLDCRDSTATE&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Geo IP Locator''' - Locates IP addresses on a map (Usually shows location of the ISP)&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Geo IP Locator&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.geoiptool.com/en/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?IP=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Finding Account Information====&lt;br /&gt;
'''Google Company''' - Opens Google and searches for the Account Company Name.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Google Company&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.google.com/search&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?q=&amp;lt;CMTLBLDATA_FLDCRDCOMPANY&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Google Contact''' - Opens Google and searches for the Contact Name.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Google Contact&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.google.com/search&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?q=&amp;lt;CMTLBLDATA_FLDCRDCONTACT&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Validate Email''' - Runs silent queries to check if an email address exists.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Validate Email&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=validate&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDEMAIL1&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Displaying Domain WHOIS====&lt;br /&gt;
&lt;br /&gt;
'''Network Solutions Domain WHOIS''' - WHOIS domain registration information by Network Solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt; Domain must be stripped from URL (without &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Contributed by DavidW'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Accounts&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Domain WHOIS (NetworkSolutions)&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.networksolutions.com/whois-search/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Domain Tools Domain WHOIS''' - WHOIS domain registration information by Domain Tools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt; Domain must be stripped from URL (without &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Contributed by ajgyomber'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Accounts&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Domain WHOIS (DomainTools)&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://whois.domaintools.com/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DNSstuff Domain WHOIS''' - WHOIS domain registration information by DNSstuff.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt; Domain must be stripped from URL (without &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Accounts&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Domain WHOIS (DNSstuff)&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.dnsstuff.com/dnslite/?r=u2r&amp;amp;domain=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Simple Domain Lookup''' - Displays Country, State, and Domain Alias&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Accounts&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Simple Domain Lookup&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=lookup&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Network Diagnostics===&lt;br /&gt;
These tools are mostly accessable from the command line in any Linux system, but we thought that it'd be useful to be able to run these tests for your customers, all from the Online Services menu in CommitCRM.&lt;br /&gt;
&lt;br /&gt;
====Network Testing Tools====&lt;br /&gt;
'''Ping''' - Performs an automatic ping to your customer web address from a remote server.&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Ping&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=ping&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Trace Route''' - Performs an IP TraceRoute process to your customers website.&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Trace Route&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=trace&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''WebSite Up/Down?''' - Checks if your customer website is operational.&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Trace Route&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.downforeveryoneorjustme.com/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DNS WWW &amp;amp; MailServer Record Retrieval====&lt;br /&gt;
'''DNS Record Retrieval''' - Displays DNS routing &amp;amp; licensing information based on a domain.&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| DNS Record Retrieval&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=dnsrec&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Domain DNS WWW MailSVR Query''' - Displays Verbose Domain based Info&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Domain DNS WWW MailSVR Query&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.checkdns.net/quickcheck.aspx&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?domain=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&amp;amp;detailed=1&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''WebServer Info''' - Displays version &amp;amp; flavor info on your customer website.&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| WebServer Info&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=httphead&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt; &lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Domain Express Sumary''' - shows simple location and alias info for an IP address.&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Domain Express Summary&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=express&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt; &lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Email IP Blacklist''' -  Queries main spam monitoring servers to see if the IP has been blacklisted.&amp;lt;br&amp;gt;&lt;br /&gt;
This service requires a WebAddress in the '''Accounts&amp;gt;Details&amp;gt;Web''' field.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Email IP Blacklist&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://network-tools.com/default.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?prog=sbl&amp;amp;host=&amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt; &lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ticket Research===&lt;br /&gt;
These Online Services et data from the internet, and show you the results from that process. these services need to be created for the '''Tickets''' screen.&lt;br /&gt;
&lt;br /&gt;
====Finding Ticket Description in Google====&lt;br /&gt;
'''Google Ticket'''  - Opens Google and searches for the Ticket description.&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Google Search for Ticket Description&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.google.com/search&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?q=&amp;lt;CMTLBLDATA_FLDTKTPROBLEM&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Advanced Ticket Reference====&lt;br /&gt;
'''EventID.Net Reference'''  - References an Windows Alert Event ID number.&amp;lt;br&amp;gt;&lt;br /&gt;
This Service needs the '''Event Source''' copied into the ticket description field, and the '''Event ID number''' in '''Details &amp;gt; Cause'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| EventID.Net Reference&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.eventid.net/display.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?eventid=&amp;lt;CMTLBLDATA_FLDTKTCAUSE&amp;gt;&amp;amp;source=&amp;lt;CMTLBLDATA_FLDTKTPROBLEM&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TechNet Reference'''  - References an error with Micorsoft Technet.&amp;lt;br&amp;gt;&lt;br /&gt;
This Service searches TechNet for the '''ticket description'''.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Technet Reference&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://social.technet.microsoft.com/Search/en-US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?query=&amp;lt;CMTLBLDATA_FLDTKTPROBLEM&amp;gt;&amp;amp;ac=8 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Finding Account Address From Ticket (using [[Commit Online Services#Using Lookup Fields|Lookup Field]]) ====&lt;br /&gt;
'''Google Address From Ticket'''  - Opens Google and searches for the Address of the Account which is linked to the Ticket.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Google Search for Ticket's Account Address&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://maps.google.com/maps&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?f=q&amp;amp;hl=en&amp;amp;q=&amp;lt;CMTLBLDATA_FLDTKTCARDID_FLDCRDADDRESS1&amp;gt;+&amp;lt;CMTLBLDATA_FLDTKTCARDID_FLDCRDCITY&amp;gt;+&amp;lt;CMTLBLDATA_FLDTKTCARDID_FLDCRDSTATE&amp;gt;+&amp;lt;CMTLBLDATA_FLDTKTCARDID_FLDCRDZIP&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Displaying Products Warranties Online===&lt;br /&gt;
'''IBM/Lenovo Warranty Lookup''' - Displays IBM/Lenovo products warranty expiration dates, using the products '''Type Number (in Assets &amp;gt; Details &amp;gt; Field2)''' and '''Serial Number (in Assets &amp;gt; Details &amp;gt; Field5)'''.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| IBM/Lenovo Warranty Lookup&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www-307.ibm.com/pc/support/site.wss/warrantyLookup.do&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?type=&amp;lt;CMTLBLDATA_FLDASTUSER2&amp;gt;&amp;amp;serial=&amp;lt;CMTLBLDATA_FLDASTUSER5&amp;gt;&amp;amp;country=897&amp;amp;iws=off&amp;amp;sitestyle=Lenovo&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''HP Warranty Lookup''' - Displays HP products warranty expiration dates, using the products number and the products serial number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt; Product Number goes into Plate# field (&amp;lt;CMTLBLDATA_FLDASTUSER1&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Contributed by Easy I.T'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| HP Warranty Lookup&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://h20000.www2.hp.com/bizsupport/TechSupport/WarrantyResults.jsp?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| lang=en&amp;amp;cc=us&amp;amp;prodSeriesId=454811&amp;amp;prodTypeId=12454&amp;amp;sn=&amp;lt;CMTLBLDATA_FLDASTSERIALNO&amp;gt;&amp;amp;pn=&amp;lt;CMTLBLDATA_FLDASTUSER1&amp;gt;&amp;amp;country=US&amp;amp;nickname=&amp;amp;find=Display+Warranty+Information+%C2%BB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DELL Service Contracts and Warranties''' - Displays Dell products warranty expiration dates, using the service tag number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt; Customize a Field for Service Tag or use existing field. In this sample we will use Field3 as custumized Service Tag Field&lt;br /&gt;
&lt;br /&gt;
'''Contributed by JoshuaB'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Dell Warranty Check&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?c=us&amp;amp;l=en&amp;amp;s=gen&amp;amp;servicetag=&amp;lt;CMTLBLDATA_FLDASTUSER3&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Displaying Online Work Orders Status===&lt;br /&gt;
'''Work Orders Status Check''' - Track your orders statuses in &amp;lt;nowiki&amp;gt;onforce.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt; Set Field1 to order number or change the parameter (&amp;lt;CMTLBLDATA_FLDTKTUSER1&amp;gt;) to a different field.&lt;br /&gt;
&lt;br /&gt;
'''Contributed by secion8'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Tickets&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Work Orders Status (onforce.com)&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.onforce.com/?action=pcc_work_order_view&amp;amp;id=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDTKTUSER1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===N-able™ N-central™===&lt;br /&gt;
&lt;br /&gt;
'''Show Account and Asset information directly in N-central.''' &lt;br /&gt;
&lt;br /&gt;
'''Contributed by ajgyomber'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt; You'll need to replace &amp;quot;server.n-able.com&amp;quot;, &amp;quot;email@domain.com&amp;quot; and &amp;quot;your_actual_password&amp;quot; with your actual information.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Accounts&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| N-central Dashboard&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://server.n-able.com/deepLinkAction.do&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?method=defaultDashboard&amp;amp;username=email@domain.com&amp;amp;password=your_actual_password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| N-central Device Details&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://server.n-able.com/deepLinkAction.do&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?method=deviceDetails&amp;amp;username=email@domain.com&amp;amp;password=your_actual_password&amp;amp;customerID=&amp;lt;CMTLBLDATA_FLDASTACCRECID_FLDCRDCARDID3&amp;gt;&amp;amp;deviceID=&amp;lt;CMTLBLDATA_FLDASTUSER1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| N-central Device Services&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://server.n-able.com/deepLinkAction.do&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?method=deviceService&amp;amp;username=email@domain.com&amp;amp;password=your_actual_password&amp;amp;customerID=&amp;lt;CMTLBLDATA_FLDASTACCRECID_FLDCRDCARDID3&amp;gt;&amp;amp;deviceID=&amp;lt;CMTLBLDATA_FLDASTUSER1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Assets&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| N-central Launch Remote Control&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://server.n-able.com/deepLinkAction.do&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?method=deviceRC&amp;amp;username=email@domain.com&amp;amp;password=your_actual_password&amp;amp;customerID=&amp;lt;CMTLBLDATA_FLDASTACCRECID_FLDCRDCARDID3&amp;gt;&amp;amp;deviceID=&amp;lt;CMTLBLDATA_FLDASTUSER1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameters&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| Data Source&lt;br /&gt;
| Accounts&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| N-central NOC View&lt;br /&gt;
|-&lt;br /&gt;
| Base URL&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://server.n-able.com/deepLinkAction.do&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| URL Parameters&lt;br /&gt;
| ?method=nocView&amp;amp;username=email@domain.com&amp;amp;password =your_actual_password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Parameters list==&lt;br /&gt;
&lt;br /&gt;
===Parameters List for Accounts===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field Name&lt;br /&gt;
! Parameter Name to Use &lt;br /&gt;
|-&lt;br /&gt;
| Account Number&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDCRDCARDID2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Address: City&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDCITY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Address: Country&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDCOUNTRY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Address: Line1&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDCRDADDRESS1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line2&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDCRDADDRESS2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line3&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDCRDADDRESS3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Address: State&lt;br /&gt;
| &amp;lt;CMTLBLDATA_FLDCRDSTATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Address: ZIP Code&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDCRDZIP&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Assistant&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDCRDASSISTANT&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Birthday&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDBIRTHDAY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Company name&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDCOMPANY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Contact: First &amp;amp; Last Name&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDCONTACT&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Dear&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDDEAR&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Department&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDDEPARTMENT&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   E-Mail Address 1&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDEMAIL1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   E-Mail Address 2&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDEMAIL2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Fax Number&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDFAX1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Fax Number Extention&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDFAXDESC1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPERSONID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDUSER2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDUSER3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDUSER4&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field4&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDUSER5&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field5&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDCOMPANYNO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   File as&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDFULLNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  ID&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDCARDID3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Name&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDLASTNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 1&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHONE1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 1 Ext.&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHNDESC1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 2 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHONE2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 2 Ext.&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHNDESC2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 3 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHONE3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 3 Ext.&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHNDESC3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 4 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHONE4&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Phone 4 Ext.&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHNDESC4&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Popup Message&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDCARDMESSAGE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Region&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDREGIONCODE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Salutation&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDSUFFIX&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Status&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDUSER1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Sub-Contact Code&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDCRDSUBCODE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Title&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDTITLE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Type&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDKIND&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Web Address 1&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDURL1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Web Address 2&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDURL2&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Parameters list for Assets===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field Name&lt;br /&gt;
! Parameter Name to Use &lt;br /&gt;
|-&lt;br /&gt;
|  Account ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTACCRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Asset Code&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTASSETCODE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Asset Type&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTASSETTYPE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Contact ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTCONTACTRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Create Date&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTCREATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Created by user&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTCREATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Purchase Date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTCUSTPURDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Purchased From Us&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTCUSTPURFROMUS&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Purchase Our Invoice #&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTCUSTPUROURINV&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Customer PO&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTCUSTPURPO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Purchase Price&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTCUSTPURPRICE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Delivered Date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTDELIVEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Description&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTDESC&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Installed By&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTINSTALBY_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Installed Date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTINSTALDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   License Codes&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTLICENSECODE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  License Keys &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTLICENSEKEYS&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  License Notes &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTLICENSENOTES&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Location&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTLOCATION&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Manufacturer&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTMANUFACTURER&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Manufacturer Serial No. &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTMNFSERIALNO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Model&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTMODEL&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Asset Name &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Notes&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTNOTES&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   PARENTASSETRECID&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTPARENTRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Quantity&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTQUANTITY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Record ID&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Serial No.&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTSERIALNO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Status&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDCRDPHONE3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Update date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUPDATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Update By&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUPDATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUSER1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUSER2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUSER3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field4&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUSER4&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field5&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUSER5&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Date1&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTUSERDATE1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Number1&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTUSERNUMBER1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Vendor Purchased Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVENDORDATEPURC&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Vendor Invoice # &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVENDORINVNO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Vendor Name &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVENDORNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Vendor PO &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVENDOROURPO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Vendor Price &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVENDORPRICE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Vendor&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVENDORRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Vendor Serial No. &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDASTVENDORSERNO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Vendor Warranty Exp. Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVENDORWARREXP&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Version&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTVERSION&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Warranty/License Exp. Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDASTWARREXPDATE&amp;gt;FLDASTWARREXPDATE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Parameters list for Contracts===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field Name&lt;br /&gt;
! Parameter Name to Use &lt;br /&gt;
|-&lt;br /&gt;
|  Account ([[Commit Online Services#Lookup Fields|Lookup field]]) &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTACCRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Block - Used &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTAMOUNTUSED&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Code &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTCODE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Contract Type Type &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTCONTRACTTYPE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Create Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTCREATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Created by user &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTCREATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Default Item Expense ([[Commit Online Services#Lookup Fields|Lookup field]]) &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDBCTDEFITMEXPNS&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Default Item Labor ([[Commit Online Services#Lookup Fields|Lookup field]]) &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDBCTDEFITMLABOR&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Default Item Part ([[Commit Online Services#Lookup Fields|Lookup field]]) &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDBCTDEFITMPART&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Description&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTDESCEXTERNAL&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Internal Description&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTDESCINTERNAL&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   End Date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTENDDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Name&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Note&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTNOTE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Record ID&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Start Date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTSTARTDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Status&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTSTATUS&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Update date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTUPDATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Updated by User&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTUPDATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Field 1&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTUSER1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Field 2&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTUSER2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Field 3&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDBCTUSER3&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Parameters list for Items===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field Name&lt;br /&gt;
! Parameter Name to Use &lt;br /&gt;
|-&lt;br /&gt;
|  Currency&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMCOINID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Created by User &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMCREATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Description &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMDESC&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Expense Type &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDITMEXPITEMTYPE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Labor Type&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDITMFEEITEMTYPE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Item Code &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDITMITEMNO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Group&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMITEMTYPEGROUP&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Name&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Notes &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMNOTES&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Price Source &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMPRICESOURCE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Product/Part Type &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMPRODITEMTYPE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Record Id &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Cost &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMSTANDARDCOST&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Suspend &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMSUSPENDED&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Price &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDITMUNITPRICE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Update Date &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDITMUPDATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Update User &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDITMUPDATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field1 &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDITMUSER1&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Parameters list for Opportunities===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field Name&lt;br /&gt;
! Parameter Name to Use &lt;br /&gt;
|-&lt;br /&gt;
|  Amount&lt;br /&gt;
|    &amp;lt;CMTLBLDATA_FLDOPPAMOUNT&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Amount by Probability &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPCALCAMOUNT&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Account ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPCARDID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Closing amnt &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDOPPCLOSEAMOUNT&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Close &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDOPPCLOSEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Currency &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDOPPCOINID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Contact ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPCONTACTID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Creation Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPCREATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Created by User &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPCREATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Description &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPDESCRIPTION&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Close By &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPESTDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Oppty Type &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPKIND&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Opportunity&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Note &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPNOTES&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Open &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDOPPOPENDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Probability % &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPPROBABILITY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Reason &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPREASON&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Record ID &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Record type &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDOPPRECKIND&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Territory &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDOPPREGION&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Source &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDOPPSOURCE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Stage &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPSTAGE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Status &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPSTATUS&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Last Update Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPUPDATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Update: By User&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPUPDATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field1 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPUSER1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field2 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPUSER2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field3 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPUSER3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Opportunity ID &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPUSERID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Manager &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDOPPWORKERID_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Parameters list for Tickets===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field Name&lt;br /&gt;
! Parameter Name to Use &lt;br /&gt;
|-&lt;br /&gt;
|  Asset ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTASSETRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Contract ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTBCRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Account ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTCARDID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Category&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTCATEGORY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Cause &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDTKTCAUSE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Close Date &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDTKTCLOSEDATETIME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Contact ([[Commit Online Services#Lookup Fields|Lookup field]])&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDTKTCONTACTID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Creation: Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTCREATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Created by user &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTCREATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Due Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTDUEDATETIME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Ticket Type &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTKIND&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Notes &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTNOTES&amp;gt;CMTLBLDATA&lt;br /&gt;
|-&lt;br /&gt;
|   Open Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTOPENDATETIME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Priority &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTPRIORITY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Description&lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDTKTPROBLEM&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Record ID &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTRECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Account's Region Code &lt;br /&gt;
|     &amp;lt;CMTLBLDATA_FLDTKTREGIONCODE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Estimated Duration Needed &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTSCHEDLENESTIM&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Resolution Description &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTSOLUTION&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Source &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDTKTSOURCE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Status &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDTKTSTATUS&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Status: Ext. &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDTKTSTATUSNOTE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Ticket Number &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTTICKETNO&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Update Date&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTUPDATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Last Updated by User &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTUPDATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field1 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTUSER1&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field2 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTUSER2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Field3 &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTUSER3&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Manager &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDTKTWORKERID_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Parameters list for Tickets===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field Name&lt;br /&gt;
! Parameter Name to Use &lt;br /&gt;
|-&lt;br /&gt;
|  Category&lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBACATEGORY&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Create Date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBACREATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Created by user &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBACREATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Public &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBAISPUBLIC&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Problem &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDKBAPROBLEM&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Record ID &lt;br /&gt;
|  &amp;lt;CMTLBLDATA_FLDKBARECID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Solution &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBASOLUTION&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Status &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBASTATUS&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  Title &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBATITLE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Update date &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBAUPDATEDATE&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   Last Update By &lt;br /&gt;
|   &amp;lt;CMTLBLDATA_FLDKBAUPDATEUSER_FLDWRKNICKNAME&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lookup Fields===&lt;br /&gt;
*Lookup Fields can be used in order to pass parameters from an entity which is linked to the entity you are currently using. For example, you can create an Online Service for a Ticket, and pass the address of the account which is linked to the ticket.&amp;lt;br&amp;gt;This way you can define an Online Service for the Account, which will be activated from the Ticket window.&amp;lt;br&amp;gt;Lookup Field syntax:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;CMTLBLDATA_FLDTKTCARDID_FLDCRDADDRESS1&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Where:&lt;br /&gt;
CMTLBLDATA_FLDTKTCARDID is the pointer to the linked account&amp;lt;br&amp;gt;FLDCRDADDRESS1 is the account's Address field&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Online Services FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Integration]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3946</id>
		<title>API Reference Manual</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3946"/>
		<updated>2010-02-23T14:22:19Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Item Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanualsapidevelopersguide}}&lt;br /&gt;
==Intorduction==&lt;br /&gt;
&lt;br /&gt;
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API. &lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*[[#Account Fields|Accounts]]&lt;br /&gt;
*[[#Ticket Fields|Tickets]]&lt;br /&gt;
*[[#Charge Fields|Charges (and Contract-price Charges)]]&lt;br /&gt;
*[[#Item Fields|Items]]&lt;br /&gt;
*[[#History Note Fields|History Notes]]&lt;br /&gt;
*[[#Asset Fields|Assets]]&lt;br /&gt;
*[[#Calendar Fields|Calender]]&lt;br /&gt;
*[[#Opportunity Fields|Opportunities]]&lt;br /&gt;
*[[#Document Fields|Documents]]&lt;br /&gt;
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API functions may return error codes. You can find the possible error codes in:&lt;br /&gt;
*[[#Error Codes Description|Error Codes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments. &lt;br /&gt;
&lt;br /&gt;
Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this:   &lt;br /&gt;
&amp;lt;FLDSLPQUANTITY&amp;gt;10&amp;lt;/FLDSLPQUANTITY&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following table shows the data kind code when using XML or when using the API functions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Application entity'''&lt;br /&gt;
! '''Table name'''&lt;br /&gt;
! '''Programming Code'''&lt;br /&gt;
! '''XML Data Kind Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
| 10&lt;br /&gt;
| ACCOUNT &lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
| 20&lt;br /&gt;
| OPPORTUNITY &lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
| 30&lt;br /&gt;
| DOCUMENT &lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
| 40&lt;br /&gt;
| CHARGE&lt;br /&gt;
|-&lt;br /&gt;
| Appointments/Tasks &lt;br /&gt;
| Events &lt;br /&gt;
| 50&lt;br /&gt;
| APPOINTMENT-OR-TASK&lt;br /&gt;
|-&lt;br /&gt;
| History Notes &lt;br /&gt;
| Notebook &lt;br /&gt;
| 60&lt;br /&gt;
| HISTORY-NOTE&lt;br /&gt;
|-&lt;br /&gt;
| Tickets &lt;br /&gt;
| Tickets &lt;br /&gt;
| 70&lt;br /&gt;
| TICKET &lt;br /&gt;
|-&lt;br /&gt;
| Items &lt;br /&gt;
| Items &lt;br /&gt;
| 80&lt;br /&gt;
| ITEM &lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
| 90&lt;br /&gt;
| ASSET &lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
| 100&lt;br /&gt;
| KBARTICLE &lt;br /&gt;
|}&lt;br /&gt;
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
===Account Fields===&lt;br /&gt;
The following table lists the most important parameters for adding/updating Account&lt;br /&gt;
records.&lt;br /&gt;
Note slight differences when adding a main account vs. adding a secondary contact.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDCRDRECID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database.&lt;br /&gt;
#From the Email Response when adding new Account with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Manager&lt;br /&gt;
| FLDCRDASSIGNCARDID&lt;br /&gt;
| This field has two roles:&lt;br /&gt;
#When adding a main Account:&amp;lt;br&amp;gt;The account manager should contain the ID of the Employee who is the account manager.&lt;br /&gt;
#When adding a secondary contact:&amp;lt;br&amp;gt;&lt;br /&gt;
This field should contain the ID of the main Account to which the secondary contacted is&lt;br /&gt;
added.&lt;br /&gt;
|-&lt;br /&gt;
|Company name&lt;br /&gt;
|FLDCRDCOMPANY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contact: First &amp;amp; Last Name&lt;br /&gt;
|FLDCRDCONTACT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Assistant&lt;br /&gt;
| FLDCRDASSISTANT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contract&lt;br /&gt;
|FLDCRDBCRECID&lt;br /&gt;
|The default Contract for this Account (not required)&lt;br /&gt;
|-&lt;br /&gt;
|Account Number&lt;br /&gt;
|FLDCRDCARDID2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ID&lt;br /&gt;
|FLDCRDCARDID3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message&lt;br /&gt;
|FLDCRDCARDMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line1&lt;br /&gt;
| FLDCRDADDRESS1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line2&lt;br /&gt;
| FLDCRDADDRESS2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line3&lt;br /&gt;
| FLDCRDADDRESS3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: City&lt;br /&gt;
|FLDCRDCITY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: State&lt;br /&gt;
|FLDCRDCOUNTRY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Country&lt;br /&gt;
|FLDCRDSTATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Zip&lt;br /&gt;
|FLDCRDZIP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Creation Date&lt;br /&gt;
|FLDCRDCREATEDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDCRDCREATEUSERID&lt;br /&gt;
|Foreign Software Name which created the account&lt;br /&gt;
|-&lt;br /&gt;
|Dear&lt;br /&gt;
|FLDCRDDEAR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Department&lt;br /&gt;
|FLDCRDDEPARTMENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Documents Store Directory&lt;br /&gt;
|FLDCRDDOCSFOLDER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 1&lt;br /&gt;
|FLDCRDEMAIL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 2&lt;br /&gt;
|FLDCRDEMAIL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Account Type&lt;br /&gt;
|FLDCRDENTITYKIND&lt;br /&gt;
|When adding a Main Account = 1&amp;lt;br&amp;gt;When adding a secondary contact = 5&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number &lt;br /&gt;
|FLDCRDFAX1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number Extension&lt;br /&gt;
|FLDCRDFAXDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|File as &lt;br /&gt;
|FLDCRDFULLNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Type &lt;br /&gt;
|FLDCRDKIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Name &lt;br /&gt;
|FLDCRDLASTNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field &lt;br /&gt;
|FLDCRDPERSONID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 Ext. &lt;br /&gt;
|FLDCRDPHNDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 Ext. &lt;br /&gt;
|FLDCRDPHNDESC2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 Ext. &lt;br /&gt;
|FLDCRDPHNDESC3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 Ext. &lt;br /&gt;
|FLDCRDPHNDESC4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 &lt;br /&gt;
|FLDCRDPHONE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 &lt;br /&gt;
|FLDCRDPHONE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 &lt;br /&gt;
|FLDCRDPHONE3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 &lt;br /&gt;
|FLDCRDPHONE4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Region&lt;br /&gt;
|FLDCRDREGIONCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message: Display Indication&lt;br /&gt;
|FLDCRDSHOWMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sub-Contact Code&lt;br /&gt;
|FLDCRDSUBCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Salutation&lt;br /&gt;
|FLDCRDSUFFIX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax1&lt;br /&gt;
|FLDCRDTAXCODE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax2&lt;br /&gt;
|FLDCRDTAXCODE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|FLDCRDTITLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Updated by&lt;br /&gt;
|FLDCRDUPDATEUSERID&lt;br /&gt;
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 1&lt;br /&gt;
|FLDCRDURL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 2&lt;br /&gt;
|FLDCRDURL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDCRDUSER1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDCRDUSER2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDCRDUSER3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDCRDUSER4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field4&lt;br /&gt;
|FLDCRDUSER5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Ticket Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Ticket parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDTKTCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a cnew Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDTKTCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDTKTBCRECID&lt;br /&gt;
|The Contract ID. If not supplied, will be taken from the Account's default contract.&lt;br /&gt;
|-&lt;br /&gt;
| Emp. REC ID&lt;br /&gt;
| FLDTKTWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Priority&lt;br /&gt;
| FLDTKTPRIORITY&lt;br /&gt;
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.&lt;br /&gt;
Immediate = 10&amp;lt;br&amp;gt;High = 20&amp;lt;br&amp;gt;Normal = 30&amp;lt;br&amp;gt;Low = 40&amp;lt;br&amp;gt;Not Applicable= 50&lt;br /&gt;
|-&lt;br /&gt;
| Ticket Number&lt;br /&gt;
| FLDTKTTICKETNO &lt;br /&gt;
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDTKTPROBLEM&lt;br /&gt;
|This is the Ticket Description. This is a mandatory field, which must contain text.&lt;br /&gt;
|-&lt;br /&gt;
|Ticket Type&lt;br /&gt;
|FLDTKTKIND&lt;br /&gt;
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.&lt;br /&gt;
|-&lt;br /&gt;
|Source&lt;br /&gt;
|FLDTKTSOURCE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Estimated Duration Time&lt;br /&gt;
|FLDTKTSCHEDLENESTIM&lt;br /&gt;
|Estimated duration time for the Ticket in minutes.&lt;br /&gt;
|-&lt;br /&gt;
|Show Ticket in Dispatcher&lt;br /&gt;
|FLDTKTFORDISPATCH&lt;br /&gt;
|Possible values: Yes/No&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDTKTSTATUS&lt;br /&gt;
|The Ticket Status (optional).&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
New = 100&amp;lt;br&amp;gt;&lt;br /&gt;
Pending = 200&amp;lt;br&amp;gt;&lt;br /&gt;
Scheduled = 300&amp;lt;br&amp;gt;&lt;br /&gt;
In-House Service = 400&amp;lt;br&amp;gt;&lt;br /&gt;
On-Site Service = 500&amp;lt;br&amp;gt;&lt;br /&gt;
Laboratory Service = 600&amp;lt;br&amp;gt;&lt;br /&gt;
Hold = 700&amp;lt;br&amp;gt;&lt;br /&gt;
Other = 800&amp;lt;br&amp;gt;&lt;br /&gt;
Canceled = 900&amp;lt;br&amp;gt;&lt;br /&gt;
Completed = 1000&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDTKTCREATEUSER&lt;br /&gt;
|Should contain the external software name which created the Ticket&lt;br /&gt;
|-&lt;br /&gt;
|Due Date&lt;br /&gt;
|FLDTKTDUEDATETIME&lt;br /&gt;
|Due date for the Ticket. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Resolution&lt;br /&gt;
|FLDTKTSOLUTION&lt;br /&gt;
|Ticket resolution text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Charge Fields===&lt;br /&gt;
The table below lists the most important Charge parameters and behavior.&lt;br /&gt;
&lt;br /&gt;
Contract-price Charges have some special characteristics (see comments marked by * in&lt;br /&gt;
the table below):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be&lt;br /&gt;
added as a new Charge.&lt;br /&gt;
|-&lt;br /&gt;
| Charge Source&lt;br /&gt;
| FLDSLPSOURCERECID&lt;br /&gt;
|The Charge source is the entity for which the charge is created.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&lt;br /&gt;
*Linked Contract RecID (for Contract-price Charges). Cannot be the &amp;quot;System Global Contract&amp;quot;.&lt;br /&gt;
**Passing the Contract RecID indicates that this is a Contract-price charge.&lt;br /&gt;
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDSLPCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDSLPWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Charged Item&lt;br /&gt;
| FLDSLPITEMID&lt;br /&gt;
| The Item Record ID to be linked to the Charge. This is a mandatory field.&lt;br /&gt;
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDSLPBCRECID&lt;br /&gt;
| The contract record ID (must be a Contract of the Account)&lt;br /&gt;
|-&lt;br /&gt;
|Ticket REC ID&lt;br /&gt;
|FLDSLPTICKETID&lt;br /&gt;
|The Ticket ID to be linked to the Charge.&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDSLPSLIPDATE&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDSLPDESC&lt;br /&gt;
|The Charge Description. If not provided, will be taken from the Item's description.&lt;br /&gt;
|-&lt;br /&gt;
|Units/Hours&lt;br /&gt;
|FLDSLPQUANTITY&lt;br /&gt;
|This is the quantity of hours/units&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Amount&lt;br /&gt;
|FLDSLPADJUSTAMOUNT&lt;br /&gt;
|Discount/Markup amount. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Percent&lt;br /&gt;
|FLDSLPADJUSTPERCENT&lt;br /&gt;
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|From Time&lt;br /&gt;
|FLDSLPSTARTTIME&lt;br /&gt;
|From time for labor Charges e.g. 12:06&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|To Time&lt;br /&gt;
|FLDSLPENDTIME&lt;br /&gt;
|From time for labor Charges e.g. 14:50&lt;br /&gt;
* Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Price/Rate&lt;br /&gt;
|FLDSLPPRICE&lt;br /&gt;
|If not provided, the price is taken from the Item.&lt;br /&gt;
|-&lt;br /&gt;
| Billable&lt;br /&gt;
| FLDSLPBILLKIND&lt;br /&gt;
| B - Billable&amp;lt;br&amp;gt;&lt;br /&gt;
N - Not Billable&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, will be set according to the Contract type.&lt;br /&gt;
|-&lt;br /&gt;
| Billed&lt;br /&gt;
| FLDSLPSTAGE&lt;br /&gt;
| D - Draft&lt;br /&gt;
B - Billed&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDSLPUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Create User&lt;br /&gt;
| FLDSLPCREATEUSER&lt;br /&gt;
| External software name which created the Charge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Item parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDITMRECID&lt;br /&gt;
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.&lt;br /&gt;
|-&lt;br /&gt;
| Item Group&lt;br /&gt;
| FLDITMITEMTYPEGROUP&lt;br /&gt;
|The Item Group to be linked to the Charge. This is a mandatory field:&amp;lt;br&amp;gt;&lt;br /&gt;
F - Labor (Fee)&amp;lt;br&amp;gt;&lt;br /&gt;
X - Expense&amp;lt;br&amp;gt;&lt;br /&gt;
P - Part&lt;br /&gt;
|-&lt;br /&gt;
| Item Code&lt;br /&gt;
| FLDITMITEMNO&lt;br /&gt;
|The item code is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Item Name&lt;br /&gt;
| FLDITMNAME&lt;br /&gt;
| The item name is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Price Source&lt;br /&gt;
| FLDITMPRICESOURCE&lt;br /&gt;
| F - Fixed Price&amp;lt;br&amp;gt;&lt;br /&gt;
W - by Employee Rate&lt;br /&gt;
|-&lt;br /&gt;
| Price per Hour/Unit&lt;br /&gt;
| FLDITMUNITISHOUR&lt;br /&gt;
| This field indicated whether the price is unitbased or hours-based.&amp;lt;br&amp;gt;&lt;br /&gt;
Y - by Hours&amp;lt;br&amp;gt;&lt;br /&gt;
N - by Units&amp;lt;br&amp;gt;&lt;br /&gt;
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours&lt;br /&gt;
|-&lt;br /&gt;
|Price&lt;br /&gt;
|FLDITMUNITPRICE&lt;br /&gt;
|Must be a valid numeric value&lt;br /&gt;
|-&lt;br /&gt;
|Cost&lt;br /&gt;
|FLDITMSTANDARDCOST&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Taxes&lt;br /&gt;
|FLDITMTAXCODE1&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE2&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE3&lt;br /&gt;
|You can pass up to 3 different tax codes.&lt;br /&gt;
|-&lt;br /&gt;
|Description by Name&lt;br /&gt;
|FLDITMDESCBYNAME&lt;br /&gt;
|Y - take the description from the name field&amp;lt;br&amp;gt;&lt;br /&gt;
N - take the description from the Description field&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDITMDESC&lt;br /&gt;
|If not provided, the description is taken from the name.&lt;br /&gt;
|-&lt;br /&gt;
|Suspend&lt;br /&gt;
|FLDITMSUSPENDED&lt;br /&gt;
|Indicated whether this item is currently suspended:&amp;lt;br&amp;gt;&lt;br /&gt;
Y - yes&amp;lt;br&amp;gt;&lt;br /&gt;
N - no&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDITMNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDITMUSER1&lt;br /&gt;
|User defined field&lt;br /&gt;
|-&lt;br /&gt;
|Create User&lt;br /&gt;
|FLDITMCREATEUSER&lt;br /&gt;
|External software name which created the Charge&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDTKTCREATEUSER&lt;br /&gt;
| Should contain the external software name which created the Ticket&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===History Note Fields===&lt;br /&gt;
The table below lists the most important History Note parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDHISRECID&lt;br /&gt;
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
| FLDHISNOTEDATETIME&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDHISDESCRIPTION&lt;br /&gt;
| The Description text&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket/Contract&lt;br /&gt;
| FLDHISLINKRECID&lt;br /&gt;
| Link to Opportunity or Ticket or Contract&lt;br /&gt;
|-&lt;br /&gt;
| Field&lt;br /&gt;
| FLDHISUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| About&lt;br /&gt;
| FLDHISKIND&lt;br /&gt;
| Optional field&lt;br /&gt;
|-&lt;br /&gt;
|Employee&lt;br /&gt;
|FLDHISWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDHISCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database&lt;br /&gt;
#From the Email Response when adding new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDHISCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDHISDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDHISCREATEUSER&lt;br /&gt;
|Name of the external software which created this History Note&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Asset Fields===&lt;br /&gt;
The table below lists the most important Asset parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Asset Code&lt;br /&gt;
| FLDASTASSETCODE&lt;br /&gt;
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.&lt;br /&gt;
|-&lt;br /&gt;
| Asset Type&lt;br /&gt;
| FLDASTASSETTYPE&lt;br /&gt;
|The Type field is mandatory:&amp;lt;br&amp;gt;&lt;br /&gt;
Hardware = H&amp;lt;br&amp;gt;&lt;br /&gt;
Software = S&amp;lt;br&amp;gt;&lt;br /&gt;
Other = T&lt;br /&gt;
|-&lt;br /&gt;
| Asset Name&lt;br /&gt;
| FLDASTNAME&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDASTSTATUS&lt;br /&gt;
| Mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Active = A&amp;lt;br&amp;gt;&lt;br /&gt;
Not Active = N&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default Active is used.&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDASTRECID&lt;br /&gt;
| If provided, must exist in the database. Ignored if empty&lt;br /&gt;
|-&lt;br /&gt;
| Serial No.&lt;br /&gt;
| FLDASTSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDASTACCRECID&lt;br /&gt;
|The Account which is linked to the Asset&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDASTCONTACTRECID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Created by user&lt;br /&gt;
|FLDASTCREATEUSER&lt;br /&gt;
|Name of external software which created this Asset&lt;br /&gt;
|-&lt;br /&gt;
|Purchase Date&lt;br /&gt;
|FLDASTCUSTPURDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Purchased From Us&lt;br /&gt;
|FLDASTCUSTPURFROMUS&lt;br /&gt;
|Possible values: Y/N.&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default value Y is used.&lt;br /&gt;
|-&lt;br /&gt;
| Purchase Invoice #&lt;br /&gt;
| FLDASTCUSTPUROURINV&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Customer PO&lt;br /&gt;
| FLDASTCUSTPURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Purchase Price&lt;br /&gt;
| FLDASTCUSTPURPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Delivered Date&lt;br /&gt;
| FLDASTDELIVEDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDASTDESC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed By&lt;br /&gt;
| FLDASTINSTALBY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed Date&lt;br /&gt;
| FLDASTINSTALDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Codes&lt;br /&gt;
| FLDASTLICENSECODE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Keys&lt;br /&gt;
| FLDASTLICENSEKEY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Notes&lt;br /&gt;
| FLDASTLICENSENOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Location&lt;br /&gt;
| FLDASTLOCATION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Manufacturer&lt;br /&gt;
| FLDASTMANUFACTURER&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mnf Serial No.&lt;br /&gt;
| FLDASTMNFSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Model&lt;br /&gt;
| FLDASTMODEL&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Notes&lt;br /&gt;
| FLDASTNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Quantity&lt;br /&gt;
| FLDASTQUANTITY&lt;br /&gt;
| If not provided, default value of 1 is used.&lt;br /&gt;
|-&lt;br /&gt;
| Last Update By&lt;br /&gt;
| FLDASTUPDATEUSER&lt;br /&gt;
| Name of externals software which performed the update&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDASTUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDASTUSER2&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDASTUSER3&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDASTUSER4&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDASTUSER5&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Date1&lt;br /&gt;
| FLDASTUSERDATE1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Number1&lt;br /&gt;
| FLDASTUSERNUMBER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Vendor Purchased Date&lt;br /&gt;
| FLDASTVENDORDATEPURC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Invoice #&lt;br /&gt;
| FLDASTVENDORINVNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor PO&lt;br /&gt;
| FLDASTVENDOROURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Price&lt;br /&gt;
| FLDASTVENDORPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor&lt;br /&gt;
| FLDASTVENDORRECID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Serial No.&lt;br /&gt;
| FLDASTVENDORSERNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Warranty Exp. Date&lt;br /&gt;
| FLDASTVENDORWARREXP&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Version&lt;br /&gt;
| FLDASTVERSION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Warranty/License Exp.&lt;br /&gt;
| FLDASTWARREXPDATE&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Calendar Fields===&lt;br /&gt;
The table below lists the most important Calendar parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDEVTRECID&lt;br /&gt;
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this&lt;br /&gt;
will be added as a new Appointment/Task.&lt;br /&gt;
|-&lt;br /&gt;
| Event Type&lt;br /&gt;
| FLDEVTWRITETOID&lt;br /&gt;
|The Event type is a mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Appointment = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Task = 2&lt;br /&gt;
|-&lt;br /&gt;
| Employee&lt;br /&gt;
| FLDEVTWORKERID&lt;br /&gt;
| The Task/Appointment owner (for private events)&lt;br /&gt;
|-&lt;br /&gt;
| Private: User&lt;br /&gt;
| FLDEVTPRIVATEID&lt;br /&gt;
| Possible values: Y/N&amp;lt;br&amp;gt;&lt;br /&gt;
If an Employee was set, this field must be Y&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDEVTCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking&lt;br /&gt;
the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a&lt;br /&gt;
new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDEVTEVENTDATE&lt;br /&gt;
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not&lt;br /&gt;
provided, the current date will be used. &lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDEVTFREETEXT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Time: Start&lt;br /&gt;
|FLDEVTFROMTIME&lt;br /&gt;
|Mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Time: End&lt;br /&gt;
| FLDEVTTOTIME&lt;br /&gt;
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket&lt;br /&gt;
| FLDEVTLINKRECID&lt;br /&gt;
| Linked Ticket/Opportunity/Contract/Asset&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDEVTPLACE1&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDEVTPLACE2&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the&lt;br /&gt;
event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Opportunity Fields===&lt;br /&gt;
The table below lists the most important Opportunity parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDOPPRECID&lt;br /&gt;
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Name&lt;br /&gt;
| FLDOPPNAME&lt;br /&gt;
| Mandatory field.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity ID&lt;br /&gt;
| FLDOPPUSERID &lt;br /&gt;
| Optional (Oppty ID)&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDOPPCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| FLDOPPSOURCE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Close Date&lt;br /&gt;
|FLDOPPCLOSEDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Manager&lt;br /&gt;
|FLDOPPWORKERID&lt;br /&gt;
|The Manager's REC ID&lt;br /&gt;
|-&lt;br /&gt;
|Open Date&lt;br /&gt;
|FLDOPPOPENDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Close By Date&lt;br /&gt;
| FLDOPPESTDATE&lt;br /&gt;
| Opportunity must be closed by this date&lt;br /&gt;
|-&lt;br /&gt;
| Amount&lt;br /&gt;
| FLDOPPAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Probability %&lt;br /&gt;
| FLDOPPPROBABILITY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Stage&lt;br /&gt;
| FLDOPPSTAGE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDOPPSTATUS&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Closing Amount&lt;br /&gt;
| FLDOPPCLOSEAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDOPPDESCRIPTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Type&lt;br /&gt;
| FLDOPPKIND&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Reason&lt;br /&gt;
| FLDOPPREASON&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Note &lt;br /&gt;
|  FLDOPPNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Territory&lt;br /&gt;
|  FLDOPPREGION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|  FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|  FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|  FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Created by User&lt;br /&gt;
|  FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
|  Last Update: By User&lt;br /&gt;
|  FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Document Fields===&lt;br /&gt;
The table below lists the Document parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDDOCRECID&lt;br /&gt;
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDDOCDOCDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Subject&lt;br /&gt;
| FLDOPPUSERID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Linked Record&lt;br /&gt;
| FLDDOCLINKRECID&lt;br /&gt;
| The RECID of a linked object. Each Document can be linked to one of the following objects:&lt;br /&gt;
*Ticket&lt;br /&gt;
*Contract&lt;br /&gt;
*Opportunity&lt;br /&gt;
*Knowledge Base Article&lt;br /&gt;
*Asset&lt;br /&gt;
The Record ID (20 chars) can be taken from:&lt;br /&gt;
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new object with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Rec ID&lt;br /&gt;
| FLDDOCCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDDOCCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDDOCTRANSPORT&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDDOCFOLDER&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDDOCUMENTPLACE&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|File Path + File name&lt;br /&gt;
|FLDDOCDOCUMENTNAME&lt;br /&gt;
|The Document path&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDDOCTREEID&lt;br /&gt;
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDDOCWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Document. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDDOCCREATEUSER&lt;br /&gt;
| Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDDOCUPDATEUSER&lt;br /&gt;
| Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Knowledge Base Article Fields===&lt;br /&gt;
The table below lists the Knowledge Base Article parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDKBARECID&lt;br /&gt;
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDKBACREATEDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Title&lt;br /&gt;
| FLDKBATITLE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Problem&lt;br /&gt;
| FLDKBAPROBLEM&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Solution&lt;br /&gt;
| FLDKBASOLUTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDKBASTATUS&lt;br /&gt;
| Possible values:&lt;br /&gt;
*DRAFT = 'D'&lt;br /&gt;
*PUBLISHED = 'P'&lt;br /&gt;
*OBSOLETE = 'O'&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDKBACATEGORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Public&lt;br /&gt;
|FLDKBAISPUBLIC&lt;br /&gt;
|Is the Document public.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
*'Y' = Yes&lt;br /&gt;
*'N' = No&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDDOCCREATEUSER&lt;br /&gt;
|Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
|Last Update: By User&lt;br /&gt;
|FLDDOCUPDATEUSER&lt;br /&gt;
|Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error Codes Description===&lt;br /&gt;
&amp;lt;u&amp;gt;These error codes are returned when calling the CmtGetDescriptionByStatus function:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''1000''' CmtDbEng.dll not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1001''' Invalid value for the Data Kind value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1002''' Invalid DATA buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly&lt;br /&gt;
and that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and&lt;br /&gt;
that you've passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1007''' Invalid external software name received. Specify a unique name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once&lt;br /&gt;
prior to sending transactions for processing.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1009''' Path specified for Commit DB folder not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB&lt;br /&gt;
folder.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is&lt;br /&gt;
related to an inactive employee record.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1012''' Error registering software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1013''' Software name is missing. Make sure you specify a name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name&lt;br /&gt;
that has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1100''' Database access error.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;General error codes, returned when calling the functions CmtGetDescriptionByCode:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''50000''' The data is not correct for its type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50001''' The field value has been truncated due to the field length in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50002''' The insert operation Failed because the REC ID already existed in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50003''' Failed to update Record since it is being updated by another user.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50103''' Illegal REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50104''' REC ID Creation failed.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50105''' Illegal Sub-Contact REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50106''' Illegal Contract REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50107''' Illegal Employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50108''' Illegal Ticket REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50109''' Illegal Account REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50110''' Illegal data for that Contract.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50111''' This Employee is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50112''' Illegal Document REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50113''' Illegal linked object REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50114''' Employee not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50115''' Some mandatory fields have no values.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51000''' Illegal kind of Account entity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51001''' Account Manager not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51002''' The REC ID of the Account Manager is illegal.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51003''' Illegal tax code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51004''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52000''' Illegal kind of event.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52001''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52002''' Illegal end time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52003''' Illegal event date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52004''' The field Reminder1 has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52005''' The amount in the field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52006''' The Field Remider1:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52007''' The Field Remider2:Active has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52008''' The Field Remider2:Amount has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52009''' The Field Remider2:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52010''' Illegal employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52011''' Error occurred while updating the Task/Appointment employee field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54000''' Illegal Ticket open date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54001''' Illegal Ticket close date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54002''' Illegal Ticket code area.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54004''' Illegal Ticket priority.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54005''' Illegal Ticket status.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54006''' The Ticket Account was not found in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54007''' The Ticket Account Manager was not ound in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54008''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54009''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54010''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54011''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54012''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55000''' Illegal charge date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55001''' Illegal charge REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55002''' Illegal start date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55003''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55004''' Illegal amount entered for hours.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55005''' Illegal quantity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55006''' Illegal price.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55007''' Illegal total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55008''' Illegal value in the Adjust Amount field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55009''' Illegal value in the Adjust Percent.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55010''' The Discount/Markup field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55011''' Illegal value in the Adjust Kind field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55012''' Illegal bill total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55013''' You can not create a charge for a suspended item.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55014''' Item was not found in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55015''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55016''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55017''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55018''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55019''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55020''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55021''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56000''' Illegal item code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56001''' The field that indicates the item group type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56002''' The field that indicates if the Item is suspended has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56003''' Illegal value of The field that indicate if the item is suspended.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56004''' Mismatch found between the fields price and price source.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56005''' Illegal cost.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56006''' Mismatch found between the fields cost and item group type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56007''' The field that indicates if the charge is by unit or by hours has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56008''' Illegal value in the Description.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56009''' The field that indicates the item type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''57000''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58000''' Illegal date time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58001''' The Description field was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58002''' The field kind was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58003''' The Account member was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59000''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59001''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59002''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59003''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59004''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59005''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60000''' Invalid web user record ID number.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60001''' This customer web user is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60002''' This user is not a customer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit API Developers Guide]]&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3945</id>
		<title>API Reference Manual</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3945"/>
		<updated>2010-02-23T14:20:52Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Item Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanualsapidevelopersguide}}&lt;br /&gt;
==Intorduction==&lt;br /&gt;
&lt;br /&gt;
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API. &lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*[[#Account Fields|Accounts]]&lt;br /&gt;
*[[#Ticket Fields|Tickets]]&lt;br /&gt;
*[[#Charge Fields|Charges (and Contract-price Charges)]]&lt;br /&gt;
*[[#Item Fields|Items]]&lt;br /&gt;
*[[#History Note Fields|History Notes]]&lt;br /&gt;
*[[#Asset Fields|Assets]]&lt;br /&gt;
*[[#Calendar Fields|Calender]]&lt;br /&gt;
*[[#Opportunity Fields|Opportunities]]&lt;br /&gt;
*[[#Document Fields|Documents]]&lt;br /&gt;
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API functions may return error codes. You can find the possible error codes in:&lt;br /&gt;
*[[#Error Codes Description|Error Codes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments. &lt;br /&gt;
&lt;br /&gt;
Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this:   &lt;br /&gt;
&amp;lt;FLDSLPQUANTITY&amp;gt;10&amp;lt;/FLDSLPQUANTITY&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following table shows the data kind code when using XML or when using the API functions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Application entity'''&lt;br /&gt;
! '''Table name'''&lt;br /&gt;
! '''Programming Code'''&lt;br /&gt;
! '''XML Data Kind Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
| 10&lt;br /&gt;
| ACCOUNT &lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
| 20&lt;br /&gt;
| OPPORTUNITY &lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
| 30&lt;br /&gt;
| DOCUMENT &lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
| 40&lt;br /&gt;
| CHARGE&lt;br /&gt;
|-&lt;br /&gt;
| Appointments/Tasks &lt;br /&gt;
| Events &lt;br /&gt;
| 50&lt;br /&gt;
| APPOINTMENT-OR-TASK&lt;br /&gt;
|-&lt;br /&gt;
| History Notes &lt;br /&gt;
| Notebook &lt;br /&gt;
| 60&lt;br /&gt;
| HISTORY-NOTE&lt;br /&gt;
|-&lt;br /&gt;
| Tickets &lt;br /&gt;
| Tickets &lt;br /&gt;
| 70&lt;br /&gt;
| TICKET &lt;br /&gt;
|-&lt;br /&gt;
| Items &lt;br /&gt;
| Items &lt;br /&gt;
| 80&lt;br /&gt;
| ITEM &lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
| 90&lt;br /&gt;
| ASSET &lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
| 100&lt;br /&gt;
| KBARTICLE &lt;br /&gt;
|}&lt;br /&gt;
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
===Account Fields===&lt;br /&gt;
The following table lists the most important parameters for adding/updating Account&lt;br /&gt;
records.&lt;br /&gt;
Note slight differences when adding a main account vs. adding a secondary contact.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDCRDRECID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database.&lt;br /&gt;
#From the Email Response when adding new Account with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Manager&lt;br /&gt;
| FLDCRDASSIGNCARDID&lt;br /&gt;
| This field has two roles:&lt;br /&gt;
#When adding a main Account:&amp;lt;br&amp;gt;The account manager should contain the ID of the Employee who is the account manager.&lt;br /&gt;
#When adding a secondary contact:&amp;lt;br&amp;gt;&lt;br /&gt;
This field should contain the ID of the main Account to which the secondary contacted is&lt;br /&gt;
added.&lt;br /&gt;
|-&lt;br /&gt;
|Company name&lt;br /&gt;
|FLDCRDCOMPANY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contact: First &amp;amp; Last Name&lt;br /&gt;
|FLDCRDCONTACT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Assistant&lt;br /&gt;
| FLDCRDASSISTANT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contract&lt;br /&gt;
|FLDCRDBCRECID&lt;br /&gt;
|The default Contract for this Account (not required)&lt;br /&gt;
|-&lt;br /&gt;
|Account Number&lt;br /&gt;
|FLDCRDCARDID2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ID&lt;br /&gt;
|FLDCRDCARDID3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message&lt;br /&gt;
|FLDCRDCARDMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line1&lt;br /&gt;
| FLDCRDADDRESS1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line2&lt;br /&gt;
| FLDCRDADDRESS2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line3&lt;br /&gt;
| FLDCRDADDRESS3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: City&lt;br /&gt;
|FLDCRDCITY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: State&lt;br /&gt;
|FLDCRDCOUNTRY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Country&lt;br /&gt;
|FLDCRDSTATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Zip&lt;br /&gt;
|FLDCRDZIP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Creation Date&lt;br /&gt;
|FLDCRDCREATEDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDCRDCREATEUSERID&lt;br /&gt;
|Foreign Software Name which created the account&lt;br /&gt;
|-&lt;br /&gt;
|Dear&lt;br /&gt;
|FLDCRDDEAR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Department&lt;br /&gt;
|FLDCRDDEPARTMENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Documents Store Directory&lt;br /&gt;
|FLDCRDDOCSFOLDER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 1&lt;br /&gt;
|FLDCRDEMAIL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 2&lt;br /&gt;
|FLDCRDEMAIL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Account Type&lt;br /&gt;
|FLDCRDENTITYKIND&lt;br /&gt;
|When adding a Main Account = 1&amp;lt;br&amp;gt;When adding a secondary contact = 5&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number &lt;br /&gt;
|FLDCRDFAX1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number Extension&lt;br /&gt;
|FLDCRDFAXDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|File as &lt;br /&gt;
|FLDCRDFULLNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Type &lt;br /&gt;
|FLDCRDKIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Name &lt;br /&gt;
|FLDCRDLASTNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field &lt;br /&gt;
|FLDCRDPERSONID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 Ext. &lt;br /&gt;
|FLDCRDPHNDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 Ext. &lt;br /&gt;
|FLDCRDPHNDESC2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 Ext. &lt;br /&gt;
|FLDCRDPHNDESC3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 Ext. &lt;br /&gt;
|FLDCRDPHNDESC4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 &lt;br /&gt;
|FLDCRDPHONE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 &lt;br /&gt;
|FLDCRDPHONE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 &lt;br /&gt;
|FLDCRDPHONE3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 &lt;br /&gt;
|FLDCRDPHONE4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Region&lt;br /&gt;
|FLDCRDREGIONCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message: Display Indication&lt;br /&gt;
|FLDCRDSHOWMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sub-Contact Code&lt;br /&gt;
|FLDCRDSUBCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Salutation&lt;br /&gt;
|FLDCRDSUFFIX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax1&lt;br /&gt;
|FLDCRDTAXCODE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax2&lt;br /&gt;
|FLDCRDTAXCODE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|FLDCRDTITLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Updated by&lt;br /&gt;
|FLDCRDUPDATEUSERID&lt;br /&gt;
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 1&lt;br /&gt;
|FLDCRDURL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 2&lt;br /&gt;
|FLDCRDURL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDCRDUSER1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDCRDUSER2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDCRDUSER3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDCRDUSER4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field4&lt;br /&gt;
|FLDCRDUSER5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Ticket Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Ticket parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDTKTCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a cnew Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDTKTCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDTKTBCRECID&lt;br /&gt;
|The Contract ID. If not supplied, will be taken from the Account's default contract.&lt;br /&gt;
|-&lt;br /&gt;
| Emp. REC ID&lt;br /&gt;
| FLDTKTWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Priority&lt;br /&gt;
| FLDTKTPRIORITY&lt;br /&gt;
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.&lt;br /&gt;
Immediate = 10&amp;lt;br&amp;gt;High = 20&amp;lt;br&amp;gt;Normal = 30&amp;lt;br&amp;gt;Low = 40&amp;lt;br&amp;gt;Not Applicable= 50&lt;br /&gt;
|-&lt;br /&gt;
| Ticket Number&lt;br /&gt;
| FLDTKTTICKETNO &lt;br /&gt;
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDTKTPROBLEM&lt;br /&gt;
|This is the Ticket Description. This is a mandatory field, which must contain text.&lt;br /&gt;
|-&lt;br /&gt;
|Ticket Type&lt;br /&gt;
|FLDTKTKIND&lt;br /&gt;
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.&lt;br /&gt;
|-&lt;br /&gt;
|Source&lt;br /&gt;
|FLDTKTSOURCE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Estimated Duration Time&lt;br /&gt;
|FLDTKTSCHEDLENESTIM&lt;br /&gt;
|Estimated duration time for the Ticket in minutes.&lt;br /&gt;
|-&lt;br /&gt;
|Show Ticket in Dispatcher&lt;br /&gt;
|FLDTKTFORDISPATCH&lt;br /&gt;
|Possible values: Yes/No&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDTKTSTATUS&lt;br /&gt;
|The Ticket Status (optional).&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
New = 100&amp;lt;br&amp;gt;&lt;br /&gt;
Pending = 200&amp;lt;br&amp;gt;&lt;br /&gt;
Scheduled = 300&amp;lt;br&amp;gt;&lt;br /&gt;
In-House Service = 400&amp;lt;br&amp;gt;&lt;br /&gt;
On-Site Service = 500&amp;lt;br&amp;gt;&lt;br /&gt;
Laboratory Service = 600&amp;lt;br&amp;gt;&lt;br /&gt;
Hold = 700&amp;lt;br&amp;gt;&lt;br /&gt;
Other = 800&amp;lt;br&amp;gt;&lt;br /&gt;
Canceled = 900&amp;lt;br&amp;gt;&lt;br /&gt;
Completed = 1000&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDTKTCREATEUSER&lt;br /&gt;
|Should contain the external software name which created the Ticket&lt;br /&gt;
|-&lt;br /&gt;
|Due Date&lt;br /&gt;
|FLDTKTDUEDATETIME&lt;br /&gt;
|Due date for the Ticket. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Resolution&lt;br /&gt;
|FLDTKTSOLUTION&lt;br /&gt;
|Ticket resolution text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Charge Fields===&lt;br /&gt;
The table below lists the most important Charge parameters and behavior.&lt;br /&gt;
&lt;br /&gt;
Contract-price Charges have some special characteristics (see comments marked by * in&lt;br /&gt;
the table below):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be&lt;br /&gt;
added as a new Charge.&lt;br /&gt;
|-&lt;br /&gt;
| Charge Source&lt;br /&gt;
| FLDSLPSOURCERECID&lt;br /&gt;
|The Charge source is the entity for which the charge is created.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&lt;br /&gt;
*Linked Contract RecID (for Contract-price Charges). Cannot be the &amp;quot;System Global Contract&amp;quot;.&lt;br /&gt;
**Passing the Contract RecID indicates that this is a Contract-price charge.&lt;br /&gt;
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDSLPCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDSLPWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Charged Item&lt;br /&gt;
| FLDSLPITEMID&lt;br /&gt;
| The Item Record ID to be linked to the Charge. This is a mandatory field.&lt;br /&gt;
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDSLPBCRECID&lt;br /&gt;
| The contract record ID (must be a Contract of the Account)&lt;br /&gt;
|-&lt;br /&gt;
|Ticket REC ID&lt;br /&gt;
|FLDSLPTICKETID&lt;br /&gt;
|The Ticket ID to be linked to the Charge.&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDSLPSLIPDATE&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDSLPDESC&lt;br /&gt;
|The Charge Description. If not provided, will be taken from the Item's description.&lt;br /&gt;
|-&lt;br /&gt;
|Units/Hours&lt;br /&gt;
|FLDSLPQUANTITY&lt;br /&gt;
|This is the quantity of hours/units&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Amount&lt;br /&gt;
|FLDSLPADJUSTAMOUNT&lt;br /&gt;
|Discount/Markup amount. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Percent&lt;br /&gt;
|FLDSLPADJUSTPERCENT&lt;br /&gt;
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|From Time&lt;br /&gt;
|FLDSLPSTARTTIME&lt;br /&gt;
|From time for labor Charges e.g. 12:06&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|To Time&lt;br /&gt;
|FLDSLPENDTIME&lt;br /&gt;
|From time for labor Charges e.g. 14:50&lt;br /&gt;
* Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Price/Rate&lt;br /&gt;
|FLDSLPPRICE&lt;br /&gt;
|If not provided, the price is taken from the Item.&lt;br /&gt;
|-&lt;br /&gt;
| Billable&lt;br /&gt;
| FLDSLPBILLKIND&lt;br /&gt;
| B - Billable&amp;lt;br&amp;gt;&lt;br /&gt;
N - Not Billable&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, will be set according to the Contract type.&lt;br /&gt;
|-&lt;br /&gt;
| Billed&lt;br /&gt;
| FLDSLPSTAGE&lt;br /&gt;
| D - Draft&lt;br /&gt;
B - Billed&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDSLPUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Create User&lt;br /&gt;
| FLDSLPCREATEUSER&lt;br /&gt;
| External software name which created the Charge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Item parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDITMRECID&lt;br /&gt;
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.&lt;br /&gt;
|-&lt;br /&gt;
| Item Group&lt;br /&gt;
| FLDITMITEMTYPEGROUP&lt;br /&gt;
|The Item Group to be linked to the Charge. This is a mandatory field:&amp;lt;br&amp;gt;&lt;br /&gt;
F - Labor (Fee)&amp;lt;br&amp;gt;&lt;br /&gt;
X - Expense&amp;lt;br&amp;gt;&lt;br /&gt;
P - Part&lt;br /&gt;
|-&lt;br /&gt;
| Item Code&lt;br /&gt;
| FLDITMITEMNO&lt;br /&gt;
|The item code is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Item Name&lt;br /&gt;
| FLDITMNAME&lt;br /&gt;
| The item name is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Price Source&lt;br /&gt;
| FLDITMPRICESOURCE&lt;br /&gt;
| F - Fixed Price&amp;lt;br&amp;gt;&lt;br /&gt;
W - by Employee Rate&lt;br /&gt;
|-&lt;br /&gt;
| Price per Hour/Unit&lt;br /&gt;
| FLDITMUNITISHOUR&lt;br /&gt;
| This field indicated whether the price is unitbased or hours-based.&amp;lt;br&amp;gt;&lt;br /&gt;
Y - by Hours&amp;lt;br&amp;gt;&lt;br /&gt;
N - by Units&amp;lt;br&amp;gt;&lt;br /&gt;
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours&lt;br /&gt;
|-&lt;br /&gt;
|Price&lt;br /&gt;
|FLDITMUNITPRICE&lt;br /&gt;
|Must be a valid numeric value&lt;br /&gt;
|-&lt;br /&gt;
|Cost&lt;br /&gt;
|FLDITMSTANDARDCOST&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Taxes&lt;br /&gt;
|FLDITMTAXCODE1&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE2&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE3&lt;br /&gt;
|You can pass up to 3 different tax codes.&lt;br /&gt;
|-&lt;br /&gt;
|Description by Name&lt;br /&gt;
|FLDITMDESCBYNAME&lt;br /&gt;
|Y - take the description from the name field&amp;lt;br&amp;gt;&lt;br /&gt;
N - take the description from the Description field&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDITMDESC&lt;br /&gt;
|If not provided, the description is taken from the name.&lt;br /&gt;
|-&lt;br /&gt;
|Suspend&lt;br /&gt;
|FLDITMSUSPENDED&lt;br /&gt;
|Indicated whether this item is currently suspended:&amp;lt;br&amp;gt;&lt;br /&gt;
Y - yes&amp;lt;br&amp;gt;&lt;br /&gt;
N - no&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDITMNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDSLPUSER1&lt;br /&gt;
|User defined field&lt;br /&gt;
|-&lt;br /&gt;
|Create User&lt;br /&gt;
|FLDSLPCREATEUSER&lt;br /&gt;
|External software name which created the Charge&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDTKTCREATEUSER&lt;br /&gt;
| Should contain the external software name which created the Ticket&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===History Note Fields===&lt;br /&gt;
The table below lists the most important History Note parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDHISRECID&lt;br /&gt;
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
| FLDHISNOTEDATETIME&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDHISDESCRIPTION&lt;br /&gt;
| The Description text&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket/Contract&lt;br /&gt;
| FLDHISLINKRECID&lt;br /&gt;
| Link to Opportunity or Ticket or Contract&lt;br /&gt;
|-&lt;br /&gt;
| Field&lt;br /&gt;
| FLDHISUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| About&lt;br /&gt;
| FLDHISKIND&lt;br /&gt;
| Optional field&lt;br /&gt;
|-&lt;br /&gt;
|Employee&lt;br /&gt;
|FLDHISWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDHISCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database&lt;br /&gt;
#From the Email Response when adding new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDHISCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDHISDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDHISCREATEUSER&lt;br /&gt;
|Name of the external software which created this History Note&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Asset Fields===&lt;br /&gt;
The table below lists the most important Asset parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Asset Code&lt;br /&gt;
| FLDASTASSETCODE&lt;br /&gt;
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.&lt;br /&gt;
|-&lt;br /&gt;
| Asset Type&lt;br /&gt;
| FLDASTASSETTYPE&lt;br /&gt;
|The Type field is mandatory:&amp;lt;br&amp;gt;&lt;br /&gt;
Hardware = H&amp;lt;br&amp;gt;&lt;br /&gt;
Software = S&amp;lt;br&amp;gt;&lt;br /&gt;
Other = T&lt;br /&gt;
|-&lt;br /&gt;
| Asset Name&lt;br /&gt;
| FLDASTNAME&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDASTSTATUS&lt;br /&gt;
| Mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Active = A&amp;lt;br&amp;gt;&lt;br /&gt;
Not Active = N&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default Active is used.&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDASTRECID&lt;br /&gt;
| If provided, must exist in the database. Ignored if empty&lt;br /&gt;
|-&lt;br /&gt;
| Serial No.&lt;br /&gt;
| FLDASTSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDASTACCRECID&lt;br /&gt;
|The Account which is linked to the Asset&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDASTCONTACTRECID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Created by user&lt;br /&gt;
|FLDASTCREATEUSER&lt;br /&gt;
|Name of external software which created this Asset&lt;br /&gt;
|-&lt;br /&gt;
|Purchase Date&lt;br /&gt;
|FLDASTCUSTPURDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Purchased From Us&lt;br /&gt;
|FLDASTCUSTPURFROMUS&lt;br /&gt;
|Possible values: Y/N.&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default value Y is used.&lt;br /&gt;
|-&lt;br /&gt;
| Purchase Invoice #&lt;br /&gt;
| FLDASTCUSTPUROURINV&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Customer PO&lt;br /&gt;
| FLDASTCUSTPURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Purchase Price&lt;br /&gt;
| FLDASTCUSTPURPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Delivered Date&lt;br /&gt;
| FLDASTDELIVEDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDASTDESC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed By&lt;br /&gt;
| FLDASTINSTALBY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed Date&lt;br /&gt;
| FLDASTINSTALDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Codes&lt;br /&gt;
| FLDASTLICENSECODE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Keys&lt;br /&gt;
| FLDASTLICENSEKEY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Notes&lt;br /&gt;
| FLDASTLICENSENOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Location&lt;br /&gt;
| FLDASTLOCATION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Manufacturer&lt;br /&gt;
| FLDASTMANUFACTURER&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mnf Serial No.&lt;br /&gt;
| FLDASTMNFSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Model&lt;br /&gt;
| FLDASTMODEL&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Notes&lt;br /&gt;
| FLDASTNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Quantity&lt;br /&gt;
| FLDASTQUANTITY&lt;br /&gt;
| If not provided, default value of 1 is used.&lt;br /&gt;
|-&lt;br /&gt;
| Last Update By&lt;br /&gt;
| FLDASTUPDATEUSER&lt;br /&gt;
| Name of externals software which performed the update&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDASTUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDASTUSER2&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDASTUSER3&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDASTUSER4&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDASTUSER5&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Date1&lt;br /&gt;
| FLDASTUSERDATE1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Number1&lt;br /&gt;
| FLDASTUSERNUMBER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Vendor Purchased Date&lt;br /&gt;
| FLDASTVENDORDATEPURC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Invoice #&lt;br /&gt;
| FLDASTVENDORINVNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor PO&lt;br /&gt;
| FLDASTVENDOROURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Price&lt;br /&gt;
| FLDASTVENDORPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor&lt;br /&gt;
| FLDASTVENDORRECID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Serial No.&lt;br /&gt;
| FLDASTVENDORSERNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Warranty Exp. Date&lt;br /&gt;
| FLDASTVENDORWARREXP&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Version&lt;br /&gt;
| FLDASTVERSION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Warranty/License Exp.&lt;br /&gt;
| FLDASTWARREXPDATE&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Calendar Fields===&lt;br /&gt;
The table below lists the most important Calendar parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDEVTRECID&lt;br /&gt;
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this&lt;br /&gt;
will be added as a new Appointment/Task.&lt;br /&gt;
|-&lt;br /&gt;
| Event Type&lt;br /&gt;
| FLDEVTWRITETOID&lt;br /&gt;
|The Event type is a mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Appointment = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Task = 2&lt;br /&gt;
|-&lt;br /&gt;
| Employee&lt;br /&gt;
| FLDEVTWORKERID&lt;br /&gt;
| The Task/Appointment owner (for private events)&lt;br /&gt;
|-&lt;br /&gt;
| Private: User&lt;br /&gt;
| FLDEVTPRIVATEID&lt;br /&gt;
| Possible values: Y/N&amp;lt;br&amp;gt;&lt;br /&gt;
If an Employee was set, this field must be Y&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDEVTCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking&lt;br /&gt;
the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a&lt;br /&gt;
new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDEVTEVENTDATE&lt;br /&gt;
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not&lt;br /&gt;
provided, the current date will be used. &lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDEVTFREETEXT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Time: Start&lt;br /&gt;
|FLDEVTFROMTIME&lt;br /&gt;
|Mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Time: End&lt;br /&gt;
| FLDEVTTOTIME&lt;br /&gt;
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket&lt;br /&gt;
| FLDEVTLINKRECID&lt;br /&gt;
| Linked Ticket/Opportunity/Contract/Asset&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDEVTPLACE1&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDEVTPLACE2&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the&lt;br /&gt;
event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Opportunity Fields===&lt;br /&gt;
The table below lists the most important Opportunity parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDOPPRECID&lt;br /&gt;
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Name&lt;br /&gt;
| FLDOPPNAME&lt;br /&gt;
| Mandatory field.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity ID&lt;br /&gt;
| FLDOPPUSERID &lt;br /&gt;
| Optional (Oppty ID)&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDOPPCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| FLDOPPSOURCE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Close Date&lt;br /&gt;
|FLDOPPCLOSEDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Manager&lt;br /&gt;
|FLDOPPWORKERID&lt;br /&gt;
|The Manager's REC ID&lt;br /&gt;
|-&lt;br /&gt;
|Open Date&lt;br /&gt;
|FLDOPPOPENDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Close By Date&lt;br /&gt;
| FLDOPPESTDATE&lt;br /&gt;
| Opportunity must be closed by this date&lt;br /&gt;
|-&lt;br /&gt;
| Amount&lt;br /&gt;
| FLDOPPAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Probability %&lt;br /&gt;
| FLDOPPPROBABILITY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Stage&lt;br /&gt;
| FLDOPPSTAGE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDOPPSTATUS&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Closing Amount&lt;br /&gt;
| FLDOPPCLOSEAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDOPPDESCRIPTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Type&lt;br /&gt;
| FLDOPPKIND&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Reason&lt;br /&gt;
| FLDOPPREASON&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Note &lt;br /&gt;
|  FLDOPPNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Territory&lt;br /&gt;
|  FLDOPPREGION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|  FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|  FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|  FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Created by User&lt;br /&gt;
|  FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
|  Last Update: By User&lt;br /&gt;
|  FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Document Fields===&lt;br /&gt;
The table below lists the Document parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDDOCRECID&lt;br /&gt;
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDDOCDOCDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Subject&lt;br /&gt;
| FLDOPPUSERID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Linked Record&lt;br /&gt;
| FLDDOCLINKRECID&lt;br /&gt;
| The RECID of a linked object. Each Document can be linked to one of the following objects:&lt;br /&gt;
*Ticket&lt;br /&gt;
*Contract&lt;br /&gt;
*Opportunity&lt;br /&gt;
*Knowledge Base Article&lt;br /&gt;
*Asset&lt;br /&gt;
The Record ID (20 chars) can be taken from:&lt;br /&gt;
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new object with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Rec ID&lt;br /&gt;
| FLDDOCCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDDOCCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDDOCTRANSPORT&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDDOCFOLDER&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDDOCUMENTPLACE&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|File Path + File name&lt;br /&gt;
|FLDDOCDOCUMENTNAME&lt;br /&gt;
|The Document path&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDDOCTREEID&lt;br /&gt;
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDDOCWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Document. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDDOCCREATEUSER&lt;br /&gt;
| Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDDOCUPDATEUSER&lt;br /&gt;
| Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Knowledge Base Article Fields===&lt;br /&gt;
The table below lists the Knowledge Base Article parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDKBARECID&lt;br /&gt;
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDKBACREATEDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Title&lt;br /&gt;
| FLDKBATITLE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Problem&lt;br /&gt;
| FLDKBAPROBLEM&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Solution&lt;br /&gt;
| FLDKBASOLUTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDKBASTATUS&lt;br /&gt;
| Possible values:&lt;br /&gt;
*DRAFT = 'D'&lt;br /&gt;
*PUBLISHED = 'P'&lt;br /&gt;
*OBSOLETE = 'O'&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDKBACATEGORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Public&lt;br /&gt;
|FLDKBAISPUBLIC&lt;br /&gt;
|Is the Document public.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
*'Y' = Yes&lt;br /&gt;
*'N' = No&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDDOCCREATEUSER&lt;br /&gt;
|Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
|Last Update: By User&lt;br /&gt;
|FLDDOCUPDATEUSER&lt;br /&gt;
|Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error Codes Description===&lt;br /&gt;
&amp;lt;u&amp;gt;These error codes are returned when calling the CmtGetDescriptionByStatus function:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''1000''' CmtDbEng.dll not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1001''' Invalid value for the Data Kind value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1002''' Invalid DATA buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly&lt;br /&gt;
and that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and&lt;br /&gt;
that you've passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1007''' Invalid external software name received. Specify a unique name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once&lt;br /&gt;
prior to sending transactions for processing.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1009''' Path specified for Commit DB folder not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB&lt;br /&gt;
folder.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is&lt;br /&gt;
related to an inactive employee record.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1012''' Error registering software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1013''' Software name is missing. Make sure you specify a name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name&lt;br /&gt;
that has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1100''' Database access error.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;General error codes, returned when calling the functions CmtGetDescriptionByCode:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''50000''' The data is not correct for its type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50001''' The field value has been truncated due to the field length in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50002''' The insert operation Failed because the REC ID already existed in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50003''' Failed to update Record since it is being updated by another user.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50103''' Illegal REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50104''' REC ID Creation failed.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50105''' Illegal Sub-Contact REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50106''' Illegal Contract REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50107''' Illegal Employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50108''' Illegal Ticket REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50109''' Illegal Account REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50110''' Illegal data for that Contract.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50111''' This Employee is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50112''' Illegal Document REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50113''' Illegal linked object REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50114''' Employee not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50115''' Some mandatory fields have no values.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51000''' Illegal kind of Account entity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51001''' Account Manager not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51002''' The REC ID of the Account Manager is illegal.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51003''' Illegal tax code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51004''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52000''' Illegal kind of event.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52001''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52002''' Illegal end time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52003''' Illegal event date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52004''' The field Reminder1 has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52005''' The amount in the field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52006''' The Field Remider1:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52007''' The Field Remider2:Active has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52008''' The Field Remider2:Amount has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52009''' The Field Remider2:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52010''' Illegal employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52011''' Error occurred while updating the Task/Appointment employee field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54000''' Illegal Ticket open date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54001''' Illegal Ticket close date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54002''' Illegal Ticket code area.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54004''' Illegal Ticket priority.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54005''' Illegal Ticket status.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54006''' The Ticket Account was not found in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54007''' The Ticket Account Manager was not ound in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54008''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54009''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54010''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54011''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54012''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55000''' Illegal charge date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55001''' Illegal charge REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55002''' Illegal start date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55003''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55004''' Illegal amount entered for hours.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55005''' Illegal quantity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55006''' Illegal price.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55007''' Illegal total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55008''' Illegal value in the Adjust Amount field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55009''' Illegal value in the Adjust Percent.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55010''' The Discount/Markup field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55011''' Illegal value in the Adjust Kind field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55012''' Illegal bill total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55013''' You can not create a charge for a suspended item.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55014''' Item was not found in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55015''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55016''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55017''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55018''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55019''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55020''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55021''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56000''' Illegal item code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56001''' The field that indicates the item group type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56002''' The field that indicates if the Item is suspended has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56003''' Illegal value of The field that indicate if the item is suspended.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56004''' Mismatch found between the fields price and price source.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56005''' Illegal cost.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56006''' Mismatch found between the fields cost and item group type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56007''' The field that indicates if the charge is by unit or by hours has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56008''' Illegal value in the Description.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56009''' The field that indicates the item type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''57000''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58000''' Illegal date time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58001''' The Description field was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58002''' The field kind was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58003''' The Account member was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59000''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59001''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59002''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59003''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59004''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59005''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60000''' Invalid web user record ID number.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60001''' This customer web user is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60002''' This user is not a customer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit API Developers Guide]]&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3944</id>
		<title>API Reference Manual</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3944"/>
		<updated>2010-02-23T14:19:20Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Account Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanualsapidevelopersguide}}&lt;br /&gt;
==Intorduction==&lt;br /&gt;
&lt;br /&gt;
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API. &lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*[[#Account Fields|Accounts]]&lt;br /&gt;
*[[#Ticket Fields|Tickets]]&lt;br /&gt;
*[[#Charge Fields|Charges (and Contract-price Charges)]]&lt;br /&gt;
*[[#Item Fields|Items]]&lt;br /&gt;
*[[#History Note Fields|History Notes]]&lt;br /&gt;
*[[#Asset Fields|Assets]]&lt;br /&gt;
*[[#Calendar Fields|Calender]]&lt;br /&gt;
*[[#Opportunity Fields|Opportunities]]&lt;br /&gt;
*[[#Document Fields|Documents]]&lt;br /&gt;
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API functions may return error codes. You can find the possible error codes in:&lt;br /&gt;
*[[#Error Codes Description|Error Codes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments. &lt;br /&gt;
&lt;br /&gt;
Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this:   &lt;br /&gt;
&amp;lt;FLDSLPQUANTITY&amp;gt;10&amp;lt;/FLDSLPQUANTITY&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following table shows the data kind code when using XML or when using the API functions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Application entity'''&lt;br /&gt;
! '''Table name'''&lt;br /&gt;
! '''Programming Code'''&lt;br /&gt;
! '''XML Data Kind Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
| 10&lt;br /&gt;
| ACCOUNT &lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
| 20&lt;br /&gt;
| OPPORTUNITY &lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
| 30&lt;br /&gt;
| DOCUMENT &lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
| 40&lt;br /&gt;
| CHARGE&lt;br /&gt;
|-&lt;br /&gt;
| Appointments/Tasks &lt;br /&gt;
| Events &lt;br /&gt;
| 50&lt;br /&gt;
| APPOINTMENT-OR-TASK&lt;br /&gt;
|-&lt;br /&gt;
| History Notes &lt;br /&gt;
| Notebook &lt;br /&gt;
| 60&lt;br /&gt;
| HISTORY-NOTE&lt;br /&gt;
|-&lt;br /&gt;
| Tickets &lt;br /&gt;
| Tickets &lt;br /&gt;
| 70&lt;br /&gt;
| TICKET &lt;br /&gt;
|-&lt;br /&gt;
| Items &lt;br /&gt;
| Items &lt;br /&gt;
| 80&lt;br /&gt;
| ITEM &lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
| 90&lt;br /&gt;
| ASSET &lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
| 100&lt;br /&gt;
| KBARTICLE &lt;br /&gt;
|}&lt;br /&gt;
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
===Account Fields===&lt;br /&gt;
The following table lists the most important parameters for adding/updating Account&lt;br /&gt;
records.&lt;br /&gt;
Note slight differences when adding a main account vs. adding a secondary contact.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDCRDRECID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database.&lt;br /&gt;
#From the Email Response when adding new Account with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Manager&lt;br /&gt;
| FLDCRDASSIGNCARDID&lt;br /&gt;
| This field has two roles:&lt;br /&gt;
#When adding a main Account:&amp;lt;br&amp;gt;The account manager should contain the ID of the Employee who is the account manager.&lt;br /&gt;
#When adding a secondary contact:&amp;lt;br&amp;gt;&lt;br /&gt;
This field should contain the ID of the main Account to which the secondary contacted is&lt;br /&gt;
added.&lt;br /&gt;
|-&lt;br /&gt;
|Company name&lt;br /&gt;
|FLDCRDCOMPANY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contact: First &amp;amp; Last Name&lt;br /&gt;
|FLDCRDCONTACT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Assistant&lt;br /&gt;
| FLDCRDASSISTANT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contract&lt;br /&gt;
|FLDCRDBCRECID&lt;br /&gt;
|The default Contract for this Account (not required)&lt;br /&gt;
|-&lt;br /&gt;
|Account Number&lt;br /&gt;
|FLDCRDCARDID2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ID&lt;br /&gt;
|FLDCRDCARDID3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message&lt;br /&gt;
|FLDCRDCARDMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line1&lt;br /&gt;
| FLDCRDADDRESS1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line2&lt;br /&gt;
| FLDCRDADDRESS2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line3&lt;br /&gt;
| FLDCRDADDRESS3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: City&lt;br /&gt;
|FLDCRDCITY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: State&lt;br /&gt;
|FLDCRDCOUNTRY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Country&lt;br /&gt;
|FLDCRDSTATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Zip&lt;br /&gt;
|FLDCRDZIP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Creation Date&lt;br /&gt;
|FLDCRDCREATEDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDCRDCREATEUSERID&lt;br /&gt;
|Foreign Software Name which created the account&lt;br /&gt;
|-&lt;br /&gt;
|Dear&lt;br /&gt;
|FLDCRDDEAR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Department&lt;br /&gt;
|FLDCRDDEPARTMENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Documents Store Directory&lt;br /&gt;
|FLDCRDDOCSFOLDER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 1&lt;br /&gt;
|FLDCRDEMAIL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 2&lt;br /&gt;
|FLDCRDEMAIL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Account Type&lt;br /&gt;
|FLDCRDENTITYKIND&lt;br /&gt;
|When adding a Main Account = 1&amp;lt;br&amp;gt;When adding a secondary contact = 5&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number &lt;br /&gt;
|FLDCRDFAX1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number Extension&lt;br /&gt;
|FLDCRDFAXDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|File as &lt;br /&gt;
|FLDCRDFULLNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Type &lt;br /&gt;
|FLDCRDKIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Name &lt;br /&gt;
|FLDCRDLASTNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field &lt;br /&gt;
|FLDCRDPERSONID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 Ext. &lt;br /&gt;
|FLDCRDPHNDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 Ext. &lt;br /&gt;
|FLDCRDPHNDESC2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 Ext. &lt;br /&gt;
|FLDCRDPHNDESC3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 Ext. &lt;br /&gt;
|FLDCRDPHNDESC4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 &lt;br /&gt;
|FLDCRDPHONE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 &lt;br /&gt;
|FLDCRDPHONE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 &lt;br /&gt;
|FLDCRDPHONE3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 &lt;br /&gt;
|FLDCRDPHONE4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Region&lt;br /&gt;
|FLDCRDREGIONCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message: Display Indication&lt;br /&gt;
|FLDCRDSHOWMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sub-Contact Code&lt;br /&gt;
|FLDCRDSUBCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Salutation&lt;br /&gt;
|FLDCRDSUFFIX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax1&lt;br /&gt;
|FLDCRDTAXCODE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax2&lt;br /&gt;
|FLDCRDTAXCODE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|FLDCRDTITLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Updated by&lt;br /&gt;
|FLDCRDUPDATEUSERID&lt;br /&gt;
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 1&lt;br /&gt;
|FLDCRDURL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 2&lt;br /&gt;
|FLDCRDURL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDCRDUSER1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDCRDUSER2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDCRDUSER3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDCRDUSER4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field4&lt;br /&gt;
|FLDCRDUSER5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Ticket Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Ticket parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDTKTCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a cnew Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDTKTCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDTKTBCRECID&lt;br /&gt;
|The Contract ID. If not supplied, will be taken from the Account's default contract.&lt;br /&gt;
|-&lt;br /&gt;
| Emp. REC ID&lt;br /&gt;
| FLDTKTWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Priority&lt;br /&gt;
| FLDTKTPRIORITY&lt;br /&gt;
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.&lt;br /&gt;
Immediate = 10&amp;lt;br&amp;gt;High = 20&amp;lt;br&amp;gt;Normal = 30&amp;lt;br&amp;gt;Low = 40&amp;lt;br&amp;gt;Not Applicable= 50&lt;br /&gt;
|-&lt;br /&gt;
| Ticket Number&lt;br /&gt;
| FLDTKTTICKETNO &lt;br /&gt;
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDTKTPROBLEM&lt;br /&gt;
|This is the Ticket Description. This is a mandatory field, which must contain text.&lt;br /&gt;
|-&lt;br /&gt;
|Ticket Type&lt;br /&gt;
|FLDTKTKIND&lt;br /&gt;
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.&lt;br /&gt;
|-&lt;br /&gt;
|Source&lt;br /&gt;
|FLDTKTSOURCE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Estimated Duration Time&lt;br /&gt;
|FLDTKTSCHEDLENESTIM&lt;br /&gt;
|Estimated duration time for the Ticket in minutes.&lt;br /&gt;
|-&lt;br /&gt;
|Show Ticket in Dispatcher&lt;br /&gt;
|FLDTKTFORDISPATCH&lt;br /&gt;
|Possible values: Yes/No&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDTKTSTATUS&lt;br /&gt;
|The Ticket Status (optional).&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
New = 100&amp;lt;br&amp;gt;&lt;br /&gt;
Pending = 200&amp;lt;br&amp;gt;&lt;br /&gt;
Scheduled = 300&amp;lt;br&amp;gt;&lt;br /&gt;
In-House Service = 400&amp;lt;br&amp;gt;&lt;br /&gt;
On-Site Service = 500&amp;lt;br&amp;gt;&lt;br /&gt;
Laboratory Service = 600&amp;lt;br&amp;gt;&lt;br /&gt;
Hold = 700&amp;lt;br&amp;gt;&lt;br /&gt;
Other = 800&amp;lt;br&amp;gt;&lt;br /&gt;
Canceled = 900&amp;lt;br&amp;gt;&lt;br /&gt;
Completed = 1000&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDTKTCREATEUSER&lt;br /&gt;
|Should contain the external software name which created the Ticket&lt;br /&gt;
|-&lt;br /&gt;
|Due Date&lt;br /&gt;
|FLDTKTDUEDATETIME&lt;br /&gt;
|Due date for the Ticket. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Resolution&lt;br /&gt;
|FLDTKTSOLUTION&lt;br /&gt;
|Ticket resolution text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Charge Fields===&lt;br /&gt;
The table below lists the most important Charge parameters and behavior.&lt;br /&gt;
&lt;br /&gt;
Contract-price Charges have some special characteristics (see comments marked by * in&lt;br /&gt;
the table below):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be&lt;br /&gt;
added as a new Charge.&lt;br /&gt;
|-&lt;br /&gt;
| Charge Source&lt;br /&gt;
| FLDSLPSOURCERECID&lt;br /&gt;
|The Charge source is the entity for which the charge is created.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&lt;br /&gt;
*Linked Contract RecID (for Contract-price Charges). Cannot be the &amp;quot;System Global Contract&amp;quot;.&lt;br /&gt;
**Passing the Contract RecID indicates that this is a Contract-price charge.&lt;br /&gt;
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDSLPCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDSLPWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Charged Item&lt;br /&gt;
| FLDSLPITEMID&lt;br /&gt;
| The Item Record ID to be linked to the Charge. This is a mandatory field.&lt;br /&gt;
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDSLPBCRECID&lt;br /&gt;
| The contract record ID (must be a Contract of the Account)&lt;br /&gt;
|-&lt;br /&gt;
|Ticket REC ID&lt;br /&gt;
|FLDSLPTICKETID&lt;br /&gt;
|The Ticket ID to be linked to the Charge.&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDSLPSLIPDATE&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDSLPDESC&lt;br /&gt;
|The Charge Description. If not provided, will be taken from the Item's description.&lt;br /&gt;
|-&lt;br /&gt;
|Units/Hours&lt;br /&gt;
|FLDSLPQUANTITY&lt;br /&gt;
|This is the quantity of hours/units&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Amount&lt;br /&gt;
|FLDSLPADJUSTAMOUNT&lt;br /&gt;
|Discount/Markup amount. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Percent&lt;br /&gt;
|FLDSLPADJUSTPERCENT&lt;br /&gt;
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|From Time&lt;br /&gt;
|FLDSLPSTARTTIME&lt;br /&gt;
|From time for labor Charges e.g. 12:06&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|To Time&lt;br /&gt;
|FLDSLPENDTIME&lt;br /&gt;
|From time for labor Charges e.g. 14:50&lt;br /&gt;
* Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Price/Rate&lt;br /&gt;
|FLDSLPPRICE&lt;br /&gt;
|If not provided, the price is taken from the Item.&lt;br /&gt;
|-&lt;br /&gt;
| Billable&lt;br /&gt;
| FLDSLPBILLKIND&lt;br /&gt;
| B - Billable&amp;lt;br&amp;gt;&lt;br /&gt;
N - Not Billable&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, will be set according to the Contract type.&lt;br /&gt;
|-&lt;br /&gt;
| Billed&lt;br /&gt;
| FLDSLPSTAGE&lt;br /&gt;
| D - Draft&lt;br /&gt;
B - Billed&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDSLPUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Create User&lt;br /&gt;
| FLDSLPCREATEUSER&lt;br /&gt;
| External software name which created the Charge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Item parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.&lt;br /&gt;
|-&lt;br /&gt;
| Item Group&lt;br /&gt;
| FLDITMITEMTYPEGROUP&lt;br /&gt;
|The Item Group to be linked to the Charge. This is a mandatory field:&amp;lt;br&amp;gt;&lt;br /&gt;
F - Labor (Fee)&amp;lt;br&amp;gt;&lt;br /&gt;
X - Expense&amp;lt;br&amp;gt;&lt;br /&gt;
P - Part&lt;br /&gt;
|-&lt;br /&gt;
| Item Code&lt;br /&gt;
| FLDITMITEMNO&lt;br /&gt;
|The item code is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Item Name&lt;br /&gt;
| FLDITMNAME&lt;br /&gt;
| The item name is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Price Source&lt;br /&gt;
| FLDITMPRICESOURCE&lt;br /&gt;
| F - Fixed Price&amp;lt;br&amp;gt;&lt;br /&gt;
W - by Employee Rate&lt;br /&gt;
|-&lt;br /&gt;
| Price per Hour/Unit&lt;br /&gt;
| FLDITMUNITISHOUR&lt;br /&gt;
| This field indicated whether the price is unitbased or hours-based.&amp;lt;br&amp;gt;&lt;br /&gt;
Y - by Hours&amp;lt;br&amp;gt;&lt;br /&gt;
N - by Units&amp;lt;br&amp;gt;&lt;br /&gt;
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours&lt;br /&gt;
|-&lt;br /&gt;
|Price&lt;br /&gt;
|FLDITMUNITPRICE&lt;br /&gt;
|Must be a valid numeric value&lt;br /&gt;
|-&lt;br /&gt;
|Cost&lt;br /&gt;
|FLDITMSTANDARDCOST&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Taxes&lt;br /&gt;
|FLDITMTAXCODE1&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE2&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE3&lt;br /&gt;
|You can pass up to 3 different tax codes.&lt;br /&gt;
|-&lt;br /&gt;
|Description by Name&lt;br /&gt;
|FLDITMDESCBYNAME&lt;br /&gt;
|Y - take the description from the name field&amp;lt;br&amp;gt;&lt;br /&gt;
N - take the description from the Description field&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDITMDESC&lt;br /&gt;
|If not provided, the description is taken from the name.&lt;br /&gt;
|-&lt;br /&gt;
|Suspend&lt;br /&gt;
|FLDITMSUSPENDED&lt;br /&gt;
|Indicated whether this item is currently suspended:&amp;lt;br&amp;gt;&lt;br /&gt;
Y - yes&amp;lt;br&amp;gt;&lt;br /&gt;
N - no&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDITMNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDSLPUSER1&lt;br /&gt;
|User defined field&lt;br /&gt;
|-&lt;br /&gt;
|Create User&lt;br /&gt;
|FLDSLPCREATEUSER&lt;br /&gt;
|External software name which created the Charge&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDTKTCREATEUSER&lt;br /&gt;
| Should contain the external software name which created the Ticket&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===History Note Fields===&lt;br /&gt;
The table below lists the most important History Note parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDHISRECID&lt;br /&gt;
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
| FLDHISNOTEDATETIME&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDHISDESCRIPTION&lt;br /&gt;
| The Description text&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket/Contract&lt;br /&gt;
| FLDHISLINKRECID&lt;br /&gt;
| Link to Opportunity or Ticket or Contract&lt;br /&gt;
|-&lt;br /&gt;
| Field&lt;br /&gt;
| FLDHISUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| About&lt;br /&gt;
| FLDHISKIND&lt;br /&gt;
| Optional field&lt;br /&gt;
|-&lt;br /&gt;
|Employee&lt;br /&gt;
|FLDHISWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDHISCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database&lt;br /&gt;
#From the Email Response when adding new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDHISCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDHISDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDHISCREATEUSER&lt;br /&gt;
|Name of the external software which created this History Note&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Asset Fields===&lt;br /&gt;
The table below lists the most important Asset parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Asset Code&lt;br /&gt;
| FLDASTASSETCODE&lt;br /&gt;
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.&lt;br /&gt;
|-&lt;br /&gt;
| Asset Type&lt;br /&gt;
| FLDASTASSETTYPE&lt;br /&gt;
|The Type field is mandatory:&amp;lt;br&amp;gt;&lt;br /&gt;
Hardware = H&amp;lt;br&amp;gt;&lt;br /&gt;
Software = S&amp;lt;br&amp;gt;&lt;br /&gt;
Other = T&lt;br /&gt;
|-&lt;br /&gt;
| Asset Name&lt;br /&gt;
| FLDASTNAME&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDASTSTATUS&lt;br /&gt;
| Mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Active = A&amp;lt;br&amp;gt;&lt;br /&gt;
Not Active = N&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default Active is used.&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDASTRECID&lt;br /&gt;
| If provided, must exist in the database. Ignored if empty&lt;br /&gt;
|-&lt;br /&gt;
| Serial No.&lt;br /&gt;
| FLDASTSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDASTACCRECID&lt;br /&gt;
|The Account which is linked to the Asset&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDASTCONTACTRECID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Created by user&lt;br /&gt;
|FLDASTCREATEUSER&lt;br /&gt;
|Name of external software which created this Asset&lt;br /&gt;
|-&lt;br /&gt;
|Purchase Date&lt;br /&gt;
|FLDASTCUSTPURDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Purchased From Us&lt;br /&gt;
|FLDASTCUSTPURFROMUS&lt;br /&gt;
|Possible values: Y/N.&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default value Y is used.&lt;br /&gt;
|-&lt;br /&gt;
| Purchase Invoice #&lt;br /&gt;
| FLDASTCUSTPUROURINV&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Customer PO&lt;br /&gt;
| FLDASTCUSTPURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Purchase Price&lt;br /&gt;
| FLDASTCUSTPURPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Delivered Date&lt;br /&gt;
| FLDASTDELIVEDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDASTDESC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed By&lt;br /&gt;
| FLDASTINSTALBY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed Date&lt;br /&gt;
| FLDASTINSTALDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Codes&lt;br /&gt;
| FLDASTLICENSECODE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Keys&lt;br /&gt;
| FLDASTLICENSEKEY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Notes&lt;br /&gt;
| FLDASTLICENSENOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Location&lt;br /&gt;
| FLDASTLOCATION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Manufacturer&lt;br /&gt;
| FLDASTMANUFACTURER&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mnf Serial No.&lt;br /&gt;
| FLDASTMNFSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Model&lt;br /&gt;
| FLDASTMODEL&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Notes&lt;br /&gt;
| FLDASTNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Quantity&lt;br /&gt;
| FLDASTQUANTITY&lt;br /&gt;
| If not provided, default value of 1 is used.&lt;br /&gt;
|-&lt;br /&gt;
| Last Update By&lt;br /&gt;
| FLDASTUPDATEUSER&lt;br /&gt;
| Name of externals software which performed the update&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDASTUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDASTUSER2&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDASTUSER3&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDASTUSER4&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDASTUSER5&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Date1&lt;br /&gt;
| FLDASTUSERDATE1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Number1&lt;br /&gt;
| FLDASTUSERNUMBER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Vendor Purchased Date&lt;br /&gt;
| FLDASTVENDORDATEPURC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Invoice #&lt;br /&gt;
| FLDASTVENDORINVNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor PO&lt;br /&gt;
| FLDASTVENDOROURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Price&lt;br /&gt;
| FLDASTVENDORPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor&lt;br /&gt;
| FLDASTVENDORRECID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Serial No.&lt;br /&gt;
| FLDASTVENDORSERNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Warranty Exp. Date&lt;br /&gt;
| FLDASTVENDORWARREXP&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Version&lt;br /&gt;
| FLDASTVERSION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Warranty/License Exp.&lt;br /&gt;
| FLDASTWARREXPDATE&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Calendar Fields===&lt;br /&gt;
The table below lists the most important Calendar parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDEVTRECID&lt;br /&gt;
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this&lt;br /&gt;
will be added as a new Appointment/Task.&lt;br /&gt;
|-&lt;br /&gt;
| Event Type&lt;br /&gt;
| FLDEVTWRITETOID&lt;br /&gt;
|The Event type is a mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Appointment = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Task = 2&lt;br /&gt;
|-&lt;br /&gt;
| Employee&lt;br /&gt;
| FLDEVTWORKERID&lt;br /&gt;
| The Task/Appointment owner (for private events)&lt;br /&gt;
|-&lt;br /&gt;
| Private: User&lt;br /&gt;
| FLDEVTPRIVATEID&lt;br /&gt;
| Possible values: Y/N&amp;lt;br&amp;gt;&lt;br /&gt;
If an Employee was set, this field must be Y&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDEVTCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking&lt;br /&gt;
the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a&lt;br /&gt;
new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDEVTEVENTDATE&lt;br /&gt;
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not&lt;br /&gt;
provided, the current date will be used. &lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDEVTFREETEXT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Time: Start&lt;br /&gt;
|FLDEVTFROMTIME&lt;br /&gt;
|Mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Time: End&lt;br /&gt;
| FLDEVTTOTIME&lt;br /&gt;
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket&lt;br /&gt;
| FLDEVTLINKRECID&lt;br /&gt;
| Linked Ticket/Opportunity/Contract/Asset&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDEVTPLACE1&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDEVTPLACE2&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the&lt;br /&gt;
event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Opportunity Fields===&lt;br /&gt;
The table below lists the most important Opportunity parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDOPPRECID&lt;br /&gt;
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Name&lt;br /&gt;
| FLDOPPNAME&lt;br /&gt;
| Mandatory field.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity ID&lt;br /&gt;
| FLDOPPUSERID &lt;br /&gt;
| Optional (Oppty ID)&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDOPPCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| FLDOPPSOURCE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Close Date&lt;br /&gt;
|FLDOPPCLOSEDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Manager&lt;br /&gt;
|FLDOPPWORKERID&lt;br /&gt;
|The Manager's REC ID&lt;br /&gt;
|-&lt;br /&gt;
|Open Date&lt;br /&gt;
|FLDOPPOPENDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Close By Date&lt;br /&gt;
| FLDOPPESTDATE&lt;br /&gt;
| Opportunity must be closed by this date&lt;br /&gt;
|-&lt;br /&gt;
| Amount&lt;br /&gt;
| FLDOPPAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Probability %&lt;br /&gt;
| FLDOPPPROBABILITY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Stage&lt;br /&gt;
| FLDOPPSTAGE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDOPPSTATUS&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Closing Amount&lt;br /&gt;
| FLDOPPCLOSEAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDOPPDESCRIPTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Type&lt;br /&gt;
| FLDOPPKIND&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Reason&lt;br /&gt;
| FLDOPPREASON&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Note &lt;br /&gt;
|  FLDOPPNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Territory&lt;br /&gt;
|  FLDOPPREGION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|  FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|  FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|  FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Created by User&lt;br /&gt;
|  FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
|  Last Update: By User&lt;br /&gt;
|  FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Document Fields===&lt;br /&gt;
The table below lists the Document parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDDOCRECID&lt;br /&gt;
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDDOCDOCDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Subject&lt;br /&gt;
| FLDOPPUSERID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Linked Record&lt;br /&gt;
| FLDDOCLINKRECID&lt;br /&gt;
| The RECID of a linked object. Each Document can be linked to one of the following objects:&lt;br /&gt;
*Ticket&lt;br /&gt;
*Contract&lt;br /&gt;
*Opportunity&lt;br /&gt;
*Knowledge Base Article&lt;br /&gt;
*Asset&lt;br /&gt;
The Record ID (20 chars) can be taken from:&lt;br /&gt;
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new object with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Rec ID&lt;br /&gt;
| FLDDOCCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDDOCCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDDOCTRANSPORT&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDDOCFOLDER&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDDOCUMENTPLACE&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|File Path + File name&lt;br /&gt;
|FLDDOCDOCUMENTNAME&lt;br /&gt;
|The Document path&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDDOCTREEID&lt;br /&gt;
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDDOCWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Document. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDDOCCREATEUSER&lt;br /&gt;
| Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDDOCUPDATEUSER&lt;br /&gt;
| Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Knowledge Base Article Fields===&lt;br /&gt;
The table below lists the Knowledge Base Article parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDKBARECID&lt;br /&gt;
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDKBACREATEDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Title&lt;br /&gt;
| FLDKBATITLE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Problem&lt;br /&gt;
| FLDKBAPROBLEM&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Solution&lt;br /&gt;
| FLDKBASOLUTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDKBASTATUS&lt;br /&gt;
| Possible values:&lt;br /&gt;
*DRAFT = 'D'&lt;br /&gt;
*PUBLISHED = 'P'&lt;br /&gt;
*OBSOLETE = 'O'&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDKBACATEGORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Public&lt;br /&gt;
|FLDKBAISPUBLIC&lt;br /&gt;
|Is the Document public.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
*'Y' = Yes&lt;br /&gt;
*'N' = No&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDDOCCREATEUSER&lt;br /&gt;
|Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
|Last Update: By User&lt;br /&gt;
|FLDDOCUPDATEUSER&lt;br /&gt;
|Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error Codes Description===&lt;br /&gt;
&amp;lt;u&amp;gt;These error codes are returned when calling the CmtGetDescriptionByStatus function:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''1000''' CmtDbEng.dll not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1001''' Invalid value for the Data Kind value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1002''' Invalid DATA buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly&lt;br /&gt;
and that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and&lt;br /&gt;
that you've passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1007''' Invalid external software name received. Specify a unique name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once&lt;br /&gt;
prior to sending transactions for processing.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1009''' Path specified for Commit DB folder not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB&lt;br /&gt;
folder.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is&lt;br /&gt;
related to an inactive employee record.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1012''' Error registering software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1013''' Software name is missing. Make sure you specify a name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name&lt;br /&gt;
that has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1100''' Database access error.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;General error codes, returned when calling the functions CmtGetDescriptionByCode:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''50000''' The data is not correct for its type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50001''' The field value has been truncated due to the field length in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50002''' The insert operation Failed because the REC ID already existed in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50003''' Failed to update Record since it is being updated by another user.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50103''' Illegal REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50104''' REC ID Creation failed.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50105''' Illegal Sub-Contact REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50106''' Illegal Contract REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50107''' Illegal Employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50108''' Illegal Ticket REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50109''' Illegal Account REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50110''' Illegal data for that Contract.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50111''' This Employee is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50112''' Illegal Document REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50113''' Illegal linked object REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50114''' Employee not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50115''' Some mandatory fields have no values.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51000''' Illegal kind of Account entity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51001''' Account Manager not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51002''' The REC ID of the Account Manager is illegal.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51003''' Illegal tax code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51004''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52000''' Illegal kind of event.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52001''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52002''' Illegal end time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52003''' Illegal event date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52004''' The field Reminder1 has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52005''' The amount in the field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52006''' The Field Remider1:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52007''' The Field Remider2:Active has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52008''' The Field Remider2:Amount has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52009''' The Field Remider2:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52010''' Illegal employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52011''' Error occurred while updating the Task/Appointment employee field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54000''' Illegal Ticket open date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54001''' Illegal Ticket close date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54002''' Illegal Ticket code area.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54004''' Illegal Ticket priority.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54005''' Illegal Ticket status.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54006''' The Ticket Account was not found in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54007''' The Ticket Account Manager was not ound in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54008''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54009''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54010''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54011''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54012''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55000''' Illegal charge date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55001''' Illegal charge REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55002''' Illegal start date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55003''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55004''' Illegal amount entered for hours.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55005''' Illegal quantity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55006''' Illegal price.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55007''' Illegal total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55008''' Illegal value in the Adjust Amount field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55009''' Illegal value in the Adjust Percent.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55010''' The Discount/Markup field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55011''' Illegal value in the Adjust Kind field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55012''' Illegal bill total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55013''' You can not create a charge for a suspended item.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55014''' Item was not found in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55015''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55016''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55017''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55018''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55019''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55020''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55021''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56000''' Illegal item code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56001''' The field that indicates the item group type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56002''' The field that indicates if the Item is suspended has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56003''' Illegal value of The field that indicate if the item is suspended.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56004''' Mismatch found between the fields price and price source.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56005''' Illegal cost.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56006''' Mismatch found between the fields cost and item group type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56007''' The field that indicates if the charge is by unit or by hours has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56008''' Illegal value in the Description.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56009''' The field that indicates the item type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''57000''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58000''' Illegal date time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58001''' The Description field was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58002''' The field kind was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58003''' The Account member was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59000''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59001''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59002''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59003''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59004''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59005''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60000''' Invalid web user record ID number.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60001''' This customer web user is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60002''' This user is not a customer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit API Developers Guide]]&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3943</id>
		<title>API Reference Manual</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3943"/>
		<updated>2010-02-23T14:18:08Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Account Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanualsapidevelopersguide}}&lt;br /&gt;
==Intorduction==&lt;br /&gt;
&lt;br /&gt;
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API. &lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*[[#Account Fields|Accounts]]&lt;br /&gt;
*[[#Ticket Fields|Tickets]]&lt;br /&gt;
*[[#Charge Fields|Charges (and Contract-price Charges)]]&lt;br /&gt;
*[[#Item Fields|Items]]&lt;br /&gt;
*[[#History Note Fields|History Notes]]&lt;br /&gt;
*[[#Asset Fields|Assets]]&lt;br /&gt;
*[[#Calendar Fields|Calender]]&lt;br /&gt;
*[[#Opportunity Fields|Opportunities]]&lt;br /&gt;
*[[#Document Fields|Documents]]&lt;br /&gt;
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API functions may return error codes. You can find the possible error codes in:&lt;br /&gt;
*[[#Error Codes Description|Error Codes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments. &lt;br /&gt;
&lt;br /&gt;
Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this:   &lt;br /&gt;
&amp;lt;FLDSLPQUANTITY&amp;gt;10&amp;lt;/FLDSLPQUANTITY&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following table shows the data kind code when using XML or when using the API functions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Application entity'''&lt;br /&gt;
! '''Table name'''&lt;br /&gt;
! '''Programming Code'''&lt;br /&gt;
! '''XML Data Kind Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
| 10&lt;br /&gt;
| ACCOUNT &lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
| 20&lt;br /&gt;
| OPPORTUNITY &lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
| 30&lt;br /&gt;
| DOCUMENT &lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
| 40&lt;br /&gt;
| CHARGE&lt;br /&gt;
|-&lt;br /&gt;
| Appointments/Tasks &lt;br /&gt;
| Events &lt;br /&gt;
| 50&lt;br /&gt;
| APPOINTMENT-OR-TASK&lt;br /&gt;
|-&lt;br /&gt;
| History Notes &lt;br /&gt;
| Notebook &lt;br /&gt;
| 60&lt;br /&gt;
| HISTORY-NOTE&lt;br /&gt;
|-&lt;br /&gt;
| Tickets &lt;br /&gt;
| Tickets &lt;br /&gt;
| 70&lt;br /&gt;
| TICKET &lt;br /&gt;
|-&lt;br /&gt;
| Items &lt;br /&gt;
| Items &lt;br /&gt;
| 80&lt;br /&gt;
| ITEM &lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
| 90&lt;br /&gt;
| ASSET &lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
| 100&lt;br /&gt;
| KBARTICLE &lt;br /&gt;
|}&lt;br /&gt;
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
===Account Fields===&lt;br /&gt;
The following table lists the most important parameters for adding/updating Account&lt;br /&gt;
records.&lt;br /&gt;
Note slight differences when adding a main account vs. adding a secondary contact.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDCRDRECID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database.&lt;br /&gt;
#From the Email Response when adding new Account with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Manager&lt;br /&gt;
| FLDCRDASSIGNCARDID&lt;br /&gt;
| This field has two roles:&lt;br /&gt;
#When adding a main Account:&amp;lt;br&amp;gt;The account manager should contain the ID of the Employee who is the account manager.&lt;br /&gt;
#When adding a secondary contact:&amp;lt;br&amp;gt;&lt;br /&gt;
This field should contain the ID of the main Account to which the secondary contacted is&lt;br /&gt;
added.&lt;br /&gt;
|-&lt;br /&gt;
|Company name&lt;br /&gt;
|FLDCRDCOMPANY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contact: First &amp;amp; Last Name&lt;br /&gt;
|FLDCRDCONTACT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Assistant&lt;br /&gt;
| FLDCRDASSISTANT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contract&lt;br /&gt;
|FLDCRDBCRECID&lt;br /&gt;
|The default Contract for this Account (not required)&lt;br /&gt;
|-&lt;br /&gt;
|Account Number&lt;br /&gt;
|FLDCRDCARDID2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ID&lt;br /&gt;
|FLDCRDCARDID3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message&lt;br /&gt;
|FLDCRDCARDMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line1&lt;br /&gt;
| FLDCRDADDRESS1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line2&lt;br /&gt;
| FLDCRDADDRESS2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line3&lt;br /&gt;
| FLDCRDADDRESS3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: City&lt;br /&gt;
|FLDCRDCITY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: State&lt;br /&gt;
|FLDCRDCOUNTRY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Country&lt;br /&gt;
|FLDCRDSTATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Zip&lt;br /&gt;
|FLDCRDZIP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Creation Date&lt;br /&gt;
|FLDCRDCREATEDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDCRDCREATEUSERID&lt;br /&gt;
|Foreign Software Name which created the account&lt;br /&gt;
|-&lt;br /&gt;
|Dear&lt;br /&gt;
|FLDCRDDEAR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Department&lt;br /&gt;
|FLDCRDDEPARTMENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Documents Store Directory&lt;br /&gt;
|FLDCRDDOCSFOLDER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 1&lt;br /&gt;
|FLDCRDEMAIL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 2&lt;br /&gt;
|FLDCRDEMAIL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Account Type&lt;br /&gt;
|FLDCRDENTITYKIND&lt;br /&gt;
|When adding a Main Account = 1&amp;lt;br&amp;gt;When adding a secondary contact = 5&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number &lt;br /&gt;
|FLDCRDFAX1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number Extension&lt;br /&gt;
|FLDCRDFAXDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|File as &lt;br /&gt;
|FLDCRDFULLNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Type &lt;br /&gt;
|FLDCRDKIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Name &lt;br /&gt;
|FLDCRDLASTNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field &lt;br /&gt;
|FLDCRDPERSONID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 Ext. &lt;br /&gt;
|FLDCRDPHNDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 Ext. &lt;br /&gt;
|FLDCRDPHNDESC2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 Ext. &lt;br /&gt;
|FLDCRDPHNDESC3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 Ext. &lt;br /&gt;
|FLDCRDPHNDESC4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 &lt;br /&gt;
|FLDCRDPHONE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 &lt;br /&gt;
|FLDCRDPHONE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 &lt;br /&gt;
|FLDCRDPHONE3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 &lt;br /&gt;
|FLDCRDPHONE4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Region&lt;br /&gt;
|Region FLDCRDREGIONCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message: Display Indication&lt;br /&gt;
|FLDCRDSHOWMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sub-Contact Code&lt;br /&gt;
|FLDCRDSUBCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Salutation&lt;br /&gt;
|FLDCRDSUFFIX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax1&lt;br /&gt;
|FLDCRDTAXCODE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax2&lt;br /&gt;
|FLDCRDTAXCODE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|FLDCRDTITLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Updated by&lt;br /&gt;
|FLDCRDUPDATEUSERID&lt;br /&gt;
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 1&lt;br /&gt;
|FLDCRDURL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 2&lt;br /&gt;
|FLDCRDURL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDCRDUSER1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDCRDUSER2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDCRDUSER3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDCRDUSER4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field4&lt;br /&gt;
|FLDCRDUSER5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Ticket Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Ticket parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDTKTCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a cnew Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDTKTCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDTKTBCRECID&lt;br /&gt;
|The Contract ID. If not supplied, will be taken from the Account's default contract.&lt;br /&gt;
|-&lt;br /&gt;
| Emp. REC ID&lt;br /&gt;
| FLDTKTWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Priority&lt;br /&gt;
| FLDTKTPRIORITY&lt;br /&gt;
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.&lt;br /&gt;
Immediate = 10&amp;lt;br&amp;gt;High = 20&amp;lt;br&amp;gt;Normal = 30&amp;lt;br&amp;gt;Low = 40&amp;lt;br&amp;gt;Not Applicable= 50&lt;br /&gt;
|-&lt;br /&gt;
| Ticket Number&lt;br /&gt;
| FLDTKTTICKETNO &lt;br /&gt;
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDTKTPROBLEM&lt;br /&gt;
|This is the Ticket Description. This is a mandatory field, which must contain text.&lt;br /&gt;
|-&lt;br /&gt;
|Ticket Type&lt;br /&gt;
|FLDTKTKIND&lt;br /&gt;
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.&lt;br /&gt;
|-&lt;br /&gt;
|Source&lt;br /&gt;
|FLDTKTSOURCE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Estimated Duration Time&lt;br /&gt;
|FLDTKTSCHEDLENESTIM&lt;br /&gt;
|Estimated duration time for the Ticket in minutes.&lt;br /&gt;
|-&lt;br /&gt;
|Show Ticket in Dispatcher&lt;br /&gt;
|FLDTKTFORDISPATCH&lt;br /&gt;
|Possible values: Yes/No&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDTKTSTATUS&lt;br /&gt;
|The Ticket Status (optional).&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
New = 100&amp;lt;br&amp;gt;&lt;br /&gt;
Pending = 200&amp;lt;br&amp;gt;&lt;br /&gt;
Scheduled = 300&amp;lt;br&amp;gt;&lt;br /&gt;
In-House Service = 400&amp;lt;br&amp;gt;&lt;br /&gt;
On-Site Service = 500&amp;lt;br&amp;gt;&lt;br /&gt;
Laboratory Service = 600&amp;lt;br&amp;gt;&lt;br /&gt;
Hold = 700&amp;lt;br&amp;gt;&lt;br /&gt;
Other = 800&amp;lt;br&amp;gt;&lt;br /&gt;
Canceled = 900&amp;lt;br&amp;gt;&lt;br /&gt;
Completed = 1000&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDTKTCREATEUSER&lt;br /&gt;
|Should contain the external software name which created the Ticket&lt;br /&gt;
|-&lt;br /&gt;
|Due Date&lt;br /&gt;
|FLDTKTDUEDATETIME&lt;br /&gt;
|Due date for the Ticket. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Resolution&lt;br /&gt;
|FLDTKTSOLUTION&lt;br /&gt;
|Ticket resolution text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Charge Fields===&lt;br /&gt;
The table below lists the most important Charge parameters and behavior.&lt;br /&gt;
&lt;br /&gt;
Contract-price Charges have some special characteristics (see comments marked by * in&lt;br /&gt;
the table below):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be&lt;br /&gt;
added as a new Charge.&lt;br /&gt;
|-&lt;br /&gt;
| Charge Source&lt;br /&gt;
| FLDSLPSOURCERECID&lt;br /&gt;
|The Charge source is the entity for which the charge is created.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&lt;br /&gt;
*Linked Contract RecID (for Contract-price Charges). Cannot be the &amp;quot;System Global Contract&amp;quot;.&lt;br /&gt;
**Passing the Contract RecID indicates that this is a Contract-price charge.&lt;br /&gt;
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDSLPCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDSLPWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Charged Item&lt;br /&gt;
| FLDSLPITEMID&lt;br /&gt;
| The Item Record ID to be linked to the Charge. This is a mandatory field.&lt;br /&gt;
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDSLPBCRECID&lt;br /&gt;
| The contract record ID (must be a Contract of the Account)&lt;br /&gt;
|-&lt;br /&gt;
|Ticket REC ID&lt;br /&gt;
|FLDSLPTICKETID&lt;br /&gt;
|The Ticket ID to be linked to the Charge.&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDSLPSLIPDATE&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDSLPDESC&lt;br /&gt;
|The Charge Description. If not provided, will be taken from the Item's description.&lt;br /&gt;
|-&lt;br /&gt;
|Units/Hours&lt;br /&gt;
|FLDSLPQUANTITY&lt;br /&gt;
|This is the quantity of hours/units&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Amount&lt;br /&gt;
|FLDSLPADJUSTAMOUNT&lt;br /&gt;
|Discount/Markup amount. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Percent&lt;br /&gt;
|FLDSLPADJUSTPERCENT&lt;br /&gt;
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|From Time&lt;br /&gt;
|FLDSLPSTARTTIME&lt;br /&gt;
|From time for labor Charges e.g. 12:06&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|To Time&lt;br /&gt;
|FLDSLPENDTIME&lt;br /&gt;
|From time for labor Charges e.g. 14:50&lt;br /&gt;
* Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Price/Rate&lt;br /&gt;
|FLDSLPPRICE&lt;br /&gt;
|If not provided, the price is taken from the Item.&lt;br /&gt;
|-&lt;br /&gt;
| Billable&lt;br /&gt;
| FLDSLPBILLKIND&lt;br /&gt;
| B - Billable&amp;lt;br&amp;gt;&lt;br /&gt;
N - Not Billable&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, will be set according to the Contract type.&lt;br /&gt;
|-&lt;br /&gt;
| Billed&lt;br /&gt;
| FLDSLPSTAGE&lt;br /&gt;
| D - Draft&lt;br /&gt;
B - Billed&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDSLPUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Create User&lt;br /&gt;
| FLDSLPCREATEUSER&lt;br /&gt;
| External software name which created the Charge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Item parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.&lt;br /&gt;
|-&lt;br /&gt;
| Item Group&lt;br /&gt;
| FLDITMITEMTYPEGROUP&lt;br /&gt;
|The Item Group to be linked to the Charge. This is a mandatory field:&amp;lt;br&amp;gt;&lt;br /&gt;
F - Labor (Fee)&amp;lt;br&amp;gt;&lt;br /&gt;
X - Expense&amp;lt;br&amp;gt;&lt;br /&gt;
P - Part&lt;br /&gt;
|-&lt;br /&gt;
| Item Code&lt;br /&gt;
| FLDITMITEMNO&lt;br /&gt;
|The item code is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Item Name&lt;br /&gt;
| FLDITMNAME&lt;br /&gt;
| The item name is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Price Source&lt;br /&gt;
| FLDITMPRICESOURCE&lt;br /&gt;
| F - Fixed Price&amp;lt;br&amp;gt;&lt;br /&gt;
W - by Employee Rate&lt;br /&gt;
|-&lt;br /&gt;
| Price per Hour/Unit&lt;br /&gt;
| FLDITMUNITISHOUR&lt;br /&gt;
| This field indicated whether the price is unitbased or hours-based.&amp;lt;br&amp;gt;&lt;br /&gt;
Y - by Hours&amp;lt;br&amp;gt;&lt;br /&gt;
N - by Units&amp;lt;br&amp;gt;&lt;br /&gt;
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours&lt;br /&gt;
|-&lt;br /&gt;
|Price&lt;br /&gt;
|FLDITMUNITPRICE&lt;br /&gt;
|Must be a valid numeric value&lt;br /&gt;
|-&lt;br /&gt;
|Cost&lt;br /&gt;
|FLDITMSTANDARDCOST&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Taxes&lt;br /&gt;
|FLDITMTAXCODE1&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE2&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE3&lt;br /&gt;
|You can pass up to 3 different tax codes.&lt;br /&gt;
|-&lt;br /&gt;
|Description by Name&lt;br /&gt;
|FLDITMDESCBYNAME&lt;br /&gt;
|Y - take the description from the name field&amp;lt;br&amp;gt;&lt;br /&gt;
N - take the description from the Description field&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDITMDESC&lt;br /&gt;
|If not provided, the description is taken from the name.&lt;br /&gt;
|-&lt;br /&gt;
|Suspend&lt;br /&gt;
|FLDITMSUSPENDED&lt;br /&gt;
|Indicated whether this item is currently suspended:&amp;lt;br&amp;gt;&lt;br /&gt;
Y - yes&amp;lt;br&amp;gt;&lt;br /&gt;
N - no&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDITMNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDSLPUSER1&lt;br /&gt;
|User defined field&lt;br /&gt;
|-&lt;br /&gt;
|Create User&lt;br /&gt;
|FLDSLPCREATEUSER&lt;br /&gt;
|External software name which created the Charge&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDTKTCREATEUSER&lt;br /&gt;
| Should contain the external software name which created the Ticket&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===History Note Fields===&lt;br /&gt;
The table below lists the most important History Note parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDHISRECID&lt;br /&gt;
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
| FLDHISNOTEDATETIME&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDHISDESCRIPTION&lt;br /&gt;
| The Description text&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket/Contract&lt;br /&gt;
| FLDHISLINKRECID&lt;br /&gt;
| Link to Opportunity or Ticket or Contract&lt;br /&gt;
|-&lt;br /&gt;
| Field&lt;br /&gt;
| FLDHISUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| About&lt;br /&gt;
| FLDHISKIND&lt;br /&gt;
| Optional field&lt;br /&gt;
|-&lt;br /&gt;
|Employee&lt;br /&gt;
|FLDHISWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDHISCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database&lt;br /&gt;
#From the Email Response when adding new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDHISCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDHISDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDHISCREATEUSER&lt;br /&gt;
|Name of the external software which created this History Note&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Asset Fields===&lt;br /&gt;
The table below lists the most important Asset parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Asset Code&lt;br /&gt;
| FLDASTASSETCODE&lt;br /&gt;
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.&lt;br /&gt;
|-&lt;br /&gt;
| Asset Type&lt;br /&gt;
| FLDASTASSETTYPE&lt;br /&gt;
|The Type field is mandatory:&amp;lt;br&amp;gt;&lt;br /&gt;
Hardware = H&amp;lt;br&amp;gt;&lt;br /&gt;
Software = S&amp;lt;br&amp;gt;&lt;br /&gt;
Other = T&lt;br /&gt;
|-&lt;br /&gt;
| Asset Name&lt;br /&gt;
| FLDASTNAME&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDASTSTATUS&lt;br /&gt;
| Mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Active = A&amp;lt;br&amp;gt;&lt;br /&gt;
Not Active = N&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default Active is used.&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDASTRECID&lt;br /&gt;
| If provided, must exist in the database. Ignored if empty&lt;br /&gt;
|-&lt;br /&gt;
| Serial No.&lt;br /&gt;
| FLDASTSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDASTACCRECID&lt;br /&gt;
|The Account which is linked to the Asset&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDASTCONTACTRECID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Created by user&lt;br /&gt;
|FLDASTCREATEUSER&lt;br /&gt;
|Name of external software which created this Asset&lt;br /&gt;
|-&lt;br /&gt;
|Purchase Date&lt;br /&gt;
|FLDASTCUSTPURDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Purchased From Us&lt;br /&gt;
|FLDASTCUSTPURFROMUS&lt;br /&gt;
|Possible values: Y/N.&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default value Y is used.&lt;br /&gt;
|-&lt;br /&gt;
| Purchase Invoice #&lt;br /&gt;
| FLDASTCUSTPUROURINV&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Customer PO&lt;br /&gt;
| FLDASTCUSTPURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Purchase Price&lt;br /&gt;
| FLDASTCUSTPURPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Delivered Date&lt;br /&gt;
| FLDASTDELIVEDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDASTDESC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed By&lt;br /&gt;
| FLDASTINSTALBY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed Date&lt;br /&gt;
| FLDASTINSTALDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Codes&lt;br /&gt;
| FLDASTLICENSECODE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Keys&lt;br /&gt;
| FLDASTLICENSEKEY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Notes&lt;br /&gt;
| FLDASTLICENSENOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Location&lt;br /&gt;
| FLDASTLOCATION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Manufacturer&lt;br /&gt;
| FLDASTMANUFACTURER&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mnf Serial No.&lt;br /&gt;
| FLDASTMNFSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Model&lt;br /&gt;
| FLDASTMODEL&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Notes&lt;br /&gt;
| FLDASTNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Quantity&lt;br /&gt;
| FLDASTQUANTITY&lt;br /&gt;
| If not provided, default value of 1 is used.&lt;br /&gt;
|-&lt;br /&gt;
| Last Update By&lt;br /&gt;
| FLDASTUPDATEUSER&lt;br /&gt;
| Name of externals software which performed the update&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDASTUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDASTUSER2&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDASTUSER3&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDASTUSER4&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDASTUSER5&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Date1&lt;br /&gt;
| FLDASTUSERDATE1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Number1&lt;br /&gt;
| FLDASTUSERNUMBER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Vendor Purchased Date&lt;br /&gt;
| FLDASTVENDORDATEPURC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Invoice #&lt;br /&gt;
| FLDASTVENDORINVNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor PO&lt;br /&gt;
| FLDASTVENDOROURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Price&lt;br /&gt;
| FLDASTVENDORPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor&lt;br /&gt;
| FLDASTVENDORRECID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Serial No.&lt;br /&gt;
| FLDASTVENDORSERNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Warranty Exp. Date&lt;br /&gt;
| FLDASTVENDORWARREXP&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Version&lt;br /&gt;
| FLDASTVERSION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Warranty/License Exp.&lt;br /&gt;
| FLDASTWARREXPDATE&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Calendar Fields===&lt;br /&gt;
The table below lists the most important Calendar parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDEVTRECID&lt;br /&gt;
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this&lt;br /&gt;
will be added as a new Appointment/Task.&lt;br /&gt;
|-&lt;br /&gt;
| Event Type&lt;br /&gt;
| FLDEVTWRITETOID&lt;br /&gt;
|The Event type is a mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Appointment = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Task = 2&lt;br /&gt;
|-&lt;br /&gt;
| Employee&lt;br /&gt;
| FLDEVTWORKERID&lt;br /&gt;
| The Task/Appointment owner (for private events)&lt;br /&gt;
|-&lt;br /&gt;
| Private: User&lt;br /&gt;
| FLDEVTPRIVATEID&lt;br /&gt;
| Possible values: Y/N&amp;lt;br&amp;gt;&lt;br /&gt;
If an Employee was set, this field must be Y&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDEVTCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking&lt;br /&gt;
the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a&lt;br /&gt;
new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDEVTEVENTDATE&lt;br /&gt;
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not&lt;br /&gt;
provided, the current date will be used. &lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDEVTFREETEXT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Time: Start&lt;br /&gt;
|FLDEVTFROMTIME&lt;br /&gt;
|Mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Time: End&lt;br /&gt;
| FLDEVTTOTIME&lt;br /&gt;
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket&lt;br /&gt;
| FLDEVTLINKRECID&lt;br /&gt;
| Linked Ticket/Opportunity/Contract/Asset&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDEVTPLACE1&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDEVTPLACE2&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the&lt;br /&gt;
event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Opportunity Fields===&lt;br /&gt;
The table below lists the most important Opportunity parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDOPPRECID&lt;br /&gt;
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Name&lt;br /&gt;
| FLDOPPNAME&lt;br /&gt;
| Mandatory field.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity ID&lt;br /&gt;
| FLDOPPUSERID &lt;br /&gt;
| Optional (Oppty ID)&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDOPPCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| FLDOPPSOURCE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Close Date&lt;br /&gt;
|FLDOPPCLOSEDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Manager&lt;br /&gt;
|FLDOPPWORKERID&lt;br /&gt;
|The Manager's REC ID&lt;br /&gt;
|-&lt;br /&gt;
|Open Date&lt;br /&gt;
|FLDOPPOPENDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Close By Date&lt;br /&gt;
| FLDOPPESTDATE&lt;br /&gt;
| Opportunity must be closed by this date&lt;br /&gt;
|-&lt;br /&gt;
| Amount&lt;br /&gt;
| FLDOPPAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Probability %&lt;br /&gt;
| FLDOPPPROBABILITY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Stage&lt;br /&gt;
| FLDOPPSTAGE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDOPPSTATUS&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Closing Amount&lt;br /&gt;
| FLDOPPCLOSEAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDOPPDESCRIPTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Type&lt;br /&gt;
| FLDOPPKIND&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Reason&lt;br /&gt;
| FLDOPPREASON&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Note &lt;br /&gt;
|  FLDOPPNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Territory&lt;br /&gt;
|  FLDOPPREGION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|  FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|  FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|  FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Created by User&lt;br /&gt;
|  FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
|  Last Update: By User&lt;br /&gt;
|  FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Document Fields===&lt;br /&gt;
The table below lists the Document parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDDOCRECID&lt;br /&gt;
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDDOCDOCDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Subject&lt;br /&gt;
| FLDOPPUSERID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Linked Record&lt;br /&gt;
| FLDDOCLINKRECID&lt;br /&gt;
| The RECID of a linked object. Each Document can be linked to one of the following objects:&lt;br /&gt;
*Ticket&lt;br /&gt;
*Contract&lt;br /&gt;
*Opportunity&lt;br /&gt;
*Knowledge Base Article&lt;br /&gt;
*Asset&lt;br /&gt;
The Record ID (20 chars) can be taken from:&lt;br /&gt;
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new object with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Rec ID&lt;br /&gt;
| FLDDOCCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDDOCCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDDOCTRANSPORT&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDDOCFOLDER&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDDOCUMENTPLACE&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|File Path + File name&lt;br /&gt;
|FLDDOCDOCUMENTNAME&lt;br /&gt;
|The Document path&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDDOCTREEID&lt;br /&gt;
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDDOCWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Document. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDDOCCREATEUSER&lt;br /&gt;
| Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDDOCUPDATEUSER&lt;br /&gt;
| Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Knowledge Base Article Fields===&lt;br /&gt;
The table below lists the Knowledge Base Article parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDKBARECID&lt;br /&gt;
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDKBACREATEDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Title&lt;br /&gt;
| FLDKBATITLE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Problem&lt;br /&gt;
| FLDKBAPROBLEM&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Solution&lt;br /&gt;
| FLDKBASOLUTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDKBASTATUS&lt;br /&gt;
| Possible values:&lt;br /&gt;
*DRAFT = 'D'&lt;br /&gt;
*PUBLISHED = 'P'&lt;br /&gt;
*OBSOLETE = 'O'&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDKBACATEGORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Public&lt;br /&gt;
|FLDKBAISPUBLIC&lt;br /&gt;
|Is the Document public.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
*'Y' = Yes&lt;br /&gt;
*'N' = No&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDDOCCREATEUSER&lt;br /&gt;
|Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
|Last Update: By User&lt;br /&gt;
|FLDDOCUPDATEUSER&lt;br /&gt;
|Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error Codes Description===&lt;br /&gt;
&amp;lt;u&amp;gt;These error codes are returned when calling the CmtGetDescriptionByStatus function:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''1000''' CmtDbEng.dll not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1001''' Invalid value for the Data Kind value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1002''' Invalid DATA buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly&lt;br /&gt;
and that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and&lt;br /&gt;
that you've passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1007''' Invalid external software name received. Specify a unique name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once&lt;br /&gt;
prior to sending transactions for processing.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1009''' Path specified for Commit DB folder not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB&lt;br /&gt;
folder.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is&lt;br /&gt;
related to an inactive employee record.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1012''' Error registering software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1013''' Software name is missing. Make sure you specify a name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name&lt;br /&gt;
that has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1100''' Database access error.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;General error codes, returned when calling the functions CmtGetDescriptionByCode:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''50000''' The data is not correct for its type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50001''' The field value has been truncated due to the field length in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50002''' The insert operation Failed because the REC ID already existed in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50003''' Failed to update Record since it is being updated by another user.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50103''' Illegal REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50104''' REC ID Creation failed.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50105''' Illegal Sub-Contact REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50106''' Illegal Contract REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50107''' Illegal Employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50108''' Illegal Ticket REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50109''' Illegal Account REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50110''' Illegal data for that Contract.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50111''' This Employee is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50112''' Illegal Document REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50113''' Illegal linked object REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50114''' Employee not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50115''' Some mandatory fields have no values.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51000''' Illegal kind of Account entity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51001''' Account Manager not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51002''' The REC ID of the Account Manager is illegal.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51003''' Illegal tax code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51004''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52000''' Illegal kind of event.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52001''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52002''' Illegal end time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52003''' Illegal event date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52004''' The field Reminder1 has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52005''' The amount in the field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52006''' The Field Remider1:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52007''' The Field Remider2:Active has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52008''' The Field Remider2:Amount has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52009''' The Field Remider2:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52010''' Illegal employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52011''' Error occurred while updating the Task/Appointment employee field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54000''' Illegal Ticket open date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54001''' Illegal Ticket close date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54002''' Illegal Ticket code area.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54004''' Illegal Ticket priority.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54005''' Illegal Ticket status.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54006''' The Ticket Account was not found in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54007''' The Ticket Account Manager was not ound in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54008''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54009''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54010''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54011''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54012''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55000''' Illegal charge date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55001''' Illegal charge REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55002''' Illegal start date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55003''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55004''' Illegal amount entered for hours.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55005''' Illegal quantity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55006''' Illegal price.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55007''' Illegal total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55008''' Illegal value in the Adjust Amount field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55009''' Illegal value in the Adjust Percent.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55010''' The Discount/Markup field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55011''' Illegal value in the Adjust Kind field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55012''' Illegal bill total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55013''' You can not create a charge for a suspended item.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55014''' Item was not found in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55015''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55016''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55017''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55018''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55019''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55020''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55021''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56000''' Illegal item code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56001''' The field that indicates the item group type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56002''' The field that indicates if the Item is suspended has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56003''' Illegal value of The field that indicate if the item is suspended.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56004''' Mismatch found between the fields price and price source.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56005''' Illegal cost.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56006''' Mismatch found between the fields cost and item group type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56007''' The field that indicates if the charge is by unit or by hours has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56008''' Illegal value in the Description.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56009''' The field that indicates the item type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''57000''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58000''' Illegal date time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58001''' The Description field was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58002''' The field kind was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58003''' The Account member was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59000''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59001''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59002''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59003''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59004''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59005''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60000''' Invalid web user record ID number.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60001''' This customer web user is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60002''' This user is not a customer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit API Developers Guide]]&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3942</id>
		<title>API Reference Manual</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=API_Reference_Manual&amp;diff=3942"/>
		<updated>2010-02-23T14:16:49Z</updated>

		<summary type="html">&lt;p&gt;Reno: /* Account Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{usermanualsapidevelopersguide}}&lt;br /&gt;
==Intorduction==&lt;br /&gt;
&lt;br /&gt;
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API. &lt;br /&gt;
&lt;br /&gt;
The API allows you to add/update the following entities: &lt;br /&gt;
*[[#Account Fields|Accounts]]&lt;br /&gt;
*[[#Ticket Fields|Tickets]]&lt;br /&gt;
*[[#Charge Fields|Charges (and Contract-price Charges)]]&lt;br /&gt;
*[[#Item Fields|Items]]&lt;br /&gt;
*[[#History Note Fields|History Notes]]&lt;br /&gt;
*[[#Asset Fields|Assets]]&lt;br /&gt;
*[[#Calendar Fields|Calender]]&lt;br /&gt;
*[[#Opportunity Fields|Opportunities]]&lt;br /&gt;
*[[#Document Fields|Documents]]&lt;br /&gt;
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API functions may return error codes. You can find the possible error codes in:&lt;br /&gt;
*[[#Error Codes Description|Error Codes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments. &lt;br /&gt;
&lt;br /&gt;
Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this:   &lt;br /&gt;
&amp;lt;FLDSLPQUANTITY&amp;gt;10&amp;lt;/FLDSLPQUANTITY&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following table shows the data kind code when using XML or when using the API functions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Application entity'''&lt;br /&gt;
! '''Table name'''&lt;br /&gt;
! '''Programming Code'''&lt;br /&gt;
! '''XML Data Kind Name'''&lt;br /&gt;
|-&lt;br /&gt;
| Accounts&lt;br /&gt;
| Cards&lt;br /&gt;
| 10&lt;br /&gt;
| ACCOUNT &lt;br /&gt;
|-&lt;br /&gt;
| Opportunities&lt;br /&gt;
| Opps&lt;br /&gt;
| 20&lt;br /&gt;
| OPPORTUNITY &lt;br /&gt;
|-&lt;br /&gt;
| Documents&lt;br /&gt;
| Docs&lt;br /&gt;
| 30&lt;br /&gt;
| DOCUMENT &lt;br /&gt;
|-&lt;br /&gt;
| Charges&lt;br /&gt;
| Slips&lt;br /&gt;
| 40&lt;br /&gt;
| CHARGE&lt;br /&gt;
|-&lt;br /&gt;
| Appointments/Tasks &lt;br /&gt;
| Events &lt;br /&gt;
| 50&lt;br /&gt;
| APPOINTMENT-OR-TASK&lt;br /&gt;
|-&lt;br /&gt;
| History Notes &lt;br /&gt;
| Notebook &lt;br /&gt;
| 60&lt;br /&gt;
| HISTORY-NOTE&lt;br /&gt;
|-&lt;br /&gt;
| Tickets &lt;br /&gt;
| Tickets &lt;br /&gt;
| 70&lt;br /&gt;
| TICKET &lt;br /&gt;
|-&lt;br /&gt;
| Items &lt;br /&gt;
| Items &lt;br /&gt;
| 80&lt;br /&gt;
| ITEM &lt;br /&gt;
|-&lt;br /&gt;
| Assets&lt;br /&gt;
| Assets&lt;br /&gt;
| 90&lt;br /&gt;
| ASSET &lt;br /&gt;
|-&lt;br /&gt;
| Knowledge Base&lt;br /&gt;
| KBArticles&lt;br /&gt;
| 100&lt;br /&gt;
| KBARTICLE &lt;br /&gt;
|}&lt;br /&gt;
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.&lt;br /&gt;
&lt;br /&gt;
===Account Fields===&lt;br /&gt;
The following table lists the most important parameters for adding/updating Account&lt;br /&gt;
records.&lt;br /&gt;
Note slight differences when adding a main account vs. adding a secondary contact.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDCRDCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database.&lt;br /&gt;
#From the Email Response when adding new Account with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Manager&lt;br /&gt;
| FLDCRDASSIGNCARDID&lt;br /&gt;
| This field has two roles:&lt;br /&gt;
#When adding a main Account:&amp;lt;br&amp;gt;The account manager should contain the ID of the Employee who is the account manager.&lt;br /&gt;
#When adding a secondary contact:&amp;lt;br&amp;gt;&lt;br /&gt;
This field should contain the ID of the main Account to which the secondary contacted is&lt;br /&gt;
added.&lt;br /&gt;
|-&lt;br /&gt;
|Company name&lt;br /&gt;
|FLDCRDCOMPANY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contact: First &amp;amp; Last Name&lt;br /&gt;
|FLDCRDCONTACT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Assistant&lt;br /&gt;
| FLDCRDASSISTANT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Contract&lt;br /&gt;
|FLDCRDBCRECID&lt;br /&gt;
|The default Contract for this Account (not required)&lt;br /&gt;
|-&lt;br /&gt;
|Account Number&lt;br /&gt;
|FLDCRDCARDID2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ID&lt;br /&gt;
|FLDCRDCARDID3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message&lt;br /&gt;
|FLDCRDCARDMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line1&lt;br /&gt;
| FLDCRDADDRESS1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line2&lt;br /&gt;
| FLDCRDADDRESS2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Address: Line3&lt;br /&gt;
| FLDCRDADDRESS3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: City&lt;br /&gt;
|FLDCRDCITY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: State&lt;br /&gt;
|FLDCRDCOUNTRY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Country&lt;br /&gt;
|FLDCRDSTATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Address: Zip&lt;br /&gt;
|FLDCRDZIP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Creation Date&lt;br /&gt;
|FLDCRDCREATEDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDCRDCREATEUSERID&lt;br /&gt;
|Foreign Software Name which created the account&lt;br /&gt;
|-&lt;br /&gt;
|Dear&lt;br /&gt;
|FLDCRDDEAR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Department&lt;br /&gt;
|FLDCRDDEPARTMENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Documents Store Directory&lt;br /&gt;
|FLDCRDDOCSFOLDER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 1&lt;br /&gt;
|FLDCRDEMAIL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Address 2&lt;br /&gt;
|FLDCRDEMAIL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Account Type&lt;br /&gt;
|FLDCRDENTITYKIND&lt;br /&gt;
|When adding a Main Account = 1&amp;lt;br&amp;gt;When adding a secondary contact = 5&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number &lt;br /&gt;
|FLDCRDFAX1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fax Number Extension&lt;br /&gt;
|FLDCRDFAXDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|File as &lt;br /&gt;
|FLDCRDFULLNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Type &lt;br /&gt;
|FLDCRDKIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Name &lt;br /&gt;
|FLDCRDLASTNAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field &lt;br /&gt;
|FLDCRDPERSONID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 Ext. &lt;br /&gt;
|FLDCRDPHNDESC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 Ext. &lt;br /&gt;
|FLDCRDPHNDESC2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 Ext. &lt;br /&gt;
|FLDCRDPHNDESC3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 Ext. &lt;br /&gt;
|FLDCRDPHNDESC4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 1 &lt;br /&gt;
|FLDCRDPHONE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 2 &lt;br /&gt;
|FLDCRDPHONE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 3 &lt;br /&gt;
|FLDCRDPHONE3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Phone 4 &lt;br /&gt;
|FLDCRDPHONE4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Region&lt;br /&gt;
|Region FLDCRDREGIONCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Popup Message: Display Indication&lt;br /&gt;
|FLDCRDSHOWMESSAGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sub-Contact Code&lt;br /&gt;
|FLDCRDSUBCODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Salutation&lt;br /&gt;
|FLDCRDSUFFIX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax1&lt;br /&gt;
|FLDCRDTAXCODE1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tax2&lt;br /&gt;
|FLDCRDTAXCODE2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDCRDNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|FLDCRDTITLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Last Updated by&lt;br /&gt;
|FLDCRDUPDATEUSERID&lt;br /&gt;
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 1&lt;br /&gt;
|FLDCRDURL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Web Address 2&lt;br /&gt;
|FLDCRDURL2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDCRDUSER1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDCRDUSER2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDCRDUSER3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDCRDUSER4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field4&lt;br /&gt;
|FLDCRDUSER5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Ticket Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Ticket parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDTKTCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a cnew Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDTKTCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDTKTBCRECID&lt;br /&gt;
|The Contract ID. If not supplied, will be taken from the Account's default contract.&lt;br /&gt;
|-&lt;br /&gt;
| Emp. REC ID&lt;br /&gt;
| FLDTKTWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Priority&lt;br /&gt;
| FLDTKTPRIORITY&lt;br /&gt;
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.&lt;br /&gt;
Immediate = 10&amp;lt;br&amp;gt;High = 20&amp;lt;br&amp;gt;Normal = 30&amp;lt;br&amp;gt;Low = 40&amp;lt;br&amp;gt;Not Applicable= 50&lt;br /&gt;
|-&lt;br /&gt;
| Ticket Number&lt;br /&gt;
| FLDTKTTICKETNO &lt;br /&gt;
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDTKTPROBLEM&lt;br /&gt;
|This is the Ticket Description. This is a mandatory field, which must contain text.&lt;br /&gt;
|-&lt;br /&gt;
|Ticket Type&lt;br /&gt;
|FLDTKTKIND&lt;br /&gt;
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.&lt;br /&gt;
|-&lt;br /&gt;
|Source&lt;br /&gt;
|FLDTKTSOURCE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Estimated Duration Time&lt;br /&gt;
|FLDTKTSCHEDLENESTIM&lt;br /&gt;
|Estimated duration time for the Ticket in minutes.&lt;br /&gt;
|-&lt;br /&gt;
|Show Ticket in Dispatcher&lt;br /&gt;
|FLDTKTFORDISPATCH&lt;br /&gt;
|Possible values: Yes/No&lt;br /&gt;
|-&lt;br /&gt;
|Status&lt;br /&gt;
|FLDTKTSTATUS&lt;br /&gt;
|The Ticket Status (optional).&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
New = 100&amp;lt;br&amp;gt;&lt;br /&gt;
Pending = 200&amp;lt;br&amp;gt;&lt;br /&gt;
Scheduled = 300&amp;lt;br&amp;gt;&lt;br /&gt;
In-House Service = 400&amp;lt;br&amp;gt;&lt;br /&gt;
On-Site Service = 500&amp;lt;br&amp;gt;&lt;br /&gt;
Laboratory Service = 600&amp;lt;br&amp;gt;&lt;br /&gt;
Hold = 700&amp;lt;br&amp;gt;&lt;br /&gt;
Other = 800&amp;lt;br&amp;gt;&lt;br /&gt;
Canceled = 900&amp;lt;br&amp;gt;&lt;br /&gt;
Completed = 1000&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDTKTCREATEUSER&lt;br /&gt;
|Should contain the external software name which created the Ticket&lt;br /&gt;
|-&lt;br /&gt;
|Due Date&lt;br /&gt;
|FLDTKTDUEDATETIME&lt;br /&gt;
|Due date for the Ticket. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Resolution&lt;br /&gt;
|FLDTKTSOLUTION&lt;br /&gt;
|Ticket resolution text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Charge Fields===&lt;br /&gt;
The table below lists the most important Charge parameters and behavior.&lt;br /&gt;
&lt;br /&gt;
Contract-price Charges have some special characteristics (see comments marked by * in&lt;br /&gt;
the table below):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be&lt;br /&gt;
added as a new Charge.&lt;br /&gt;
|-&lt;br /&gt;
| Charge Source&lt;br /&gt;
| FLDSLPSOURCERECID&lt;br /&gt;
|The Charge source is the entity for which the charge is created.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&lt;br /&gt;
*Linked Contract RecID (for Contract-price Charges). Cannot be the &amp;quot;System Global Contract&amp;quot;.&lt;br /&gt;
**Passing the Contract RecID indicates that this is a Contract-price charge.&lt;br /&gt;
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).&lt;br /&gt;
|-&lt;br /&gt;
| Account REC ID&lt;br /&gt;
| FLDSLPCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDSLPWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Charged Item&lt;br /&gt;
| FLDSLPITEMID&lt;br /&gt;
| The Item Record ID to be linked to the Charge. This is a mandatory field.&lt;br /&gt;
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.&lt;br /&gt;
|-&lt;br /&gt;
| Contract REC ID&lt;br /&gt;
| FLDSLPBCRECID&lt;br /&gt;
| The contract record ID (must be a Contract of the Account)&lt;br /&gt;
|-&lt;br /&gt;
|Ticket REC ID&lt;br /&gt;
|FLDSLPTICKETID&lt;br /&gt;
|The Ticket ID to be linked to the Charge.&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDSLPSLIPDATE&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDSLPDESC&lt;br /&gt;
|The Charge Description. If not provided, will be taken from the Item's description.&lt;br /&gt;
|-&lt;br /&gt;
|Units/Hours&lt;br /&gt;
|FLDSLPQUANTITY&lt;br /&gt;
|This is the quantity of hours/units&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Amount&lt;br /&gt;
|FLDSLPADJUSTAMOUNT&lt;br /&gt;
|Discount/Markup amount. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|Adjust Percent&lt;br /&gt;
|FLDSLPADJUSTPERCENT&lt;br /&gt;
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.&lt;br /&gt;
|-&lt;br /&gt;
|From Time&lt;br /&gt;
|FLDSLPSTARTTIME&lt;br /&gt;
|From time for labor Charges e.g. 12:06&lt;br /&gt;
*Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|To Time&lt;br /&gt;
|FLDSLPENDTIME&lt;br /&gt;
|From time for labor Charges e.g. 14:50&lt;br /&gt;
* Not relevant for Contract-price Charge&lt;br /&gt;
|-&lt;br /&gt;
|Price/Rate&lt;br /&gt;
|FLDSLPPRICE&lt;br /&gt;
|If not provided, the price is taken from the Item.&lt;br /&gt;
|-&lt;br /&gt;
| Billable&lt;br /&gt;
| FLDSLPBILLKIND&lt;br /&gt;
| B - Billable&amp;lt;br&amp;gt;&lt;br /&gt;
N - Not Billable&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, will be set according to the Contract type.&lt;br /&gt;
|-&lt;br /&gt;
| Billed&lt;br /&gt;
| FLDSLPSTAGE&lt;br /&gt;
| D - Draft&lt;br /&gt;
B - Billed&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDSLPUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Create User&lt;br /&gt;
| FLDSLPCREATEUSER&lt;br /&gt;
| External software name which created the Charge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Item Fields===&lt;br /&gt;
&lt;br /&gt;
The table below lists the most important Item parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDSLPRECID&lt;br /&gt;
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.&lt;br /&gt;
|-&lt;br /&gt;
| Item Group&lt;br /&gt;
| FLDITMITEMTYPEGROUP&lt;br /&gt;
|The Item Group to be linked to the Charge. This is a mandatory field:&amp;lt;br&amp;gt;&lt;br /&gt;
F - Labor (Fee)&amp;lt;br&amp;gt;&lt;br /&gt;
X - Expense&amp;lt;br&amp;gt;&lt;br /&gt;
P - Part&lt;br /&gt;
|-&lt;br /&gt;
| Item Code&lt;br /&gt;
| FLDITMITEMNO&lt;br /&gt;
|The item code is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Item Name&lt;br /&gt;
| FLDITMNAME&lt;br /&gt;
| The item name is a mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Price Source&lt;br /&gt;
| FLDITMPRICESOURCE&lt;br /&gt;
| F - Fixed Price&amp;lt;br&amp;gt;&lt;br /&gt;
W - by Employee Rate&lt;br /&gt;
|-&lt;br /&gt;
| Price per Hour/Unit&lt;br /&gt;
| FLDITMUNITISHOUR&lt;br /&gt;
| This field indicated whether the price is unitbased or hours-based.&amp;lt;br&amp;gt;&lt;br /&gt;
Y - by Hours&amp;lt;br&amp;gt;&lt;br /&gt;
N - by Units&amp;lt;br&amp;gt;&lt;br /&gt;
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours&lt;br /&gt;
|-&lt;br /&gt;
|Price&lt;br /&gt;
|FLDITMUNITPRICE&lt;br /&gt;
|Must be a valid numeric value&lt;br /&gt;
|-&lt;br /&gt;
|Cost&lt;br /&gt;
|FLDITMSTANDARDCOST&lt;br /&gt;
|The date for the Charge. This is an optional parameter. If not provided, the current date will&lt;br /&gt;
be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Taxes&lt;br /&gt;
|FLDITMTAXCODE1&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE2&amp;lt;br&amp;gt;&lt;br /&gt;
FLDITMTAXCODE3&lt;br /&gt;
|You can pass up to 3 different tax codes.&lt;br /&gt;
|-&lt;br /&gt;
|Description by Name&lt;br /&gt;
|FLDITMDESCBYNAME&lt;br /&gt;
|Y - take the description from the name field&amp;lt;br&amp;gt;&lt;br /&gt;
N - take the description from the Description field&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDITMDESC&lt;br /&gt;
|If not provided, the description is taken from the name.&lt;br /&gt;
|-&lt;br /&gt;
|Suspend&lt;br /&gt;
|FLDITMSUSPENDED&lt;br /&gt;
|Indicated whether this item is currently suspended:&amp;lt;br&amp;gt;&lt;br /&gt;
Y - yes&amp;lt;br&amp;gt;&lt;br /&gt;
N - no&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|FLDITMNOTES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDSLPUSER1&lt;br /&gt;
|User defined field&lt;br /&gt;
|-&lt;br /&gt;
|Create User&lt;br /&gt;
|FLDSLPCREATEUSER&lt;br /&gt;
|External software name which created the Charge&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDTKTCREATEUSER&lt;br /&gt;
| Should contain the external software name which created the Ticket&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===History Note Fields===&lt;br /&gt;
The table below lists the most important History Note parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDHISRECID&lt;br /&gt;
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
| FLDHISNOTEDATETIME&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDHISDESCRIPTION&lt;br /&gt;
| The Description text&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket/Contract&lt;br /&gt;
| FLDHISLINKRECID&lt;br /&gt;
| Link to Opportunity or Ticket or Contract&lt;br /&gt;
|-&lt;br /&gt;
| Field&lt;br /&gt;
| FLDHISUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| About&lt;br /&gt;
| FLDHISKIND&lt;br /&gt;
| Optional field&lt;br /&gt;
|-&lt;br /&gt;
|Employee&lt;br /&gt;
|FLDHISWORKERID&lt;br /&gt;
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDHISCARDID&lt;br /&gt;
|The Account record ID (20 chars). The Account Rec ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. &amp;lt;br&amp;gt;e.g. CRDVQYSOD1B4U4HZIQJJ&lt;br /&gt;
#Using ODBC to pull information from the database&lt;br /&gt;
#From the Email Response when adding new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDHISCONTACTID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDHISDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDHISCREATEUSER&lt;br /&gt;
|Name of the external software which created this History Note&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Asset Fields===&lt;br /&gt;
The table below lists the most important Asset parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Asset Code&lt;br /&gt;
| FLDASTASSETCODE&lt;br /&gt;
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.&lt;br /&gt;
|-&lt;br /&gt;
| Asset Type&lt;br /&gt;
| FLDASTASSETTYPE&lt;br /&gt;
|The Type field is mandatory:&amp;lt;br&amp;gt;&lt;br /&gt;
Hardware = H&amp;lt;br&amp;gt;&lt;br /&gt;
Software = S&amp;lt;br&amp;gt;&lt;br /&gt;
Other = T&lt;br /&gt;
|-&lt;br /&gt;
| Asset Name&lt;br /&gt;
| FLDASTNAME&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDASTSTATUS&lt;br /&gt;
| Mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Active = A&amp;lt;br&amp;gt;&lt;br /&gt;
Not Active = N&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default Active is used.&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDASTRECID&lt;br /&gt;
| If provided, must exist in the database. Ignored if empty&lt;br /&gt;
|-&lt;br /&gt;
| Serial No.&lt;br /&gt;
| FLDASTSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Account&lt;br /&gt;
|FLDASTACCRECID&lt;br /&gt;
|The Account which is linked to the Asset&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|FLDASTCONTACTRECID&lt;br /&gt;
|The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Created by user&lt;br /&gt;
|FLDASTCREATEUSER&lt;br /&gt;
|Name of external software which created this Asset&lt;br /&gt;
|-&lt;br /&gt;
|Purchase Date&lt;br /&gt;
|FLDASTCUSTPURDATE&lt;br /&gt;
|Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
|Purchased From Us&lt;br /&gt;
|FLDASTCUSTPURFROMUS&lt;br /&gt;
|Possible values: Y/N.&amp;lt;br&amp;gt;&lt;br /&gt;
If not provided, default value Y is used.&lt;br /&gt;
|-&lt;br /&gt;
| Purchase Invoice #&lt;br /&gt;
| FLDASTCUSTPUROURINV&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Customer PO&lt;br /&gt;
| FLDASTCUSTPURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Purchase Price&lt;br /&gt;
| FLDASTCUSTPURPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Delivered Date&lt;br /&gt;
| FLDASTDELIVEDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDASTDESC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed By&lt;br /&gt;
| FLDASTINSTALBY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Installed Date&lt;br /&gt;
| FLDASTINSTALDATE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Codes&lt;br /&gt;
| FLDASTLICENSECODE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Keys&lt;br /&gt;
| FLDASTLICENSEKEY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| License Notes&lt;br /&gt;
| FLDASTLICENSENOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Location&lt;br /&gt;
| FLDASTLOCATION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Manufacturer&lt;br /&gt;
| FLDASTMANUFACTURER&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mnf Serial No.&lt;br /&gt;
| FLDASTMNFSERIALNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Model&lt;br /&gt;
| FLDASTMODEL&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Notes&lt;br /&gt;
| FLDASTNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Quantity&lt;br /&gt;
| FLDASTQUANTITY&lt;br /&gt;
| If not provided, default value of 1 is used.&lt;br /&gt;
|-&lt;br /&gt;
| Last Update By&lt;br /&gt;
| FLDASTUPDATEUSER&lt;br /&gt;
| Name of externals software which performed the update&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDASTUSER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDASTUSER2&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDASTUSER3&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDASTUSER4&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDASTUSER5&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Date1&lt;br /&gt;
| FLDASTUSERDATE1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Number1&lt;br /&gt;
| FLDASTUSERNUMBER1&lt;br /&gt;
| User defined field&lt;br /&gt;
|-&lt;br /&gt;
| Vendor Purchased Date&lt;br /&gt;
| FLDASTVENDORDATEPURC&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Invoice #&lt;br /&gt;
| FLDASTVENDORINVNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor PO&lt;br /&gt;
| FLDASTVENDOROURPO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Price&lt;br /&gt;
| FLDASTVENDORPRICE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor&lt;br /&gt;
| FLDASTVENDORRECID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Serial No.&lt;br /&gt;
| FLDASTVENDORSERNO&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Vendor Warranty Exp. Date&lt;br /&gt;
| FLDASTVENDORWARREXP&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Version&lt;br /&gt;
| FLDASTVERSION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Warranty/License Exp.&lt;br /&gt;
| FLDASTWARREXPDATE&lt;br /&gt;
| Any date format, such as DD/MM/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Date&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Calendar Fields===&lt;br /&gt;
The table below lists the most important Calendar parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDEVTRECID&lt;br /&gt;
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this&lt;br /&gt;
will be added as a new Appointment/Task.&lt;br /&gt;
|-&lt;br /&gt;
| Event Type&lt;br /&gt;
| FLDEVTWRITETOID&lt;br /&gt;
|The Event type is a mandatory field.&amp;lt;br&amp;gt;&lt;br /&gt;
Appointment = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Task = 2&lt;br /&gt;
|-&lt;br /&gt;
| Employee&lt;br /&gt;
| FLDEVTWORKERID&lt;br /&gt;
| The Task/Appointment owner (for private events)&lt;br /&gt;
|-&lt;br /&gt;
| Private: User&lt;br /&gt;
| FLDEVTPRIVATEID&lt;br /&gt;
| Possible values: Y/N&amp;lt;br&amp;gt;&lt;br /&gt;
If an Employee was set, this field must be Y&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDEVTCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by rightclicking&lt;br /&gt;
the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a&lt;br /&gt;
new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|FLDEVTEVENTDATE&lt;br /&gt;
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not&lt;br /&gt;
provided, the current date will be used. &lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|FLDEVTFREETEXT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Time: Start&lt;br /&gt;
|FLDEVTFROMTIME&lt;br /&gt;
|Mandatory field&lt;br /&gt;
|-&lt;br /&gt;
| Time: End&lt;br /&gt;
| FLDEVTTOTIME&lt;br /&gt;
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity/Ticket&lt;br /&gt;
| FLDEVTLINKRECID&lt;br /&gt;
| Linked Ticket/Opportunity/Contract/Asset&lt;br /&gt;
|-&lt;br /&gt;
| Field1&lt;br /&gt;
| FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field2&lt;br /&gt;
| FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field3&lt;br /&gt;
| FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field4&lt;br /&gt;
| FLDEVTPLACE1&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Field5&lt;br /&gt;
| FLDEVTPLACE2&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the&lt;br /&gt;
event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Opportunity Fields===&lt;br /&gt;
The table below lists the most important Opportunity parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDOPPRECID&lt;br /&gt;
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Name&lt;br /&gt;
| FLDOPPNAME&lt;br /&gt;
| Mandatory field.&lt;br /&gt;
|-&lt;br /&gt;
| Opportunity ID&lt;br /&gt;
| FLDOPPUSERID &lt;br /&gt;
| Optional (Oppty ID)&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| FLDOPPCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| FLDEVTCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| FLDOPPSOURCE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Document&lt;br /&gt;
|FLDEVTDOCID&lt;br /&gt;
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.&lt;br /&gt;
|-&lt;br /&gt;
|Done Indication&lt;br /&gt;
|FLDEVTDONE&lt;br /&gt;
|Possible values: Y/N&lt;br /&gt;
|-&lt;br /&gt;
|Close Date&lt;br /&gt;
|FLDOPPCLOSEDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Manager&lt;br /&gt;
|FLDOPPWORKERID&lt;br /&gt;
|The Manager's REC ID&lt;br /&gt;
|-&lt;br /&gt;
|Open Date&lt;br /&gt;
|FLDOPPOPENDATE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Close By Date&lt;br /&gt;
| FLDOPPESTDATE&lt;br /&gt;
| Opportunity must be closed by this date&lt;br /&gt;
|-&lt;br /&gt;
| Amount&lt;br /&gt;
| FLDOPPAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Probability %&lt;br /&gt;
| FLDOPPPROBABILITY&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Stage&lt;br /&gt;
| FLDOPPSTAGE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDOPPSTATUS&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Closing Amount&lt;br /&gt;
| FLDOPPCLOSEAMOUNT&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| FLDOPPDESCRIPTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Type&lt;br /&gt;
| FLDOPPKIND&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Opportunity Reason&lt;br /&gt;
| FLDOPPREASON&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Note &lt;br /&gt;
|  FLDOPPNOTES&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Territory&lt;br /&gt;
|  FLDOPPREGION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  Field1&lt;br /&gt;
|  FLDEVTFAMILY&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field2&lt;br /&gt;
|  FLDEVTACTION&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Field3&lt;br /&gt;
|  FLDEVTPLACE&lt;br /&gt;
| User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|  Created by User&lt;br /&gt;
|  FLDEVTCREATEUSERID&lt;br /&gt;
| Name of external software which created the event&lt;br /&gt;
|-&lt;br /&gt;
|  Last Update: By User&lt;br /&gt;
|  FLDEVTUPDATEUSER&lt;br /&gt;
| Name of external software which updated the event&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Document Fields===&lt;br /&gt;
The table below lists the Document parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDDOCRECID&lt;br /&gt;
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDDOCDOCDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Subject&lt;br /&gt;
| FLDOPPUSERID&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Linked Record&lt;br /&gt;
| FLDDOCLINKRECID&lt;br /&gt;
| The RECID of a linked object. Each Document can be linked to one of the following objects:&lt;br /&gt;
*Ticket&lt;br /&gt;
*Contract&lt;br /&gt;
*Opportunity&lt;br /&gt;
*Knowledge Base Article&lt;br /&gt;
*Asset&lt;br /&gt;
The Record ID (20 chars) can be taken from:&lt;br /&gt;
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new object with the API.&lt;br /&gt;
|-&lt;br /&gt;
| Account Rec ID&lt;br /&gt;
| FLDDOCCARDID&lt;br /&gt;
| The Account record ID (20 chars). The Account REC ID can be taken from:&lt;br /&gt;
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy&lt;br /&gt;
#ODBC to pull information from the database&lt;br /&gt;
#The automated email response when adding a new Account with the API&lt;br /&gt;
|-&lt;br /&gt;
| Contact REC ID&lt;br /&gt;
| FLDDOCCONTACTID&lt;br /&gt;
| The Contact for this Account. If not provided, the main Contact for the Account is taken.&lt;br /&gt;
|-&lt;br /&gt;
|Field1&lt;br /&gt;
|FLDDOCTRANSPORT&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field2&lt;br /&gt;
|FLDDOCFOLDER&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|Field3&lt;br /&gt;
|FLDDOCUMENTPLACE&lt;br /&gt;
|User Defined field&lt;br /&gt;
|-&lt;br /&gt;
|File Path + File name&lt;br /&gt;
|FLDDOCDOCUMENTNAME&lt;br /&gt;
|The Document path&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDDOCTREEID&lt;br /&gt;
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree&lt;br /&gt;
|-&lt;br /&gt;
| Employee REC ID&lt;br /&gt;
| FLDDOCWORKERID&lt;br /&gt;
| The worker record ID to be linked to the Document. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.&lt;br /&gt;
|-&lt;br /&gt;
| Created by User&lt;br /&gt;
| FLDDOCCREATEUSER&lt;br /&gt;
| Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
| Last Update: By User&lt;br /&gt;
| FLDDOCUPDATEUSER&lt;br /&gt;
| Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Knowledge Base Article Fields===&lt;br /&gt;
The table below lists the Knowledge Base Article parameters and behavior:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Field Name'''&lt;br /&gt;
! '''Database Field Name'''&lt;br /&gt;
! '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| Record ID&lt;br /&gt;
| FLDKBARECID&lt;br /&gt;
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.&lt;br /&gt;
|-&lt;br /&gt;
| Document Date&lt;br /&gt;
| FLDKBACREATEDATE&lt;br /&gt;
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY&lt;br /&gt;
|-&lt;br /&gt;
| Title&lt;br /&gt;
| FLDKBATITLE&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Problem&lt;br /&gt;
| FLDKBAPROBLEM&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Solution&lt;br /&gt;
| FLDKBASOLUTION&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| FLDKBASTATUS&lt;br /&gt;
| Possible values:&lt;br /&gt;
*DRAFT = 'D'&lt;br /&gt;
*PUBLISHED = 'P'&lt;br /&gt;
*OBSOLETE = 'O'&lt;br /&gt;
|-&lt;br /&gt;
|Category&lt;br /&gt;
|FLDKBACATEGORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Public&lt;br /&gt;
|FLDKBAISPUBLIC&lt;br /&gt;
|Is the Document public.&amp;lt;br&amp;gt;&lt;br /&gt;
Possible values:&amp;lt;br&amp;gt;&lt;br /&gt;
*'Y' = Yes&lt;br /&gt;
*'N' = No&lt;br /&gt;
|-&lt;br /&gt;
|Created by User&lt;br /&gt;
|FLDDOCCREATEUSER&lt;br /&gt;
|Name of external software which created the document&lt;br /&gt;
|-&lt;br /&gt;
|Last Update: By User&lt;br /&gt;
|FLDDOCUPDATEUSER&lt;br /&gt;
|Name of external software which updated the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error Codes Description===&lt;br /&gt;
&amp;lt;u&amp;gt;These error codes are returned when calling the CmtGetDescriptionByStatus function:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''1000''' CmtDbEng.dll not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1001''' Invalid value for the Data Kind value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1002''' Invalid DATA buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and&lt;br /&gt;
that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly&lt;br /&gt;
and that you have passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and&lt;br /&gt;
that you've passed the correct buffer length.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1007''' Invalid external software name received. Specify a unique name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once&lt;br /&gt;
prior to sending transactions for processing.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1009''' Path specified for Commit DB folder not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB&lt;br /&gt;
folder.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is&lt;br /&gt;
related to an inactive employee record.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1012''' Error registering software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1013''' Software name is missing. Make sure you specify a name that identifies your&lt;br /&gt;
software.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name&lt;br /&gt;
that has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
'''1100''' Database access error.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;General error codes, returned when calling the functions CmtGetDescriptionByCode:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''50000''' The data is not correct for its type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50001''' The field value has been truncated due to the field length in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50002''' The insert operation Failed because the REC ID already existed in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50003''' Failed to update Record since it is being updated by another user.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50103''' Illegal REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50104''' REC ID Creation failed.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50105''' Illegal Sub-Contact REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50106''' Illegal Contract REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50107''' Illegal Employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50108''' Illegal Ticket REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50109''' Illegal Account REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50110''' Illegal data for that Contract.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50111''' This Employee is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50112''' Illegal Document REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50113''' Illegal linked object REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50114''' Employee not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''50115''' Some mandatory fields have no values.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51000''' Illegal kind of Account entity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51001''' Account Manager not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51002''' The REC ID of the Account Manager is illegal.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51003''' Illegal tax code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''51004''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52000''' Illegal kind of event.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52001''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52002''' Illegal end time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52003''' Illegal event date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52004''' The field Reminder1 has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52005''' The amount in the field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52006''' The Field Remider1:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52007''' The Field Remider2:Active has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52008''' The Field Remider2:Amount has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52009''' The Field Remider2:Units has Illegal Value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52010''' Illegal employee REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''52011''' Error occurred while updating the Task/Appointment employee field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54000''' Illegal Ticket open date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54001''' Illegal Ticket close date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54002''' Illegal Ticket code area.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54004''' Illegal Ticket priority.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54005''' Illegal Ticket status.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54006''' The Ticket Account was not found in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54007''' The Ticket Account Manager was not ound in the database.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54008''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54009''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54010''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54011''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''54012''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55000''' Illegal charge date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55001''' Illegal charge REC ID.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55002''' Illegal start date.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55003''' Illegal start time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55004''' Illegal amount entered for hours.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55005''' Illegal quantity.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55006''' Illegal price.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55007''' Illegal total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55008''' Illegal value in the Adjust Amount field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55009''' Illegal value in the Adjust Percent.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55010''' The Discount/Markup field has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55011''' Illegal value in the Adjust Kind field.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55012''' Illegal bill total.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55013''' You can not create a charge for a suspended item.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55014''' Item was not found in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55015''' This code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55016''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55017''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55018''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55019''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55020''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''55021''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56000''' Illegal item code.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56001''' The field that indicates the item group type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56002''' The field that indicates if the Item is suspended has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56003''' Illegal value of The field that indicate if the item is suspended.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56004''' Mismatch found between the fields price and price source.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56005''' Illegal cost.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56006''' Mismatch found between the fields cost and item group type.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56007''' The field that indicates if the charge is by unit or by hours has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56008''' Illegal value in the Description.&amp;lt;br&amp;gt;&lt;br /&gt;
'''56009''' The field that indicates the item type has an illegal value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''57000''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58000''' Illegal date time.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58001''' The Description field was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58002''' The field kind was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''58003''' The Account member was not found.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59000''' This code does not exists in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59001''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59002''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59003''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59004''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''59005''' This Code does not exist in Commit.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60000''' Invalid web user record ID number.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60001''' This customer web user is not active.&amp;lt;br&amp;gt;&lt;br /&gt;
'''60002''' This user is not a customer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Commit API Developers Guide]]&lt;br /&gt;
*[[API Code Samples]]&lt;br /&gt;
[[Category:User Manuals]]&lt;br /&gt;
[[Category:Integration]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
	<entry>
		<id>https://www.rangermsp.com/w/index.php?title=Report_Customization&amp;diff=3941</id>
		<title>Report Customization</title>
		<link rel="alternate" type="text/html" href="https://www.rangermsp.com/w/index.php?title=Report_Customization&amp;diff=3941"/>
		<updated>2010-02-23T12:49:27Z</updated>

		<summary type="html">&lt;p&gt;Reno: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{customization}}&lt;br /&gt;
CommitCRM reports can be customized in two ways:&lt;br /&gt;
#'''Add your own header''' - You can set/modify a textual header (with your company name, etc.) for all reports at once by selecting Tools &amp;gt; Options &amp;gt; Reports tab &amp;gt; click on Edit Header.&lt;br /&gt;
#'''Designing reports data and layout''' –&lt;br /&gt;
#*To customize CommitCRM reports, open the Reports window, select the report you want to customize, select '''Copy''' from the toolbar and enter your new report name. The copied report will be selected. Select the '''Design''' button from the toolbar, and the report designer will open.&lt;br /&gt;
#*To add a '''new data field''' to a custom report, select a '''DBText''' button from the report designer toolbar and place it where desired in the report layout. With the newly created field selected, select the appropriate Data Field from the drop down list on the toolbar, which is located on the upper-left corner. If you want to add a Title, select the '''Label''' button from the toolbar, place it on the report and write the title in the text area on the windows toolbar, which is located on the upper-left corner as well.&lt;br /&gt;
#*To view your customized reports, click the Custom Reports radio button on the Reports window.&lt;br /&gt;
&lt;br /&gt;
Make sure to watch the [http://www.commitcrm.com/videos/commit_report_designer_tutorial_video.htm CommitCRM Report Designer Tutorial] which will guide you through a basic report design process and show you how you can change the report layout and add new fields to the report.&lt;br /&gt;
&lt;br /&gt;
'''For more information; see the [[Report_Designer_User_Guide|Report Designer User Guide]].'''&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Reports FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Customization]]&lt;br /&gt;
[[Report_Designer_User_Guide|Report Designer User Guide]]&lt;/div&gt;</summary>
		<author><name>Reno</name></author>
	</entry>
</feed>