Difference between revisions of "REST API:import Mapping Profile Resource"
From AgileApps Support Wiki
imported>Aeric |
imported>Aeric m (Text replace - '{domain}' to '{{domain}}') |
||
(45 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
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=== | ||
{{permissions|Use Development Features|use this resource.}} | |||
{{permissions| | |||
===List | ===List Import Field-Mapping Profiles=== | ||
;Method:GET | ;Method:GET | ||
;URI:<tt><nowiki>https://{domain}/networking/rest/ | ;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}</nowiki></tt> | ||
;Response: | ;Response: | ||
:<syntaxhighlight lang="xml" enclose="div"> | :<syntaxhighlight lang="xml" enclose="div"> | ||
<platform> | <platform> | ||
< | <mappingProfile> | ||
<id> | <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> | |||
... | ... | ||
Line 54: | Line 56: | ||
<description>Success</description> | <description>Success</description> | ||
</message> | </message> | ||
<recordCount>N</recordCount> <!-- Number of | <recordCount>N</recordCount> <!-- Number of mappingProfiles returned --> | ||
</platform> | </platform> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 60: | Line 62: | ||
:See also: [[REST API:Error Codes]] | :See also: [[REST API:Error Codes]] | ||
===Get | ===Get an Import Field Mapping Profile=== | ||
;Method:GET | ;Method:GET | ||
;URI:<tt><nowiki>https://{domain}/networking/rest/ | ;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}</nowiki></tt> | ||
;Response: | ;Response: | ||
:<syntaxhighlight lang="xml" enclose="div"> | :<syntaxhighlight lang="xml" enclose="div"> | ||
<platform> | <platform> | ||
< | <mappingProfile> | ||
<id>...</ | <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> | <message> | ||
Line 91: | Line 110: | ||
:See also: [[REST API:Error Codes]] | :See also: [[REST API:Error Codes]] | ||
===Add | ===Add an Import Field-Mapping Profile=== | ||
;Method:POST | ;Method:POST | ||
;URI:<tt><nowiki>https://{domain}/networking/rest/ | ;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}</nowiki></tt> | ||
;Request: | ;Request: | ||
:<syntaxhighlight lang="xml" enclose="div"> | :<syntaxhighlight lang="xml" enclose="div"> | ||
<platform> | <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> | </platform> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 113: | Line 146: | ||
<code>0</code> | <code>0</code> | ||
<description>Success</description> | <description>Success</description> | ||
<id>...</id> <!-- ID of the newly created | <id>...</id> <!-- ID of the newly created mappingProfile --> | ||
</message> | </message> | ||
</platform> | </platform> | ||
Line 120: | Line 153: | ||
:See also: [[REST API:Error Codes]] | :See also: [[REST API:Error Codes]] | ||
===Update | ===Update an Import Field-Mapping Profile=== | ||
;Method:PUT | ;Method:PUT | ||
;URI:<tt><nowiki>https://{domain}/networking/rest/ | ;URI:<tt><nowiki>https://{{domain}}/networking/rest/import/mappingProfile/{objectName}/{mapping_profile_name}</nowiki></tt> | ||
;Request: | ;Request: | ||
:<syntaxhighlight lang="xml" enclose="div"> | :<syntaxhighlight lang="xml" enclose="div"> | ||
<platform> | <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> | </platform> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 147: | Line 194: | ||
:See also: [[REST API:Error Codes]] | :See also: [[REST API:Error Codes]] | ||
===Delete | ===Delete an Import Field Mapping Profile === | ||
;Method:DELETE | ;Method:DELETE | ||
;URI:<tt><nowiki>https://{domain}/networking/rest/ | ;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: | ;Response: | ||
:<syntaxhighlight lang="xml" enclose="div"> | :<syntaxhighlight lang="xml" enclose="div"> | ||
<platform> | <platform> | ||
<message> | <message> | ||
<code>0</code> | <code>0</code> | ||
Line 187: | Line 216: | ||
:''Note:'' Unless otherwise indicated, the attribute for a field is "Editable on Add or Update". | :''Note:'' Unless otherwise indicated, the attribute for a field is "Editable on Add or Update". | ||
:{| border="1" cellpadding="5" cellspacing="0" | :{| border="1" cellpadding="5" cellspacing="0" | ||
! Name!!Type!!Attribute!!Required on Add!!Description!!Additional Information | ! Name!!Type!!Attribute!!Required on Add/Update!!Description!!Additional Information | ||
|- | |- | ||
| id || String || align="center"|Read Only || || || [[Record Id]] | | id || String || align="center"|Read Only || || || [[Record Id]] | ||
|- | |- | ||
| name || String || || align="center"|[[File:Checkmark.gif|link=]] || || | | name || String || || align="center"|[[File:Checkmark.gif|link=]] || Mapping profile name || | ||
|- | |- | ||
| description || String || || || || | | 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=" | | colspan="6" bgcolor="lightblue" style="height:7px" | <!-- SPACER ROW --> | ||
|- | |- | ||
Line 221: | Line 241: | ||
| modified_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" | :{| border="1" cellpadding="5" cellspacing="0" | ||
! Name !! Type !! | ! 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=== | ===Error Codes=== | ||
:{| border="1" cellpadding="5" cellspacing="0" | :{| border="1" cellpadding="5" cellspacing="0" | ||
! Platform Code|| | ! Platform Code|| Error | ||
|- | |- | ||
| align="center"| - | | 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 | |||
|} | |} | ||
Line 256: | Line 310: | ||
:* See the [[REST API:Error Codes]] for common Http error codes | :* 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. | :* See the [{{DOCHOST}}/javadocs/constant-values.html javadoc constants] for a complete list of <tt>PlatformException</tt> error-code constants. | ||
<noinclude> | <noinclude> | ||
[[Category:REST API| | [[Category:REST API|importMappingProfile Resource]] | ||
</noinclude> | </noinclude> | ||
Latest revision as of 19:19, 25 April 2014
Manage import Mapping Profiles using the REST API.
Learn more:
- bulk import Resource for importing data
- REST API Conventions and Considerations.
Permissions
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
- <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>
0
<description>Success</description>
</message>
<recordCount>N</recordCount>
</platform> </syntaxhighlight>
- 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
- <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>
0
<description>Success</description>
</message>
</platform> </syntaxhighlight>
- See also: REST API:Error Codes
Add an Import Field-Mapping Profile
- Method
- POST
- URI
- https://{{domain}}/networking/rest/import/mappingProfile/{objectName}
- 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>
0
<description>Success</description>
<id>...</id>
</message>
</platform> </syntaxhighlight>
- 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
- <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>
0
<description>Success</description>
</message>
</platform> </syntaxhighlight>
- 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
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<message>
0
<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".
Name Type Attribute Required on Add/Update Description Additional Information id String Read Only Record Id name String Mapping profile name description String mapping Tag Describes the mapping betweeen the CSV columns and Platform fields. advancedOptions Tag 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 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 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 OwnershiplookupFieldOptions 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.
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:
- See the REST API:Error Codes for common Http error codes
- See the javadoc constants for a complete list of PlatformException error-code constants.