Difference between revisions of "REST API:bulk record Resource"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:


=== About the Bulk Record Resource ===
=== About the Bulk Record Resource ===
==== Number of Records ====
Your [[Service Provider]] determines the maximum number of records that can be operated on at one time. The default value (and the value supported in the cloud) is 25.


==== Available Objects ====
==== Available Objects ====
Line 60: Line 63:
</platform>
</platform>
</syntaxhighlight>
</syntaxhighlight>
:'''Notes:'''
:{{:Common:record fields}}
:{{:Common:record fields}}


Line 74: Line 76:
</platform>
</platform>
</syntaxhighlight>
</syntaxhighlight>
One <tt><nowiki><id></nowiki></tt> element is returned for added record, giving its record ID.
:* If the <tt>retrieveRecord</tt> query parameter was specified, one <tt><nowiki><id></nowiki></tt> element is returned for each added record, giving its record ID.


If the <tt>retrieveRecord</tt> query parameter was specified, the response contains one <tt><nowiki><record></nowiki></tt> element for each add. The <tt><nowiki><id></nowiki></tt> is contained within that element.
:* If the <tt>retrieveRecord</tt> query parameter was specified, the response contains one <tt><nowiki><record></nowiki></tt> element for each record that was added. The <tt><nowiki><id></nowiki></tt> is contained within that element.


A <tt><nowiki><message></nowiki></tt> element is returned for each failure. That element contains the error code, description, and the <tt><nowiki><__transaction_id__></nowiki></tt> element to identify the record that failed.
:* <tt>message</tt> elements are returned if there are any failures. Each element contains the error code, description, and the <tt><nowiki><__transaction_id__></nowiki></tt> to identify the record that failed.


===Update Record===
===Update Record===
Updates records in an [[Object]].
Updates records in an [[Object]].


;Method:PUT
;Method:POST


;URI:<tt>{{platformURL}}/rest/record/{objectName}/bulk/update</tt>
;URI:<tt>{{platformURL}}/rest/record/{objectName}/bulk/update</tt>
Line 111: Line 113:
</platform>
</platform>
</syntaxhighlight>
</syntaxhighlight>
 
:* <tt><nowiki><__transaction_id__></nowiki></tt> elements are optional, but highly desirable. Each should have a unique value. When an error occurs, that value is included to identify the record that failed.  
:'''Notes:'''
:* Each <tt><nowiki><__transaction_id__></nowiki></tt> elements are optional (but highly desirable) elements that can be added. Each should have a unique value. When an error occurs, that value is included to identify the record that failed.  
:{{:Common:record fields}}
:{{:Common:record fields}}
:* Each <tt><fieldN></tt> element has the name of a field in the object.


;Response:
;Response:
Line 126: Line 125:
</platform>
</platform>
</syntaxhighlight>
</syntaxhighlight>
If the <tt>retrieveRecord</tt> query parameter was specified, the response contains one <tt><nowiki><record></nowiki></tt> element for each add.  
:* If the <tt>retrieveRecord</tt> query parameter was specified, the response contains one <tt><nowiki><record></nowiki></tt> element for each record that was added.  


A <tt><nowiki><message></nowiki></tt> element is returned for each failure. That element contains the error code, description, and the <tt><nowiki><__transaction_id__></nowiki></tt> element to identify the record that failed.
:* <tt>message</tt> elements are returned if there are any failures. Each element contains the error code, description, and the <tt><nowiki><__transaction_id__></nowiki></tt> to identify the record that failed.


===Delete Record===
===Delete Record===
Deletes records in an [[Object]].
Deletes records in an [[Object]].


;Method:DELETE
;Method:POST
;URI:<tt>{{platformURL}}/rest/record/{objectName}/bulk/delete</tt>
;URI:<tt>{{platformURL}}/rest/record/{objectName}/bulk/delete</tt>


Line 150: Line 149:
</platform>
</platform>
</syntaxhighlight>
</syntaxhighlight>
:* <tt><nowiki><__transaction_id__></nowiki></tt> elements are optional, but highly desirable. Each should have a unique value. When an error occurs, that value is included to identify the record that failed.


