Manage Transaction Fields - Add New Field
Create a new field used when recording customer transactions:
The data to be submitted to the API is composed of the following fields:
|
|
field |
|
Example |
|
Note |
|
|
|
API |
|
1.6 |
|
Required |
|
|
|
user_id |
|
john1970 |
|
Required |
|
|
|
user_api_key |
|
1959caadac9b13dcb3 |
|
Required |
|
|
|
type |
|
transaction_fields |
|
Required |
|
|
|
action |
|
add |
|
Required |
|
|
|
account_id |
|
greatwidgets |
|
Required |
|
|
|
custom_field_#_label |
|
Item SKU |
|
optional |
|
|
|
custom_field_#_show |
|
Y |
|
optional |
|
|
|
custom_field_#_type |
|
Text |
|
Required |
|
|
|
custom_field_#_choices |
|
New|Used|Other |
|
optional |
|
|
|
custom_field_#_unique |
|
Y |
|
optional |
|
|
|
custom_field_#_activity_type |
|
record, redeem, all |
|
optional |
|
|
|
|
|
|
|
|
|
|
|
Output Format: |
|
|
|
output |
|
JSON or XML |
|
Optional. If not provided, defaults to XML |
|
|
|
callback |
|
someFunctionName |
|
Optional: JSONP format |
|
|
|
condensed |
|
yes |
|
Optional (No white space) Applies only to JSON(P) output |
|
|
|
|
|
|
|
|
|
NOTE:
- Only users with proper permissions can access this call.
- Multiple fields can be added at the same time.
- The type is required, and once set, cannot be changed.
- If a field is received by the API and is missing some of its parameters, it will be created with any such missing values set to their default: Show=No
- Field types are:
- Text (up to 255 characters)
- Number (max precision of 16 digits, with 5 decimal. ie: max value: 99,999,999,999.99999)
- Monetary (max precision of 14 digits, with 2 decimal. ie: max value: 999,999,999,999.99)
- Date ("datetime" stamp. Ex: 2012-01-01 14:45:04 )
- Pick (Requires [field_name]_choices )
- List (Requires [field_name]_choices )
- Currently, the only field type that can be set to be "unique" is the Text type. "Unique" fields don't allow a content entry to be a duplicate of an existing one. An example might be an ID code, etc.
- Additional fields MUST have the following field_name structure:
- "custom_field_#" where the "#" is any integer above 1
(one of the default fields is "custom_field_1")
Example:
- custom_field_2
- custom_field_14
- ...
- NEW: Field "activity" types
- record To use the field for accruals (positive transactions)
- redeem To use the field for redemtions (negative transactions)
- all To use the field for both, acrruals and redemptions.
Example PHP Request:
If you are using PHP, the $data array would look like this:
- $data['API'] = '1.5';
- $data['user_id'] = 'john1970';
- $data['user_api_key'] = '1959caadac9b13dcb3';
- $data['account_id'] = 'greatwidgets';
- $data['type'] = 'transaction_fields';
- $data['action'] = 'add';
- $data['custom_field_1_label'] = 'Item SKU'
- $data['custom_field_1_show'] = 'Y';
- $data['custom_field_1_type'] = 'Text';
- $data['custom_field_2_label'] = 'Tags';
- $data['custom_field_2_show'] = 'Y';
- $data['custom_field_2_type'] = 'List';
- $data['custom_field_2_choices'] = 'Tag A|Tag B|Tag C|Tag D|...';
- $data['custom_field_3_label'] = 'Condition';
- $data['custom_field_3_show'] = 'Y';
- $data['custom_field_3_type'] = 'Pick';
- $data['custom_field_3_choices'] = 'New|Used|Other';
- $data['custom_field_4_label'] = 'Expiration Date';
- $data['custom_field_4_show'] = 'Y';
- $data['custom_field_4_type'] = 'Date';
- $data['custom_field_5_label'] = 'Kilograms';
- $data['custom_field_5_show'] = 'Y';
- $data['custom_field_5_type'] = 'Number';
- $data['custom_field_5_activity_type'] = 'redeem';
Success XML Response (lists ONLY the custom fields added):
- <response status="success">
- <account>
- <account_id>test2009050502</account_id>
- <fields>
- <field>
- <name>custom_field_1</name>
- <label>Item SKU</label>
- <show>Y</show>
- <type>Text</type>
- </field>
- <field>
- <name>custom_field_2</name>
- <label>Tags</label>
- <show>Y</show>
- <type>List</type>
- <choices>
- <choice>Tag A</choice>
- <choice>Tag B</choice>
- <choice>Tag C</choice>
- </choice>
- </field>
- <field>
- <name>custom_field_3</name>
- <label>Condition</label>
- <show>Y</show>
- <type>Pick</type>
- <choices>
- <choice>New</choice>
- <choice>Used</choice>
- <choice>Other</choice>
- </choice>
- </field>
- <field>
- <name>custom_field_4</name>
- <label>Expiration Date</label>
- <show>Y</show>
- <type>Date</type>
- </field>
- <field>
- <name>custom_field_5</name>
- <label>Kilograms</label>
- <show>Y</show>
- <type>Number</type>
- <activity_type>redeem</activity_type>
- </field>
- </fields>
- </account>
- </response>
NOTE:
- The <show> response indicates whether or not this field ought to be shown or not. Usually fields with "N" will have nothing in them. However, it is allowed to add content to any defined field through the API regardless of their <show> status.
Error XML Response:
- <response status="error">
- <error>Error message</error>
- </response>
|