Перейти к содержанию

SetGroupAdmin#

Postman Test

Метод назначает участника группового чата администратором.

Для метода используются ограничения на частоту запросов в секунду.

Запрос#

Для назначения участника группового чата администратором требуется выполнить запрос по адресу:

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