;Response:
;Response:
Line 160: Line 160:
</platform>
</platform>
</syntaxhighlight>
</syntaxhighlight>
One or more <tt>messages</tt> are returned if there are any failures. That element contains the error code, description, and the <tt><nowiki><__transaction_id__></nowiki></tt> element to identify the record that failed.
:* <tt>message</tt> elements are returned if there are any failures. Each element contains the error code, description, and the <tt><nowiki><__transaction_id__></nowiki></tt> to identify the record that failed.
<noinclude>
<noinclude>


[[Category:REST API|record Resource]]
[[Category:REST API|record Resource]]
</noinclude>
</noinclude>

Latest revision as of 03:10, 6 December 2014

Manage multiple Object records using the REST API.

About the Bulk Record Resource

Number of Records

Your Service Provider determines the maximum number of records that can be operated on at one time. The default value (and the value supported in the cloud) is 25.

Available Objects

These objects are available in the record Resource

Predefined Custom Object Fields

Every Custom Object is created with a number of fields that are automatically modified for each record.
Learn more: Custom Object#Predefined Fields

Data Format for Different Field Types

When adding and updating records, the field type determines the data format.
Learn more: REST API:Field Type Reference

Special Considerations for Enumerated Fields

When a record contains Enumerated Fields, there are additional factors to take into account.
Learn more: Enumerated Field Behavior For REST Web Services

Special System Objects

These System Objects can not be retrieved using the record Resource. They have specific resource URLs, instead:

Requirements

  • The logged-in user must have the permissions needed to access and/or modify the object in question.
Record access:

Lock-tiny.gif

  • In general, any user who can access an object can view all of the records it contains. (To access the object, they must be granted access to an application that contains it.)
  • One special case occurs when a record is owned by some other member of their team. In that case, the record becomes invisible, unless View permission has enabled in their Role Permissions, or unless their Access Profile gives them Global View permission.
  • Another special case occurs when Record Level Visibility has been enabled for an object, and visibility criteria has been specified for an individual record. In that case, a user who can see the record only when (a) They have been granted access to an application that contains the object, and (b) They match the visibility criteria specified for that record.
  • Users with Add permission enabled in Role Permissions or the Access Profile can add records
  • Users with Update permission enabled in Role Permissions or the Access Profile can update records
  • Users with Delete permission enabled in Role Permissions or the Access Profile can delete records 
Access to records owned by other team members:

Lock-tiny.gif

unless Record Level Visibility has been enabled, and visibility criteria has been specified for a record. (In that case, only users who match the criteria can read the record.)

Add Records

Adds records to an Object.

Method
POST
URI
https://{yourDomain}/networking/rest/record/{objectName}/bulk/add
https://{yourDomain}/networking/rest/record/{objectName}/bulk/add?{query_parameters}
Query Parameters
  • retrieveRecord (optional)
    • true: the record is also returned
    • false: the record is not returned (default)
For more information, see: Specifying Query Parameters in REST APIs
Request
One or more record structures that specify fields and a transaction ID for that record.
<syntaxhighlight lang="xml" enclose="div">

<platform>

   <record>
       <field1>...</field1>
       <field2>...</field2>
       ...
       <__transaction_id__>nnn</__transaction_id__>
   </record>
   <record>
       ...
       <__transaction_id__>nnn+1</__transaction_id__>
   </record>
     ...

</platform> </syntaxhighlight>

  • Each <fieldN> element has the name of a field in the object. For example:
<syntaxhighlight lang="java" enclose="div">

<company_name>ABC Co.</company_name> <street_address>21 Jump Street</street_address> </syntaxhighlight>

  • When specifying a Multi Object Lookup field, you specify the object identifier (name or ID) in the type attribute, and the record ID as the field value. The syntax looks like this:
<syntaxhighlight lang="java" enclose="div">

<field_name type="{objectName}">{record_id}</field> </syntaxhighlight>

For example, in the Sample Order Processing System, if priority tags were in a separate table, then the field might look like this:
<syntaxhighlight lang="java" enclose="div">

<tag type="Priority_Tag">9467890</tag> </syntaxhighlight>

  • To not trigger the rules via REST API, use the following parameter:
<syntaxhighlight lang="java" enclose="div">

