Perl 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

Perl Example

use chilkat();

$rest = chilkat::CkRest->new();

#  URL: https://subdomain.zendesk.com/api/v2/users/361811376954.json
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect("subdomain.zendesk.com",$port,$bTls,$bAutoReconnect);
if ($success != 1) {
    print "ConnectFailReason: " . $rest->get_ConnectFailReason() . "\r\n";
    print $rest->lastErrorText() . "\r\n";
    exit;
}

$rest->SetAuthBasic("zendesk_email/token","zendesk_api_token");

$json = chilkat::CkJsonObject->new();
$json->UpdateString("user.name","Roger Wilco II");

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

$sbRequestBody = chilkat::CkStringBuilder->new();
$json->EmitSb($sbRequestBody);
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $rest->FullRequestSb("PUT","/api/v2/users/361811376954.json",$sbRequestBody,$sbResponseBody);
if ($success != 1) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

$respStatusCode = $rest->get_ResponseStatusCode();
if ($respStatusCode >= 400) {
    print "Response Status Code = " . $respStatusCode . "\r\n";
    print "Response Header:" . "\r\n";
    print $rest->responseHeader() . "\r\n";
    print "Response Body:" . "\r\n";
    print $sbResponseBody->getAsString() . "\r\n";
    exit;
}

$jsonResponse = chilkat::CkJsonObject->new();
$jsonResponse->LoadSb($sbResponseBody);

$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->put_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": {}
  }
}