Custom attributes

Custom attributes are attributes which are not part of the CRM.interface XML language.

Such attributes are copied verbatim to the response. This might be useful to transport custom information over requests and responses, e.g. you could think of using this feature to implement a kind of session handling.

Custom attributes are supported on <request> element, each command element (e.g. <update>) and on <field> and <fields> child elements of the <query> command.

Additional custom attributes on "Info Area" level for <match>, <insert>, <import>, <update> … are supported as well.

See the sample below, where MyCompanyAttribute="MyCompanyAttributeValue" is set on the <Company> tag of the <import /> command and returned in the response XML.

Note: Some attributes are "internal" or "protected" respectively. Internal attributes are not copied; the usage of protected attributes causes an error.
Note: Internal attributes: tablename, table, tid, fieldname, field, fields, fid, fnr and name.
Note: Protected attributes: text, code, value, label, upd, null and locked.
      <?xml version="1.0"?>
      <request MyAttribute="MyAttributeValue">
        <import MyImportAttribute="MyImportAttributeValue">
          <fields>
            <Company MyCompanyAttribute="MyCompanyAttributeValue">
              <Company matchup="true"> CRM.interface test</Company>
              <Synonym/>
            </Company>
          </fields>
        </import>
        <query catexkeys="false" MyQueryAttribute="MyQueryAttributeValue">
          <tables>
            <table tablename="Company"/>
          </tables>
          <condition>
            <cond tablename="Company" fieldname="Company" op="=" value=" CRM.interface test"/>
          </condition>
          <fields tablename="Company" fields="Company,FreeN3" MyFieldsAttribute="MyFieldsAttributeValue"/>
          <fields>
            <field tablename="Company" fieldname="FreeC1" MyFieldAttribute="MyFieldsAttributeValue"/>
          </fields>
        </query>
      </request>
      <?xml version="1.0"?>
      <response MyAttribute="MyAttributeValue">
        <import MyImportAttribute="MyImportAttributeValue">
          <return table="FI" tablename="Company" id="429496732500" type="update"/>
        </import>
        <query catexkeys="false" MyQueryAttribute="MyQueryAttributeValue">
          <Company MyCompanyAttribute="MyCompanyAttributeValue"  tableshort="FI" id="429496732500">
            <Company MyFieldsAttribute="MyFieldsAttributeValue"> CRM.interface test</Company>
            <FreeC1 MyFieldAttribute="MyFieldsAttributeValue"/>
            <FreeN3 MyFieldsAttribute="MyFieldsAttributeValue"/>
          </Company>
        </query>
      </response>