C# UWP/WinRT Zendesk: Update user

Back to Index

Update a user by user ID. This example updates the user with id = 361811376954

Documentation: https://developer.zendesk.com/rest_api/docs/core/users#update-user

CURL Command

curl https://subdomain.zendesk.com/api/v2/users/361811376954.json \
  -d '{"user": {"name": "Roger Wilco II"}}' \
  -H "Content-Type: application/json" -X PUT \
  -u zendesk_email/token:zendesk_api_token

C# UWP/WinRT Example

Chilkat.Rest rest = new Chilkat.Rest();
bool success;

//  URL: https://subdomain.zendesk.com/api/v2/users/361811376954.json
bool bTls = true;
int port = 443;
bool bAutoReconnect = true;
success = await rest.ConnectAsync("subdomain.zendesk.com",port,bTls,bAutoReconnect);
if (success != true) {
    Debug.WriteLine("ConnectFailReason: " + Convert.ToString(rest.ConnectFailReason));
    Debug.WriteLine(rest.LastErrorText);
    return;
}

rest.SetAuthBasic("zendesk_email/token","zendesk_api_token");

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.UpdateString("user.name","Roger Wilco II");

rest.AddHeader("Content-Type","application/json");

Chilkat.StringBuilder sbRequestBody = new Chilkat.StringBuilder();
json.EmitSb(sbRequestBody);
Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
success = await rest.FullRequestSbAsync("PUT","/api/v2/users/361811376954.json",sbRequestBody,sbResponseBody);
if (success != true) {
    Debug.WriteLine(rest.LastErrorText);
    return;
}

int respStatusCode = rest.ResponseStatusCode;
if (respStatusCode >= 400) {
    Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(rest.ResponseHeader);
    Debug.WriteLine("Response Body:");
    Debug.WriteLine(sbResponseBody.GetAsString());
    return;
}

Chilkat.JsonObject jsonResponse = new Chilkat.JsonObject();
jsonResponse.LoadSb(sbResponseBody);

int userId;
string userUrl;
string userName;
string userEmail;
string userCreated_at;
string userUpdated_at;
string userTime_zone;
string userPhone;
string userShared_phone_number;
string userPhoto;
int userLocale_id;
string userLocale;
string userOrganization_id;
string userRole;
bool userVerified;
string userExternal_id;
string userAlias;
bool userActive;
bool userShared;
bool userShared_agent;
string userLast_login_at;
bool userTwo_factor_auth_enabled;
string userSignature;
string userDetails;
string userNotes;
string userRole_type;
string userCustom_role_id;
bool userModerator;
string userTicket_restriction;
bool userOnly_private_comments;
bool userRestricted_agent;
bool userSuspended;
bool userChat_only;
string userDefault_group_id;
int i;
int count_i;

userId = jsonResponse.IntOf("user.id");
userUrl = jsonResponse.StringOf("user.url");
userName = jsonResponse.StringOf("user.name");
userEmail = jsonResponse.StringOf("user.email");
userCreated_at = jsonResponse.StringOf("user.created_at");
userUpdated_at = jsonResponse.StringOf("user.updated_at");
userTime_zone = jsonResponse.StringOf("user.time_zone");
userPhone = jsonResponse.StringOf("user.phone");
userShared_phone_number = jsonResponse.StringOf("user.shared_phone_number");
userPhoto = jsonResponse.StringOf("user.photo");
userLocale_id = jsonResponse.IntOf("user.locale_id");
userLocale = jsonResponse.StringOf("user.locale");
userOrganization_id = jsonResponse.StringOf("user.organization_id");
userRole = jsonResponse.StringOf("user.role");
userVerified = jsonResponse.BoolOf("user.verified");
userExternal_id = jsonResponse.StringOf("user.external_id");
userAlias = jsonResponse.StringOf("user.alias");
userActive = jsonResponse.BoolOf("user.active");
userShared = jsonResponse.BoolOf("user.shared");
userShared_agent = jsonResponse.BoolOf("user.shared_agent");
userLast_login_at = jsonResponse.StringOf("user.last_login_at");
userTwo_factor_auth_enabled = jsonResponse.BoolOf("user.two_factor_auth_enabled");
userSignature = jsonResponse.StringOf("user.signature");
userDetails = jsonResponse.StringOf("user.details");
userNotes = jsonResponse.StringOf("user.notes");
userRole_type = jsonResponse.StringOf("user.role_type");
userCustom_role_id = jsonResponse.StringOf("user.custom_role_id");
userModerator = jsonResponse.BoolOf("user.moderator");
userTicket_restriction = jsonResponse.StringOf("user.ticket_restriction");
userOnly_private_comments = jsonResponse.BoolOf("user.only_private_comments");
userRestricted_agent = jsonResponse.BoolOf("user.restricted_agent");
userSuspended = jsonResponse.BoolOf("user.suspended");
userChat_only = jsonResponse.BoolOf("user.chat_only");
userDefault_group_id = jsonResponse.StringOf("user.default_group_id");
i = 0;
count_i = jsonResponse.SizeOfArray("user.tags");
while (i < count_i) {
    jsonResponse.I = i;
    i = i + 1;
}

Sample JSON Response Body

{
  "user": {
    "id": 361811376954,
    "url": "https://chilkat.zendesk.com/api/v2/users/361811376954.json",
    "name": "Roger Wilco II",
    "email": "roger@chilkat.io",
    "created_at": "2018-04-14T23:09:24Z",
    "updated_at": "2018-04-15T02:58:06Z",
    "time_zone": "Bogota",
    "phone": null,
    "shared_phone_number": null,
    "photo": null,
    "locale_id": 1,
    "locale": "en-US",
    "organization_id": null,
    "role": "end-user",
    "verified": false,
    "external_id": null,
    "tags": [
    ],
    "alias": null,
    "active": true,
    "shared": false,
    "shared_agent": false,
    "last_login_at": null,
    "two_factor_auth_enabled": false,
    "signature": null,
    "details": null,
    "notes": null,
    "role_type": null,
    "custom_role_id": null,
    "moderator": false,
    "ticket_restriction": "requested",
    "only_private_comments": false,
    "restricted_agent": true,
    "suspended": false,
    "chat_only": false,
    "default_group_id": null,
    "user_fields": {}
  }
}