AgileApps Support Wiki Pre Release

REST API:import Mapping Profile Resource

From AgileApps Support Wiki

Manage import Mapping Profiles using the REST API.

Learn more:

Permissions

Lock-tiny.gif

Users that have the Use Development Features permission can use this resource. 

List Import Field-Mapping Profiles

Method
GET
URI
https://{{domain}}/networking/rest/import/mappingProfile/{objectName}
Response
<platform>
    <mappingProfile>
        <id>1351233928</id>
        <name>TestMap</name>
        <description/>
        <objectId>e8dc7a31353947729c2d1995e3185771</objectId>
        <date_created>2012-03-14T04:59:39.000Z</date_created>
        <date_modified>2012-03-14T20:51:37.000Z</date_modified>
        <modified_id 
           type="" uri="https://.." 
           displayValue="John Doe">1424089492</modified_id>
        <created_id          
           type="" 
           uri="https://localhost/networking/rest/USER/1424089492" 
           displayValue="John Doe">1424089492</created_id>
        <mapping>
            <energy csvColumnName="Energy (kWh)">2</lk>
            <numberField csvColumnName="Number">1</numberField>
        </mapping>
        <advancedOptions>
            <mergeOptions>MERGE_USING_PRIMARY_KEY</mergeOptions>
            <recordOwner          
               type="" uri="https://..." 
               displayValue="John Doe">1424089492</recordOwner>
            <lookupFieldOptions>
                <lookupFieldOption 
                    lookupColumnName="Lk">time_field</lookupFieldOption>
            </lookupFieldOptions>
        </advancedOptions>
    </mappingProfile>

    <mappingProfile>
        ...
    </mappingProfile>
     ...

    <message>
        <code>0</code>
        <description>Success</description>
    </message>
    <recordCount>N</recordCount>      <!-- Number of mappingProfiles returned -->
</platform>
See also: REST API:Error Codes

Get an Import Field Mapping Profile

Method
GET
URI
https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}
Response
<platform>
    <mappingProfile>
        <id>1351233928</id>
        <name>TestMap</name>
        <description/>
        <objectId>e8dc7a31353947729c2d1995e3185771</objectId>
        <date_created>2012-03-14T04:59:39.000Z</date_created>
        <date_modified>2012-03-14T20:51:37.000Z</date_modified>
        <modified_id 
           type="" uri="https://..." 
           displayValue="John Doe">1424089492</modified_id>
        <created_id          
           type="" 
           uri="https://localhost/networking/rest/USER/1424089492" 
           displayValue="John Doe">1424089492</created_id>
        <mapping>
            <energy csvColumnName="Energy (kWh)">2</lk>
            <numberField csvColumnName="Number">1</numberField>
        </mapping>
        <advancedOptions>
            <mergeOptions>MERGE_USING_PRIMARY_KEY</mergeOptions>
            <recordOwner          
               type="" 
               uri="https://localhost/networking/rest/USER/1424089492" 
               displayValue="John Doe">1424089492</recordOwner>
            <lookupFieldOptions>
                <lookupFieldOption 
                    lookupColumnName="Lk">time_field</lookupFieldOption>
            </lookupFieldOptions>
        </advancedOptions>
    </mappingProfile>

    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
See also: REST API:Error Codes

Add an Import Field-Mapping Profile

Method
POST
URI
https://{{domain}}/networking/rest/import/mappingProfile/{objectName}
Request
<platform>
    <mappingProfile>
        <name>TestMap</name>
        <description/>
        <mapping>
            <energy csvColumnName="Energy (kWh)">2</lk>
            <numberField csvColumnName="Number">1</numberField>
        </mapping>
        <advancedOptions>
            <mergeOptions>MERGE_USING_PRIMARY_KEY</mergeOptions>
            <recordOwner 
                type="" uri="https://..." 
                displayValue="Justin Thyme">764db24986</recordOwner>
            <lookupFieldOptions>
                <lookupFieldOption 
                    lookupColumnName="Lk">time_field</lookupFieldOption>
            </lookupFieldOptions>
        </advancedOptions>
    </mappingProfile>
