Difference between revisions of "REST API:import Mapping Profile Resource"

From AgileApps Support Wiki
imported>Aeric
(Created page with "{{subst:REST API}}")
 
imported>Aeric
m (Text replace - '{domain}' to '{{domain}}')
 
(46 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{subst:REST API}}
Manage import [[Manage_Data_Import#Mapping Profile|Mapping Profiles]] using the [[REST API]].
 
''Learn more:''
:* [[REST API:bulk Resource|bulk import]] Resource for importing data
:*  REST API [[REST API#Conventions and Considerations|Conventions and Considerations]].
 
===Permissions===
{{permissions|Use Development Features|use this resource.}}
 
===List Import Field-Mapping Profiles===
 
;Method:GET
;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}</nowiki></tt>
 
;Response:
:<syntaxhighlight lang="xml" enclose="div">
<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>
</syntaxhighlight>
 
:See also: [[REST API:Error Codes]]
 
===Get an Import Field Mapping Profile===
;Method:GET
;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}</nowiki></tt>
 
;Response:
:<syntaxhighlight lang="xml" enclose="div">
<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>
</syntaxhighlight>
 
:See also: [[REST API:Error Codes]]
 
===Add an Import Field-Mapping Profile===
 
;Method:POST
;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}</nowiki></tt>
 
;Request:
:<syntaxhighlight lang="xml" enclose="div">
<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>
</syntaxhighlight>
 
;Response:
:<syntaxhighlight lang="xml" enclose="div">
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
        <id>...</id>  <!-- ID of the newly created mappingProfile -->
    </message>
</platform>
</syntaxhighlight>
 
:See also: [[REST API:Error Codes]]
 
===Update an Import Field-Mapping Profile===
;Method:PUT
;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}</nowiki></tt>
 
;Request:
:<syntaxhighlight lang="xml" enclose="div">
<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>
</syntaxhighlight>
 
;Response:
:<syntaxhighlight lang="xml" enclose="div">
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
</syntaxhighlight>
 
:See also: [[REST API:Error Codes]]
 
===Delete an Import Field Mapping Profile ===
 
;Method:DELETE
 
;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}</nowiki></tt>
:Record ID of the mapping profile can also be specified.
 
;Response:
:<syntaxhighlight lang="xml" enclose="div">
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
</syntaxhighlight>
 
:See also: [[REST API:Error Codes]]
 
===Fields===
:''Note:'' Unless otherwise indicated, the attribute for a field is "Editable on Add or Update".
:{| border="1" cellpadding="5" cellspacing="0"
! Name!!Type!!Attribute!!Required on Add/Update!!Description!!Additional Information
|-
| id || String || align="center"|Read Only || || || [[Record Id]]
|-
| name || String || || align="center"|[[File:Checkmark.gif|link=]] || Mapping profile name ||
|-
| description || String || || ||  ||
 
|-
| [[#mapping Tag|mapping]] || Tag || || align="center"|[[File:Checkmark.gif|link=]] || Describes the mapping betweeen the CSV columns and Platform fields.||
|-
| [[#advancedOptions Tag|advancedOptions]] || Tag || || align="center"|[[File:Checkmark.gif|link=]] || Defines additional mapping profile options ||
 
|-
| colspan="6"  bgcolor="lightblue" style="height:7px" |  <!-- SPACER ROW -->
 
|-
| date_modified || Date || align="center"|Read Only || || || [[UTC Format]]
|-
| date_created || Date || align="center"|Read Only || || || [[UTC Format]]
|-
| created_id || Lookup || align="center"|Read Only  || || || [[REST API:User Resource|User]] ID
|-
| modified_id || Lookup || align="center"|Read Only || || || [[REST API:User Resource|User]] ID
|}
 
====mapping Tag====
:{| border="1" cellpadding="5" cellspacing="0"
! Name!!Type!!Required on Add/Update!!Description!!Additional Information
|-
| ''platform field'' || Number || align="center"|[[File:Checkmark.gif|link=]] || 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 <tt><phone>1</phone></tt> maps the second CSV column to the <tt>phone</tt> field.
|-
| csvColumnName || Attribute ||align="center"|[[File:Checkmark.gif|link=]] || CSV-column identifier || The value of this attribute is displayed in the GUI to help a user map the intended columns.<br>''Learn more:'' [[Data_Import#Use_the_Data_Import_Wizard|Data Import Wizard]]
|}
 
====advancedOptions Tag====
:{| border="1" cellpadding="5" cellspacing="0"
! 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.<br>''Learn more:''  [[Data_Import#Data_Ownership|Data Ownership]]
|-
| [[#lookupFieldOptions Tag|lookupFieldOptions]] || Tag  || || One or more option tags governing lookup fields ||
|}
 
=====lookupFieldOptions Tag=====
:{| border="1" cellpadding="5" cellspacing="0"
! Name!!Type!!Required on Add!!Description!!Additional Information
|-
| lookupFieldOption || String || || valign="top"| 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. ||
 
|}
 
{{Note|<br>When defining a profile mapping, these are the field names to use for the standard fields defined for custom objects:
:* <tt>row_id</tt> - Record Id
:* <tt>OWNER</tt> - Record owner's name
:* <tt>OWNER_ID</tt> - Record owner's [[User]] ID
}}
 
===Error Codes===
:{| border="1" cellpadding="5" cellspacing="0"
! Platform Code|| Error
|-
| align="center"| -52 || INVALID_MAPPING_PROFILE_NAME
|-
| align="center"| -53 || PLEASE_PROVIDE_ADVANCED_MAPPING_OPTIONS
|-
| align="center"| -54 || INVALID_DEFAULT_OWNER_ID_SELECTED
|-
| align="center"| -55 || INVALID_MERGE_OPTION_FOR_ACCOUNTS
|-
| align="center"| -56 || INVALID_PROPSECT_OWNER_ASSIGNMENT_OPTION
|-
| align="center"| -57 || FIELD_IN_MAPPED_COLUMNS_DOES_NOT_EXIST
|-
| align="center"| -58 || INVALID_CSV_COLUMN_NUMBER 
|}
 
''Learn more:''
:* See the [[REST API:Error Codes]] for common Http error codes
:* See the [{{DOCHOST}}/javadocs/constant-values.html javadoc constants] for a complete list of <tt>PlatformException</tt> error-code constants.
<noinclude>
 
[[Category:REST API|importMappingProfile Resource]]
</noinclude>

Latest revision as of 19:19, 25 April 2014

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: