using RestSharp;
var options = new RestClientOptions("http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{\n \"ContactId\": 123,\n \"PersonName\": \"<string>\",\n \"PhoneNumbers\": [\n \"<string>\"\n ],\n \"Emails\": [\n \"<string>\"\n ],\n \"Credential\": {\n \"Type\": {\n \"DisplayType\": \"<string>\",\n \"Type\": \"<string>\",\n \"Description\": \"<string>\",\n \"CanCreatePerson\": true,\n \"IsUserNameSupported\": true,\n \"TableRight\": {\n \"Mask\": \"<string>\",\n \"Reason\": \"<string>\"\n },\n \"FieldProperties\": {}\n },\n \"Value\": \"<string>\",\n \"DisplayValue\": \"<string>\",\n \"TableRight\": {\n \"Mask\": \"<string>\",\n \"Reason\": \"<string>\"\n },\n \"FieldProperties\": {}\n }\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
ContactId: 123,
PersonName: '<string>',
PhoneNumbers: ['<string>'],
Emails: ['<string>'],
Credential: {
Type: {
DisplayType: '<string>',
Type: '<string>',
Description: '<string>',
CanCreatePerson: true,
IsUserNameSupported: true,
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
},
Value: '<string>',
DisplayValue: '<string>',
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
}
})
};
fetch('http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "56350",
CURLOPT_URL => "http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ContactId' => 123,
'PersonName' => '<string>',
'PhoneNumbers' => [
'<string>'
],
'Emails' => [
'<string>'
],
'Credential' => [
'Type' => [
'DisplayType' => '<string>',
'Type' => '<string>',
'Description' => '<string>',
'CanCreatePerson' => true,
'IsUserNameSupported' => true,
'TableRight' => [
'Mask' => '<string>',
'Reason' => '<string>'
],
'FieldProperties' => [
]
],
'Value' => '<string>',
'DisplayValue' => '<string>',
'TableRight' => [
'Mask' => '<string>',
'Reason' => '<string>'
],
'FieldProperties' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo"
payload = {
"ContactId": 123,
"PersonName": "<string>",
"PhoneNumbers": ["<string>"],
"Emails": ["<string>"],
"Credential": {
"Type": {
"DisplayType": "<string>",
"Type": "<string>",
"Description": "<string>",
"CanCreatePerson": True,
"IsUserNameSupported": True,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"Value": "<string>",
"DisplayValue": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
ContactId: 123,
PersonName: '<string>',
PhoneNumbers: ['<string>'],
Emails: ['<string>'],
Credential: {
Type: {
DisplayType: '<string>',
Type: '<string>',
Description: '<string>',
CanCreatePerson: true,
IsUserNameSupported: true,
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
},
Value: '<string>',
DisplayValue: '<string>',
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
}
})
};
fetch('http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"User": {
"AssociateId": 123,
"Name": "<string>",
"Rank": 123,
"Tooltip": "<string>",
"LicenseOwners": [
{
"Name": "<string>",
"Description": "<string>",
"RestrictedModuleLicenses": [
{
"Unrestricted": true,
"Total": 123,
"Tooltip": "<string>",
"CanAssign": true,
"Free": 123,
"InUse": 123,
"IsHidden": true,
"Assigned": true,
"ModuleLicenseId": 123,
"Name": "<string>",
"Description": "<string>",
"PrerequisiteModuleName": "<string>",
"SortOrder": 123,
"ExtraFlags": 123,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"UnrestrictedModuleLicenses": [
{
"Unrestricted": true,
"Total": 123,
"Tooltip": "<string>",
"CanAssign": true,
"Free": 123,
"InUse": 123,
"IsHidden": true,
"Assigned": true,
"ModuleLicenseId": 123,
"Name": "<string>",
"Description": "<string>",
"PrerequisiteModuleName": "<string>",
"SortOrder": 123,
"ExtraFlags": 123,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"Role": {
"Id": 123,
"Value": "<string>",
"Tooltip": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"UserGroup": {
"Value": "<string>",
"Tooltip": "<string>",
"Id": 123,
"Rank": 123,
"Deleted": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"OtherGroups": [
{
"Value": "<string>",
"Tooltip": "<string>",
"Id": 123,
"Rank": 123,
"Deleted": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"Person": {
"Position": "<string>",
"PersonId": 123,
"Mrmrs": "<string>",
"Firstname": "<string>",
"Lastname": "<string>",
"MiddleName": "<string>",
"Title": "<string>",
"Description": "<string>",
"Email": "<string>",
"FullName": "<string>",
"DirectPhone": "<string>",
"FormalName": "<string>",
"CountryId": 123,
"ContactId": 123,
"ContactName": "<string>",
"Retired": 123,
"Rank": 123,
"ActiveInterests": 123,
"ContactDepartment": "<string>",
"ContactCountryId": 123,
"ContactOrgNr": "<string>",
"FaxPhone": "<string>",
"MobilePhone": "<string>",
"ContactPhone": "<string>",
"AssociateName": "<string>",
"AssociateId": 123,
"UsePersonAddress": true,
"ContactFax": "<string>",
"Kanafname": "<string>",
"Kanalname": "<string>",
"Post1": "<string>",
"Post2": "<string>",
"Post3": "<string>",
"EmailName": "<string>",
"ContactFullName": "<string>",
"ActiveErpLinks": 123,
"TicketPriorityId": 123,
"SupportLanguageId": 123,
"SupportAssociateId": 123,
"CategoryName": "<string>",
"PersonNumber": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"Deleted": true,
"Lastlogin": "2023-11-07T05:31:56Z",
"Lastlogout": "2023-11-07T05:31:56Z",
"EjUserId": 123,
"RequestSignature": "<string>",
"Type": "Unknown",
"IsPersonRetired": true,
"IsOnTravel": true,
"Credentials": [
{
"Type": {
"DisplayType": "<string>",
"Type": "<string>",
"Description": "<string>",
"ValueControl": "Static",
"CanCreatePerson": true,
"IsUserNameSupported": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"Value": "<string>",
"DisplayValue": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"UserName": "<string>",
"TicketCategories": [
{
"Id": 123,
"Name": "<string>",
"ToolTip": "<string>",
"Deleted": true,
"Rank": 123,
"Type": "<string>",
"ChildItems": "<array>",
"IconHint": "<string>",
"ColorBlock": 123,
"ExtraInfo": "<string>",
"StyleHint": "<string>",
"FullName": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"NickName": "<string>",
"WaitingForApproval": true,
"ExtraFields": {},
"CustomFields": {},
"PostSaveCommands": [
{
"Name": "<string>",
"DisplayName": "<string>",
"Description": "<string>",
"ToolTip": "<string>",
"Actions": "Implicit",
"ActionData": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"PersonCreated": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}Resolve User From Info
Get a user from the provided information.
If the user or associated person does not exist, it will be created on demand.
NsApiSlow threshold: 2000 ms.
using RestSharp;
var options = new RestClientOptions("http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{\n \"ContactId\": 123,\n \"PersonName\": \"<string>\",\n \"PhoneNumbers\": [\n \"<string>\"\n ],\n \"Emails\": [\n \"<string>\"\n ],\n \"Credential\": {\n \"Type\": {\n \"DisplayType\": \"<string>\",\n \"Type\": \"<string>\",\n \"Description\": \"<string>\",\n \"CanCreatePerson\": true,\n \"IsUserNameSupported\": true,\n \"TableRight\": {\n \"Mask\": \"<string>\",\n \"Reason\": \"<string>\"\n },\n \"FieldProperties\": {}\n },\n \"Value\": \"<string>\",\n \"DisplayValue\": \"<string>\",\n \"TableRight\": {\n \"Mask\": \"<string>\",\n \"Reason\": \"<string>\"\n },\n \"FieldProperties\": {}\n }\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
ContactId: 123,
PersonName: '<string>',
PhoneNumbers: ['<string>'],
Emails: ['<string>'],
Credential: {
Type: {
DisplayType: '<string>',
Type: '<string>',
Description: '<string>',
CanCreatePerson: true,
IsUserNameSupported: true,
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
},
Value: '<string>',
DisplayValue: '<string>',
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
}
})
};
fetch('http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "56350",
CURLOPT_URL => "http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ContactId' => 123,
'PersonName' => '<string>',
'PhoneNumbers' => [
'<string>'
],
'Emails' => [
'<string>'
],
'Credential' => [
'Type' => [
'DisplayType' => '<string>',
'Type' => '<string>',
'Description' => '<string>',
'CanCreatePerson' => true,
'IsUserNameSupported' => true,
'TableRight' => [
'Mask' => '<string>',
'Reason' => '<string>'
],
'FieldProperties' => [
]
],
'Value' => '<string>',
'DisplayValue' => '<string>',
'TableRight' => [
'Mask' => '<string>',
'Reason' => '<string>'
],
'FieldProperties' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo"
payload = {
"ContactId": 123,
"PersonName": "<string>",
"PhoneNumbers": ["<string>"],
"Emails": ["<string>"],
"Credential": {
"Type": {
"DisplayType": "<string>",
"Type": "<string>",
"Description": "<string>",
"CanCreatePerson": True,
"IsUserNameSupported": True,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"Value": "<string>",
"DisplayValue": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
ContactId: 123,
PersonName: '<string>',
PhoneNumbers: ['<string>'],
Emails: ['<string>'],
Credential: {
Type: {
DisplayType: '<string>',
Type: '<string>',
Description: '<string>',
CanCreatePerson: true,
IsUserNameSupported: true,
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
},
Value: '<string>',
DisplayValue: '<string>',
TableRight: {Mask: '<string>', Reason: '<string>'},
FieldProperties: {}
}
})
};
fetch('http://localhost:56350/api/v1/Agents/User/ResolveUserFromInfo', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"User": {
"AssociateId": 123,
"Name": "<string>",
"Rank": 123,
"Tooltip": "<string>",
"LicenseOwners": [
{
"Name": "<string>",
"Description": "<string>",
"RestrictedModuleLicenses": [
{
"Unrestricted": true,
"Total": 123,
"Tooltip": "<string>",
"CanAssign": true,
"Free": 123,
"InUse": 123,
"IsHidden": true,
"Assigned": true,
"ModuleLicenseId": 123,
"Name": "<string>",
"Description": "<string>",
"PrerequisiteModuleName": "<string>",
"SortOrder": 123,
"ExtraFlags": 123,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"UnrestrictedModuleLicenses": [
{
"Unrestricted": true,
"Total": 123,
"Tooltip": "<string>",
"CanAssign": true,
"Free": 123,
"InUse": 123,
"IsHidden": true,
"Assigned": true,
"ModuleLicenseId": 123,
"Name": "<string>",
"Description": "<string>",
"PrerequisiteModuleName": "<string>",
"SortOrder": 123,
"ExtraFlags": 123,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"Role": {
"Id": 123,
"Value": "<string>",
"Tooltip": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"UserGroup": {
"Value": "<string>",
"Tooltip": "<string>",
"Id": 123,
"Rank": 123,
"Deleted": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"OtherGroups": [
{
"Value": "<string>",
"Tooltip": "<string>",
"Id": 123,
"Rank": 123,
"Deleted": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"Person": {
"Position": "<string>",
"PersonId": 123,
"Mrmrs": "<string>",
"Firstname": "<string>",
"Lastname": "<string>",
"MiddleName": "<string>",
"Title": "<string>",
"Description": "<string>",
"Email": "<string>",
"FullName": "<string>",
"DirectPhone": "<string>",
"FormalName": "<string>",
"CountryId": 123,
"ContactId": 123,
"ContactName": "<string>",
"Retired": 123,
"Rank": 123,
"ActiveInterests": 123,
"ContactDepartment": "<string>",
"ContactCountryId": 123,
"ContactOrgNr": "<string>",
"FaxPhone": "<string>",
"MobilePhone": "<string>",
"ContactPhone": "<string>",
"AssociateName": "<string>",
"AssociateId": 123,
"UsePersonAddress": true,
"ContactFax": "<string>",
"Kanafname": "<string>",
"Kanalname": "<string>",
"Post1": "<string>",
"Post2": "<string>",
"Post3": "<string>",
"EmailName": "<string>",
"ContactFullName": "<string>",
"ActiveErpLinks": 123,
"TicketPriorityId": 123,
"SupportLanguageId": 123,
"SupportAssociateId": 123,
"CategoryName": "<string>",
"PersonNumber": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"Deleted": true,
"Lastlogin": "2023-11-07T05:31:56Z",
"Lastlogout": "2023-11-07T05:31:56Z",
"EjUserId": 123,
"RequestSignature": "<string>",
"Type": "Unknown",
"IsPersonRetired": true,
"IsOnTravel": true,
"Credentials": [
{
"Type": {
"DisplayType": "<string>",
"Type": "<string>",
"Description": "<string>",
"ValueControl": "Static",
"CanCreatePerson": true,
"IsUserNameSupported": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"Value": "<string>",
"DisplayValue": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"UserName": "<string>",
"TicketCategories": [
{
"Id": 123,
"Name": "<string>",
"ToolTip": "<string>",
"Deleted": true,
"Rank": 123,
"Type": "<string>",
"ChildItems": "<array>",
"IconHint": "<string>",
"ColorBlock": 123,
"ExtraInfo": "<string>",
"StyleHint": "<string>",
"FullName": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"NickName": "<string>",
"WaitingForApproval": true,
"ExtraFields": {},
"CustomFields": {},
"PostSaveCommands": [
{
"Name": "<string>",
"DisplayName": "<string>",
"Description": "<string>",
"ToolTip": "<string>",
"Actions": "Implicit",
"ActionData": "<string>",
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}
],
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
},
"PersonCreated": true,
"TableRight": {
"Mask": "<string>",
"Reason": "<string>"
},
"FieldProperties": {}
}Headers
Convert string references and multi-language values into a specified language (iso2) code.
Convert string references and multi-language values into a specified language (iso2) code. Overrides Accept-Language value.
Number, date formatting in a specified culture (iso2 language) code. Partially overrides SO-Language/Accept-Language value. Ignored if no Language set.
Specify the timezone code that you would like date/time responses converted to.
The application token that identifies the partner app. Used when calling Online WebAPI from a server.
Query Parameters
Optional comma separated list of properties to include in the result. Other fields are then nulled out to reduce payload size: "Name,department,category". Default = show all fields.
Body
ContactId, PersonName, PhoneNumbers, Emails, UserType, Credential
ResolveUserFromInfo: Get a user from the provided information. If the user or associated person does not exist, it will be created on demand.
Unknown, InternalAssociate, ResourceAssociate, ExternalAssociate, AnonymousAssociate, SystemAssociate Credentials supported for authentication Carrier object for Credential. Services for the Credential Carrier is available from the User Agent.
Show child attributes
Show child attributes
Response
OK
The User Service. The service implements all services working with the User object. Carrier object for ResolvedUser. Services for the ResolvedUser Carrier is available from the User Agent.
SuperOffice User, with login credentials and an associated person. Carrier object for User. Services for the User Carrier is available from the User Agent.
Show child attributes
Show child attributes
Indicates if the resolved person was created or not.
Wraps a table right together with an explanatory reason. Code can indicate why access is restricted.
Show child attributes
Show child attributes
Field property dictionary mapping field names to field access rights.
Show child attributes
Show child attributes