AgileApps Support Wiki Pre Release

Difference between revisions of "REST API: delegation Resource"

From AgileApps Support Wiki
imported>Aeric
(Created page with "Performs actions related to delegating your own profile and those of your direct reports to a proxy user. A proxy user should be able to perform the same activities as his or her...")
 
imported>Aeric
Line 4: Line 4:
{{Note| Users should have the Manage Delegations permissions.}}
{{Note| Users should have the Manage Delegations permissions.}}


===Determine if a Valid Session is in Progress===
===Add a User for Delegation===
{{:REST API:isSessionValid Resource}}
Allows you to add users to the Delegated users list.  
 
===Get Information about the Logged-In User===
{{:REST API:user/info Resource}}
 
===Get a User Record===
Retrieves data for the specified user.
;Method:GET
;URI:<tt>{{platformURL}}/rest/user/{user_id}</tt>
;Response:
:<syntaxhighlight lang="html4strict" enclose="div">
<platform>
    <user>
        <id>16016a880c064ad1ba92115424851462</id>
        <first_name>John</first_name>
        <last_name>Smith</last_name>
        <company>CompanyA</company>
        <title/>
        <time_zone>12</time_zone>
        <date_format>MM/dd/yyyy</date_format>
        <employee_number/>
        <language>en</language>
        <email>userA@gmail.com</email>
        <username>userA@gmail.com</username>
        <active>1</active>
        <team_id type="TEAM"
          uri="https://qamain.longjump.com/networking/rest/team/1"
          displayValue="Order Processing">5</team_id>
        <accessProfileId type="ROLE"
          uri="https://qamain.longjump.com/networking/rest/accessProfile/1"
          displayValue="Shipping Clerk">6</accessProfileId>
        <federation_id/>
        <sso_type>0</sso_type>
        <single_sign_on>false</single_sign_on>
        <enable_mobile>true</enable_mobile>
        <accessibility_mode>1<accessibility_mode>
        <acts_as_delegate>1<acts_as_delegate>
        <html_signature>test<html_signature>
        <phone/>
        <mobile/>
        <fax/>
        <street/>
        <city/>
        <state/>
        <zip/>
        <country/>
        <force_password_change_on_login>false</force_password_change_on_login>
        <date_last_password_change>2011-07-22T12:48:46.000Z</date_last_password_change>
        <force_security_question_change_on_login>1</force_security_question_change_on_login>
        <last_login>1236041001000</last_login>
        <created_id type=""
          uri="https://{{domain}}/networking/rest/user/1524089492"
          displayValue="Peter Parker">1424089492</created_id>
        <date_created>2010-11-12T13:14:15Z</date_created>
        <modified_id type=""
          uri="https://{{domain}}/networking/rest/user/1524089492"
          displayValue="Peter Parker">1424089492</modified_id>
        <date_modified>2010-11-12T13:14:15Z</date_modified>
        <customer_language>en</customer_language>
        <full_name>John Smith</full_name>
        <community_user_id/>
        <auto_generated_community_user_record>0</auto_generated_community_user_record>
        <user_type>P</user_type>
        <alias/>
        <description/>
        <photo_id/>
        <thumbnail_photo_id/>
        <date_status_updated>2011-07-28T12:41:11.000Z</date_status_updated>
        <status>
          {#package_installation.add_feed^Email Campaign Manager}.
          <a href='#' class='blueText smallText'
              style='font-weight:normal; text-decoration:underline;'
              onclick="javascript:top.loadApplication('1555611998wwy1718621231');">
              {#app.launch_appln}</a>
        </status>
        <tenant_user_id/>
        <tenant_id/>
        <notify_info>1</notify_info>
        <base_currency/>
        <customerId>123223323</customerId>
        <user_id_type>0</user_id_type>
        <object_id>USER</object_id>
        <flag_logged_in>1</flag_logged_in>
 
        <emailNotificationOptions>
            <userWallPost>true</userWallPost>
            <recordWallPost>true</recordWallPost>
            <documentWallPost>true</documentWallPost>
            <groupWallPost>true</groupWallPost>
            <commentOnMyPost>true</commentOnMyPost>
            <commentOnComment>true</commentOnComment>
            <like>true</like>
        </emailNotificationOptions>
 
        <reports_to type=""
          uri="https://{{domain}}/rest/user/123qwe456rty"
          displayValue="John Smith">123qwe456rty</reports_to>
    </user>
 
    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
</syntaxhighlight>
 
:See also: [[REST API:Error Codes]]
 
===Dynamic Search===
Returns the fields requested by a dynamic search based on number of records, offset, sort column, sort order, and specified criteria.
;Method:GET
;URI:<tt>{{platformURL}}/rest/user?{query_parameters}</tt>
:;Sample Search:
::<tt><nowiki>?fieldList=name,id&filter=name contains 'smith' & sortby='id'</nowiki></tt>
:: (Field names are in the [[#Fields|Fields]] section.)
 
{{:REST API:Dynamic Search}}
 
;Response:
:<syntaxhighlight lang="html4strict" enclose="div">
<platform>
    <record>
        <phone/>
        <street/>
        <state/>
        <date_created>2010-11-12T13:14:15Z</date_created>
        <city/>
        <id>1424089492</id>
        <first_name>Admin</first_name>
        <username>admin@platform.com</username>
        <title/>
        <reports_to/>
        <zip/>
        <employee_number/>
        <date_modified>2010-11-12T13:14:15Z</date_modified>
        <object_id>USER</object_id>
        <last_login>1267756624000</last_login>
        <country/>
        <created_id type=""
    uri="https://{{domain}}/networking/rest/user/5"
    displayValue="Platform Admin">5</created_id>
        <time_zone>12</time_zone>
        <modified_id type=""
      uri="https://{{domain}}/networking/rest/user/16016a880c064ad1ba92115424851462"
    displayValue="Sheela Sarva">16016a880c064ad1ba92115424851462</modified_id>
        <email>demo@platform.com</email>
        <last_name>Platform</last_name>
        <active>1</active>
        <accessibility_mode>1<accessibility_mode>
        <acts_as_delegate>1<acts_as_delegate> 
    </record>
 
    <record>
        <phone/>
        <street/>
        <state/>
        <date_created>2010-11-12T13:14:15Z</date_created>
        <city/>
        <id>151b28b700dc45abbb12b65ea451fc97</id>
        <first_name>Me</first_name>
        <username>myusername</username>
        <title/>
        <reports_to/>
        <zip/>
        <employee_number/>
        <date_modified>2010-11-12T13:14:15Z</date_modified>
        <object_id>USER</object_id>
        <last_login/>
        <country/>
        <created_id type=""
    uri="https://{{domain}}/networking/rest/user/123223323"
    displayValue="Platform Admin">123223323</created_id>
        <time_zone>12</time_zone>
        <modified_id type=""
    uri="https://{{domain}}/networking/rest/user/123223323"
    displayValue="Platform Admin">123223323</modified_id>
        <email>myusernamecp@gmail.com</email>
        <last_name>Mostly</last_name>
        <active>1</active>
    </record>
 
    <message>
        <code>0</code>
        <description>Success</description>
    </message>
    <recordCount>2</recordCount>
</platform>
</syntaxhighlight>
:See also: [[REST API:Error Codes]]
 
===Add a User Record===
Adds a user record
;Method:POST
;Method:POST
;URI:<tt>{{platformURL}}/rest/user/</tt>
;URI:<tt>https://{yourDomain}/networking/rest/delegation/</tt>
;Request:
;Request:
:<syntaxhighlight lang="html4strict" enclose="div">
:<syntaxhighlight lang="html4strict" enclose="div">
{
"platform": {
"delegation": {
"active": "false",
"applicationId": "08455b174ee14b26859c44c60f2ceb7b",
"createdId": {
"content": "b2c6fb3b59ba4f9a9c212f20be284df5",
"displayValue": "Fix Fix2",
"type": "USER",
"uri": "https://localhost/networking/rest/user/b2c6fb3b59ba4f9a9c212f20be284df5"
},
"dateCreated": "2018-07-26T00:46:41.000Z",
"dateModified": "2018-07-26T06:09:09.000Z",
"delegateAccessProfile": "false",
"delegatee": {
"content": "b2c6fb3b59ba4f9a9c212f20be284df5",
"displayValue": "Fix Fix2",
"type": "USER",
"uri": "https://localhost/networking/rest/user/b2c6fb3b59ba4f9a9c212f20be284df5"
},
"id": "ee35804e4c2942b999d8b5521e786fd7",
"modifiedId": {
"content": "b2c6fb3b59ba4f9a9c212f20be284df5",
"displayValue": "Fix Fix2",
"type": "USER",
"uri": "https://localhost/networking/rest/user/b2c6fb3b59ba4f9a9c212f20be284df5"
},
"prinicpalUser": {
"content": "792a8e8725104cb58e5d337ea730f59b",
"displayValue": "Fit fit",
"type": "USER",
"uri": "https://localhost/networking/rest/user/792a8e8725104cb58e5d337ea730f59b"
},
"roleId": [
{
"content": "18d2099643e64deab4a174dc113a5174",
"displayValue": "Agent",
"type": "ROLE",
"uri": "https://localhost/networking/rest/role/18d2099643e64deab4a174dc113a5174"
},
{
"content": "c7b03526a90c44cdbbfdaa4e5564c6a9",
"displayValue": "Manager",
"type": "ROLE",
"uri": "https://localhost/networking/rest/role/c7b03526a90c44cdbbfdaa4e5564c6a9"
}
]
}
}
}
<platform>
<platform>
     <user>
     <user>
Line 236: Line 95:
;Response:
;Response:
:<syntaxhighlight lang="html4strict" enclose="div">
:<syntaxhighlight lang="html4strict" enclose="div">
{
"platform": {
"message": {
"code": "0",
"description": "Success",
"id": "<delegationId>"
}
}
}
<platform>
<platform>
     <message>
     <message>

Revision as of 11:48, 6 August 2018

Performs actions related to delegating your own profile and those of your direct reports to a proxy user. A proxy user should be able to perform the same activities as his or her supervisor depending on the role(s) delegated to him or her.

Access Permissions

Notepad.png

Note: Users should have the Manage Delegations permissions.

Add a User for Delegation

Allows you to add users to the Delegated users list.

Method
POST
URI
https://{yourDomain}/networking/rest/delegation/
Request
<syntaxhighlight lang="html4strict" enclose="div">

{ "platform": { "delegation": { "active": "false", "applicationId": "08455b174ee14b26859c44c60f2ceb7b", "createdId": { "content": "b2c6fb3b59ba4f9a9c212f20be284df5", "displayValue": "Fix Fix2", "type": "USER", "uri": "https://localhost/networking/rest/user/b2c6fb3b59ba4f9a9c212f20be284df5" }, "dateCreated": "2018-07-26T00:46:41.000Z", "dateModified": "2018-07-26T06:09:09.000Z", "delegateAccessProfile": "false", "delegatee": { "content": "b2c6fb3b59ba4f9a9c212f20be284df5", "displayValue": "Fix Fix2", "type": "USER", "uri": "https://localhost/networking/rest/user/b2c6fb3b59ba4f9a9c212f20be284df5" }, "id": "ee35804e4c2942b999d8b5521e786fd7", "modifiedId": { "content": "b2c6fb3b59ba4f9a9c212f20be284df5", "displayValue": "Fix Fix2", "type": "USER", "uri": "https://localhost/networking/rest/user/b2c6fb3b59ba4f9a9c212f20be284df5" }, "prinicpalUser": { "content": "792a8e8725104cb58e5d337ea730f59b", "displayValue": "Fit fit", "type": "USER", "uri": "https://localhost/networking/rest/user/792a8e8725104cb58e5d337ea730f59b" }, "roleId": [ { "content": "18d2099643e64deab4a174dc113a5174", "displayValue": "Agent", "type": "ROLE", "uri": "https://localhost/networking/rest/role/18d2099643e64deab4a174dc113a5174" }, { "content": "c7b03526a90c44cdbbfdaa4e5564c6a9", "displayValue": "Manager", "type": "ROLE", "uri": "https://localhost/networking/rest/role/c7b03526a90c44cdbbfdaa4e5564c6a9" } ] } } } <platform>

   <user>
       <phone/>
       <street/>
       <city/>
       <first_name>John</first_name>
       <username>userA@gmail.com</username>
       <employee_number/>
       <single_sign_on>0</single_sign_on>
       <enable_mobile>true</enable_mobile>
       <fax/>
       <country/>
       <time_zone>12</time_zone>
       <email>userA@gmail.com</email>
       <company>CompanyA</company>
       <last_name>Smith</last_name>
       <active>1</active>
       <language>en</language>
       <mobile/>
       <state/>
       <title/>
       <notify_info>1</notify_info>
       <reports_to>151b28b700dc45abbb12b65ea451fc97</reports_to>
       <zip/>
       <alias/>
       <customer_language>en</customer_language>
       <team_id>1</team_id>                  // only required on add 
       <accessProfileId>3</accessProfileId>  // only required on add
       <accessibility_mode>1<accessibility_mode> 
       <acts_as_delegate>1<acts_as_delegate> 
   </user>

</platform> </syntaxhighlight>

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

{ "platform": { "message": { "code": "0", "description": "Success", "id": "<delegationId>" } } } <platform>

   <message>
       0
       <description>Success</description>
       <id>1818437421</id>      // id of the user that was added
   </message>

</platform> </syntaxhighlight>

See also: REST API:Error Codes

Update a User Record

Updates data for a specified User.

Method
PUT
URI
https://{yourDomain}/networking/rest/user/{recordId}
Request
Field elements are optional. If a field is missing, existing data in that field is unaffected. If a field is specified, but empty, any existing data in that field is deleted.
<syntaxhighlight lang="html4strict" enclose="div">

<platform>

   <user>
       <phone/>
       <street/>
       <city/>
       <first_name>John</first_name>
       <username>userA@gmail.com</username>
       <single_sign_on>0</single_sign_on>
       <employee_number/>
       <fax/>
       <country/>
       <time_zone>12</time_zone>
       <email>userA@gmail.com</email>
       <company>CompanyA</company>
       <last_name>Smith</last_name>
       <active>1</active>
       <language>en</language>
       <mobile/>
       <state/>
       <title/>
       <reports_to>151b28b700dc45abbb12b65ea451fc97</reports_to>

<zip/>

       <alias/>
       <customer_language>en</customer_language>
       <accessibility_mode>1<accessibility_mode> 
       <acts_as_delegate>1<acts_as_delegate> 
       <html_signature>test<html_signature>  //can update only the record for the logged in user      
   </user>

</platform> </syntaxhighlight>

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

<platform>

   <message>
       0
       <description>Success</description>
       <id>1818437421</id>      // id of the user that was updated
   </message>

</platform> </syntaxhighlight>

See also: REST API:Error Codes

Update (Reset) Password for a User

Change the password for a new or existing user.

Method
POST
Example
URI
https://{yourDomain}/networking/rest/user/operation/updatePassword
Request
<syntaxhighlight lang="html4strict" enclose="div">

<platform>

   <user>
       <id>da80488c7e8d4f5a83c66a3bb2590295</id>
       <password>abc</password>
       <longjump_reset_user>1</longjump_reset_user>
       <skip_email>1</skip_email>
   </user>

</platform> </syntaxhighlight>

longjump_reset_user
  • 0 = Password field is required. User is not required to change it at next log in. (default)
  • 1 = Password field does not have to be specified. System automatically generates a new, random password. User is required to change it at next log in.
skip_email
This field is only used for a new user.
Response
<syntaxhighlight lang="html4strict" enclose="div">

<platform>

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

</platform> </syntaxhighlight>

See also: REST API:Error Codes

Change Password for the Current User

Change the password for the current user.

Method
POST
URI
https://{yourDomain}/networking/rest/user/operation/changePassword
Request
<syntaxhighlight lang="html4strict" enclose="div">

<platform>

   <user>
       <old_password>world44</old_password>
       <password>pass123</password>
   </user>

</platform> </syntaxhighlight>

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

<platform>

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

</platform> </syntaxhighlight>

See also: REST API:Error Codes

Deactivate a User Record

Makes a User record inactive.

Method
DELETE
URI
https://{yourDomain}/networking/rest/user/{recordId}
Response
<syntaxhighlight lang="html4strict" enclose="div">

<platform>

   <message>

0 <description>Success</description>

   </message>

</platform> </syntaxhighlight>

See also: REST API:Error Codes

Delete a User Record

Deletes a User record

Method
DELETE
URI
https://{yourDomain}/networking/rest/user/{recordId}?action=delete-forever
Response
<syntaxhighlight lang="html4strict" enclose="div">

<platform>

   <message>

0 <description>Success</description>

   </message>

</platform> </syntaxhighlight>

See also: REST API:Error Codes

Fields

Notes:
  • In this object, Boolean fields accept either 1/0 or TRUE/FALSE
  • Because there are so many fields, and so many of them can be empty, empty fields generally are not returned as part of user data. However, they can still be specified for an update.
Name Type Attribute Required During Add Description Additional Information
id String Read Only Record Id
first_name String Editable on Add/Update
last_name String Editable on Add/Update Checkmark.gif
company String Editable on Add/Update
title String Editable on Add/Update
accessibility mode Boolean Editable on Add/Update Options:

1 - Enable accessibility mode
0 - Disable accessibility mode

act as delegate Boolean Editable on Add/Update Options:

1 - Delegated
0 - Not delegated

When delegation is enabled, logged in user can act on behalf of another user
html signature String Editable on Update You are not allowed to edit signatures of other users. You are authorized to edit only your signature. You cannot fetch html_signature through Dynamic search API
time_zone Integer Editable on Add/Update Checkmark.gif See: Time Zone Codes
date_format String Editable on Add/Update Checkmark.gif See: Date/Time Formats
reports_to String Editable on Add/Update User's manager/supervisor
employee_number Editable on Add/Update
language String Editable on Add/Update Checkmark.gif Two letter language code that is available to tenant (ex: 'en', 'es', 'hi')
email String Editable on Add/Update Checkmark.gif
username String Editable on Add/Update Checkmark.gif
site_name String Editable on Add/Update Checkmark.gif Optional. When the name of a Site is specified, it designates the user as a site user, rather than a platform user.
password String Writable on Add Only Password used to login
  • Password is optional when creating a new user
If not provided, a temporary password is generated and sent to the user/tenant via email
Learn more: Manage Email Templates - Forgot Reset Password Email
  • Password is not used when retrieving or updating user info
  • Password is not returned as part of user data
security_question String Editable on Add/Update This question confirms the identity of the user who has forgotten the password. security_question parameter values are:
1. In what city were you born? >> 1
2. What is your first pet's name? >> 2
3. What was your first teacher's name? >> 3
4. Write my own security question >> 4
custom_security_question String Editable on Add/Update This question confirms the identity of the user who has forgotten the password. If the custom_security_question and security_answer parameters are provided while creating a user through REST API call, then the value for security_question must be '4'.
security_answer String Editable on Add/Update The expected answer. If the custom_security_question and security_answer parameters are provided while creating a user through REST API call, then the value for security_question must be '4'.
active Boolean Editable on Add/Update
single_sign_on Boolean Editable on Add/Update
sso_type Integer Read Only Type of single sign on:

1 - Delegated
  Authentication
2 - SAML

See: Single Sign On
federation_id String Read Only Used in SAML authentication, if SAML is enabled
user_id_type Number Editable on Add/Update 1: User ID
2:Federated ID
Used in SAML authentication, if SAML is enabled
enable_mobile Boolean Editable on Add/Update Allow mobile access to the platform


team_id Integer Editable on Add/Update Checkmark.gif
accessProfileId Integer Editable on Add/Update Checkmark.gif
phone String Editable on Add/Update
mobile String Editable on Add/Update
fax String Editable on Add/Update
street String Editable on Add/Update
city String Editable on Add/Update
state String Editable on Add/Update
zip String Editable on Add/Update
country String Editable on Add/Update
notify_info Boolean Editable on Add/Update Send the Welcome email message When enabled, a notification email is sent (containing the username, welcome and login information) when a new user is added.

Default is 1 (email is sent automatically on new user creation)

This value is not stored in the database, and is not returned by a GET.

base_currency String Editable on Add/Update The currency format displayed to the user, and used for data entry
force_password_change_on_login Boolean Editable on Add/Update Force a password change action on first-time login When enabled, the User is prompted to change the password when logging in for the first time

Default is 1 (new user is forced to change password on first login)

force_security_question_change_on_login Boolean Editable on Add/Update Force the user to change their security question the next time they login. Default value is 1 when a user a new user record is created.
last_login Date Read Only Date and time of last login UTC Format
date_last_password_change date Read Only Date and time of last password change UTC Format
customer_language String Read Only Default Language, specified in My Information
full_name String Read Only Full name of the user
date_created Date Read Only UTC Format
created_id Lookup Read Only
date_modified Date Read Only UTC Format
modified_id Lookup Read Only
community_user_id String Read Only User's ID in the community
auto_generated_community_user_record Boolean Read Only <true> for the initial admin user and any other user IDs automatically generated for the community
user_type String Read Only User type: Platform user (P) or Site User (S)
alias String Editable on Add/Update User's alias in the community
description String Editable on Add/Update User's self-description
photo_id image Editable on Add/Update ID of the User's picture.
Access: REST document Resource.
thumbnail_photo_id image Editable on Add/Update ID of the thumbnail image.
Access: REST document Resource.
status String Editable on Add/Update User's status
date_status_updated date Editable on Add/Update Last date and time user's status was changed
tenant_id String Read Only
  • Blank when logged in as normal user in a non-community tenant.
  • The ID of the host tenant, when logged in as a community user.
tenant_user_id String Read Only
customerId String Read Only Customer ID The ID of the tenant where the user is logged in:
  • The host tenant ID, when logged in as a user for a normal (non-community) tenant.
  • The ID of the community tenant, when logged in as a community user.
flag_logged_in Boolean Read only True if the user is logged in
custom field(s) User Fields User can add fields of various type, including text, date, time, etc.
emailNotificationOptions
  • userWallPost
Boolean True to send a notification when someone writes on the user's wall.
  • recordWallPost
Boolean True to send a notification when someone writes on the record's wall, if the user is following that record.
  • documentWallPost
Boolean True to send a notification when someone writes on a document wall, if the user is following that document.
  • groupWallPost
Boolean True to send a notification when someone writes on a group wall, if the user is following that group.
  • commentOnMyPost
Boolean True to send a notification when someone comments on one of the user's posts.
  • commentOnComment
Boolean True to send a notification when someone comments on one of the user's comments.
  • like
Boolean True to send a notification when someone votes "like" on one of the user's posts.