При создании клиента через API, как мы назначаем ему роль Client + и назначаем его проекту? Я создал скрипт, который перенаправляет пользователей в проекты на основе их адресов электронной почты.
Клиент создан, но я считаю, что ему может быть назначена только роль Клиента (клиент + роль не существует). Дополнительный клиент плюс разрешения происходят из настраиваемого разрешения: управлять задачами, из того, что я вижу в базе данных.
Когда я включаю это разрешение, клиент никогда не создается.
Это мой код для создания клиента:
$payload = [
"type" => "Client",
"first_name" => $first_name,
"last_name" => $last_name,
"email" => $email,
"password" => $this->rand_string(15),
"company_id" => $company,
];
$result = $this->client->post("/users", $payload);
$result_json = $result->getJson();
$client_id = @$result_json['single']['id'];
$payload = [
"id" => $project,
"members" => array(
$client_id
),
];
$result = $this->client->post("/projects", $payload);
Клиент создается, хотя и без необходимых разрешений, и клиент никогда не добавляется в проект (что означает, что он не может выполнить задачу против него).
Клиент + — это обычный экземпляр клиента с дополнительными разрешениями. Эти дополнительные разрешения устанавливаются с помощью custom permissions
имущество. Обратите внимание, что это работает, только если Client + включен в разделе дополнений приложения.
Видимо, POST-ин к /users
API ломается, но вы можете использовать обычный маршрут приглашения и POST на /users/invite
Конечная точка API с этой полезной нагрузкой:
$payload = [
"role" => "Client",
"custom_permissions" => ["can_manage_tasks"],
"email_addresses" => [$email],
"company_id" => $company_id,
"project_ids" : [1, 2, 3],
];
пригласить пользователей с разрешениями Client +.
Других решений пока нет …