</platform>
Response
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
        <id>...</id>   <!-- ID of the newly created mappingProfile -->
    </message>
</platform>
See also: REST API:Error Codes

Update an Import Field-Mapping Profile

Method
PUT
URI
https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}
Request
<platform>
    <mappingProfile>
        <name>TestMap</name>
        <description/>
        <mapping>
            <energy csvColumnName="Energy (kWh)">2</lk>
            <numberField csvColumnName="Number">1</numberField>
        </mapping>
        <advancedOptions>
            <mergeOptions>MERGE_USING_PRIMARY_KEY</mergeOptions>
            <recordOwner 
                type="" uri="https://..." 
                displayValue="Justin Thyme">764db24986</recordOwner>
            <lookupFieldOptions>
                <lookupFieldOption 
                    lookupColumnName="Lk">time_field</lookupFieldOption>
            </lookupFieldOptions>
        </advancedOptions>
    </mappingProfile>
</platform>
Response
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
See also: REST API:Error Codes

Delete an Import Field Mapping Profile

Method
DELETE
URI
https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}
Record ID of the mapping profile can also be specified.
Response
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
See also: REST API:Error Codes

Fields

Note: Unless otherwise indicated, the attribute for a field is "Editable on Add or Update".
Name Type Attribute Required on Add/Update Description Additional Information
id String Read Only Record Id
name String Checkmark.gif Mapping profile name
description String
mapping Tag Checkmark.gif Describes the mapping betweeen the CSV columns and Platform fields.
advancedOptions Tag Checkmark.gif Defines additional mapping profile options
date_modified Date Read Only UTC Format
date_created Date Read Only UTC Format
created_id Lookup Read Only User ID
modified_id Lookup Read Only User ID

mapping Tag

Name Type Required on Add/Update Description Additional Information
platform field Number Checkmark.gif CSV column number The tag name is the name of an object field. The number is the CSV data column it maps to. The first column is column "zero". So <phone>1</phone> maps the second CSV column to the phone field.
csvColumnName Attribute Checkmark.gif CSV-column identifier The value of this attribute is displayed in the GUI to help a user map the intended columns.
Learn more: Data Import Wizard

advancedOptions Tag

Name Type Required on Add Description Additional Information
mergeOptions String Possible values:
  • DO_NOT_MERGE
  • MERGE_USING_PRIMARY_KEY
  • MERGE_USING_RECORD_ID
MERGE_USING_RECORD_ID works only if the record_id field is mapped.
recordOwner Lookup Default record owner A User ID.
Learn more: Data Ownership
lookupFieldOptions Tag One or more option tags governing lookup fields
lookupFieldOptions Tag
Name Type Required on Add Description Additional Information
lookupFieldOption String Possible values
  • MATCH_BY_LOOKUP_ID
  • MATCH_BY_LOOKUP_RECORD_LOCATOR
  • field name
When a field name is specified, data in the CSV column is matched against that field in the Lookup target object.
lookupColumnTitle Attribute The name of the Lookup field in the platform object.

Notepad.png

Note:
When defining a profile mapping, these are the field names to use for the standard fields defined for custom objects:

  • row_id - Record Id
  • OWNER - Record owner's name
  • OWNER_ID - Record owner's User ID

Error Codes

Platform Code Error
-52 INVALID_MAPPING_PROFILE_NAME
-53 PLEASE_PROVIDE_ADVANCED_MAPPING_OPTIONS
-54 INVALID_DEFAULT_OWNER_ID_SELECTED
-55 INVALID_MERGE_OPTION_FOR_ACCOUNTS
-56 INVALID_PROPSECT_OWNER_ASSIGNMENT_OPTION
-57 FIELD_IN_MAPPED_COLUMNS_DOES_NOT_EXIST
-58 INVALID_CSV_COLUMN_NUMBER

Learn more: