SetGroupAdmin#
Метод назначает участника группового чата администратором.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для назначения участника группового чата администратором требуется выполнить запрос по адресу:
POST
{{apiUrl}}/waInstance{{idInstance}}/setGroupAdmin/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор группового чата |
participantChatId | string | Да | Идентификатор участника группы, назначаемого администратором |
permissions | object | Нет | Объект с правами администратора. Если не передан, будут использованы настройки по умолчанию |
Параметры объекта permissions:
| Параметр | Тип | Описание |
|---|---|---|
canManageChat | boolean | Право на управление чатом (доступ к журналу действий, назначение других прав)true/false |
canChangeInfo | boolean | Право на изменение информации о группе (название, фото, описание)true/false |
canPostMessages | boolean | Право на публикацию сообщений (актуально для каналов)true/false |
canEditMessages | boolean | Право на редактирование сообщений других пользователей (только для каналов)true/false |
canDeleteMessages | boolean | Право на удаление сообщений других пользователейtrue/false |
canInviteUsers | boolean | Право на приглашение пользователей в группу по ссылкеtrue/false |
canRestrictMembers | boolean | Право на ограничение (бан) пользователейtrue/false |
canPinMessages | boolean | Право на закрепление сообщенийtrue/false |
canManageTopics | boolean | Право на управление темами (только для форумов)true/false |
canPromoteMembers | boolean | Право на добавление новых администраторовtrue/false |
canManageVideoChats | boolean | Право на управление видеочатамиtrue/false |
canPostStories | boolean | Право на публикацию историй от имени группыtrue/false |
canEditStories | boolean | Право на редактирование историй других пользователейtrue/false |
canDeleteStories | boolean | Право на удаление историй других пользователейtrue/false |
isAnonymous | boolean | Анонимность администратора (сообщения будут отправляться от имени группы, а администратор будет скрыт из списка участников)true/false |
Пример тела запроса#
Назначение участника группового чата администратором:
{
"chatId": "-10000000000000",
"participantChatId": "10000000",
"permissions": {
"canChangeInfo": true,
"canDeleteMessages": true,
"canRestrictMembers": true,
"canPinMessages": true,
"canPromoteMembers": false,
"isAnonymous": false
}
}
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
setGroupAdmin | boolean | Флаг назначения участника группы администратором |
Пример тела ответа#
{
"setGroupAdmin": true
}
Ошибки#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 200 | failed to set group admin | Не удалось назначить участника администратором |
| 200 | you have to be group admin to change settings | Номер, привязанный к инстансу, не является администратором |
| 200 | no permission | Номер, привязанный к инстансу, не может назначать администраторов в группе |
| 200 | participant is not a group member | Указанный номер не является участником группы |
| 200 | participant not found | Неверно указан chatId |
| 400 | Bad Request Validation failed | Ошибка валидации |
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/setGroupAdmin/{{apiTokenInstance}}"
payload = {(
"chatId": "-10000000000000",
"participantChatId": "10000000")
}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/setGroupAdmin/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "-10000000000000",
"participantChatId": "10000000"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/setGroupAdmin/")
.append({{apiTokenInstance}});
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
var jsonBody = "{\"chatId\": \"-10000000000000\",\"participantChatId\": \"10000000\"}";
var requestEntity = new HttpEntity<>(jsonBody, headers);
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/setGroupAdmin/")
.append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
.header("Content-Type", "application/json")
.body("{\"chatId\": \"-10000000000000\",\"participantChatId\": \"10000000\"}")
.asString();
System.out.println(response);
Sub SetGroupAdmin()
Dim url As String
Dim RequestBody As String
Dim http As Object
Dim response As String
' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
url = "{{apiUrl}}/waInstance{{idInstance}}/setGroupAdmin/{{apiTokenInstance}}"
RequestBody = "{""chatId"":""-10000000000000"",""participantChatId"":""10000000""}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json"
.Send RequestBody
End With
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
Range("A1").Value = response
Set http = Nothing
End Sub