<PLATFORM.PARAMS.RECORD.DO_NOT_EXEC_DATA_POLICY>1</PLATFORM.PARAMS.RECORD.DO_NOT_EXEC_DATA_POLICY> </syntaxhighlight>

Response
<syntaxhighlight lang="xml" enclose="div">

<platform>

   <message>
       0
       <description>Success</description>
   </message>
   <id>...</id>      
   ... 

</platform> </syntaxhighlight>

  • If the retrieveRecord query parameter was specified, one <id> element is returned for each added record, giving its record ID.
  • If the retrieveRecord query parameter was specified, the response contains one <record> element for each record that was added. The <id> is contained within that element.
  • message elements are returned if there are any failures. Each element contains the error code, description, and the <__transaction_id__> to identify the record that failed.

Update Record

Updates records in an Object.

Method
POST
URI
https://{yourDomain}/networking/rest/record/{objectName}/bulk/update
https://{yourDomain}/networking/rest/record/{objectName}/bulk/update?{query_parameters}
Query Parameters
  • retrieveRecord (optional)
    • true: the record is also returned
    • false: the record is not returned (default)
For more information, see: Specifying Query Parameters in REST APIs
Request
One or more record structures that specify fields to update and a transaction ID for that record.
<syntaxhighlight lang="xml" enclose="div">

<platform>

   <record>
       <id>...</id>              
       <field1>...</field1>
       <field2>...</field2>
       ...
       <__transaction_id__>nnn</__transaction_id__>
   </record>
   <record>
       <id>...</id>
       ...
       <__transaction_id__>nnn+1</__transaction_id__>
   </record>
     ...

</platform> </syntaxhighlight>

  • <__transaction_id__> elements are optional, but highly desirable. Each should have a unique value. When an error occurs, that value is included to identify the record that failed.
  • Each <fieldN> element has the name of a field in the object. For example:
<syntaxhighlight lang="java" enclose="div">

<company_name>ABC Co.</company_name> <street_address>21 Jump Street</street_address> </syntaxhighlight>

  • When specifying a Multi Object Lookup field, you specify the object identifier (name or ID) in the type attribute, and the record ID as the field value. The syntax looks like this:
<syntaxhighlight lang="java" enclose="div">

<field_name type="{objectName}">{record_id}</field> </syntaxhighlight>

For example, in the Sample Order Processing System, if priority tags were in a separate table, then the field might look like this:
<syntaxhighlight lang="java" enclose="div">

<tag type="Priority_Tag">9467890</tag> </syntaxhighlight>

  • To not trigger the rules via REST API, use the following parameter:
<syntaxhighlight lang="java" enclose="div">

<PLATFORM.PARAMS.RECORD.DO_NOT_EXEC_DATA_POLICY>1</PLATFORM.PARAMS.RECORD.DO_NOT_EXEC_DATA_POLICY> </syntaxhighlight>

Response
<syntaxhighlight lang="xml" enclose="div">

<platform>

   <message>
       0
       <description>Success</description>
   </message>

</platform> </syntaxhighlight>

  • If the retrieveRecord query parameter was specified, the response contains one <record> element for each record that was added.
  • message elements are returned if there are any failures. Each element contains the error code, description, and the <__transaction_id__> to identify the record that failed.

Delete Record

Deletes records in an Object.

Method
POST
URI
https://{yourDomain}/networking/rest/record/{objectName}/bulk/delete
Request
One or more record structures that specify the IDs of records to delete and a transaction ID for that record.
<syntaxhighlight lang="xml" enclose="div">

<platform>

   <record>
       <id>...</id>
       <__transaction_id__>nnn</__transaction_id__>
   </record>
   <record>
       <id>...</id>
       <__transaction_id__>nnn+1</__transaction_id__>
   </record>
     ...

</platform> </syntaxhighlight>

  • <__transaction_id__> elements are optional, but highly desirable. Each should have a unique value. When an error occurs, that value is included to identify the record that failed.
Response
<syntaxhighlight lang="xml" enclose="div">

<platform>

   <message>
       0
       <description>Success</description>
   </message>

</platform> </syntaxhighlight>

  • message elements are returned if there are any failures. Each element contains the error code, description, and the <__transaction_id__> to identify the record that failed.