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

GetGroupData#

Test Postman Apidog

Метод получает данные группового чата.

Запрос#

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

POST
{{apiUrl}}/waInstance{{idInstance}}/getGroupData/{{apiTokenInstance}}

Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
groupId string Да Идентификатор группового чата

Примечание

Для получения валидной ссылки groupInviteLink получатель является администратором или владельцем группы, либо участником группы, у которого есть разрешение на отправку ссылки для вступления в группу (для этого поле allowParticipantsSendInviteLink должно иметь значение true). Иначе метод вернёт код 200 и пустое поле groupInviteLink. Для получения ссылки необходимо запрашивать метод с номера у которого есть необходимы права (владелец группы, администратор, либо у пользователей есть разрешение на отправку ссылки).

Пример тела запроса#

{
    "groupId": "120363043968066561@g.us"
}

Ответ#

Поля ответа#

Поле Тип Описание
groupId string Идентификатор группового чата
owner string Идентификатор владельца группы
subject string Наименование группы
description string Описание группы
creation number Время создания группы в Unix-формате
subjectTime number Время создания наименования группы в Unix-формате
subjectOwner string Идентификатор пользователя создавшего наименование группы
groupInviteLink string Ссылка приглашения в группу. Чтобы присылать всем пользователям, а не только администраторам необходимо включить разрешение участникам отправлять ссылку на вступление в группу. Узнать разрешение можно в поле allowParticipantsSendInviteLink
ephemeralExpiration number Время жизни исчезающих сообщений
allowParticipantsEditGroupSettings boolean Разрешение изменять настройки группы, true/false
allowParticipantsSendMessages boolean Разрешение отправлять сообщение в группу, true/false
allowParticipantsAddMembers boolean Разрешение добавлять других участников в группу, true/false
isCommunity boolean Данная группа является сообществом (доступно только для администраторов сообщества), true/false
isCommunityAnnounce boolean Данная группа является группой объявлений в сообществе (доступно только для администраторов сообщества), true/false
size number Количество участников в группе
participants array Коллекция участников группы
allowParticipantsSendInviteLink boolean Разрешение участникам отправлять ссылку на вступление в группу, true/false
allowParticipantsSendMessages boolean Разрешение участникам просматривать историю сообщений, true/false

Поля объектов из массива participants

Поле Тип Описание
id string Идентификатор участника группового чата
lid string Идентификатор участника группового чата
phoneNumber string Номер телефона участника в формате идентификатора. Если номер скрыт настройками приватности, возвращается пустая строка
username string Имя пользователя WhatsApp*. Если имя пользователя не задано, возвращается пустая строка
isAdmin boolean Флаг, является ли пользователь администратором группы
isSuperAdmin boolean Флаг, является ли пользователь супер администратором группы

Пример тела ответа#

{
    "groupId": "120363043968066561@g.us",
    "owner": "79876543210@c.us",
    "subject": "GREEN-API Group",
    "description": "Лучшая группа",
    "creation": 1587570015,
        "participants": [
        {
            "id": "79876543210@c.us",
            "lid": "123456789098765@lid",
            "phoneNumber": "79876543210@c.us",
            "username": "",
            "isAdmin": true,
            "isSuperAdmin": true
        },
        {
            "id": "79001234567@c.us",
            "lid": "123456789012345@lid",
            "phoneNumber": "79001234567@c.us",
            "username": "",
            "isAdmin": true,
            "isSuperAdmin": false
        },
        {
            "id": "79001234567@c.us",
            "lid": "123456789000000@lid",
            "phoneNumber": "79001234567@c.us",
            "username": "",
            "isAdmin": false,
            "isSuperAdmin": false
        }
    ],
    "subjectTime": 1587737715,
    "subjectOwner": "79876543210@c.us",
    "groupInviteLink": "https://chat.whatsapp.com/xxxxxxxxxxxxxxxxxxxxxx",
    "allowParticipantsSendMessages": true,
    "size": 2,
    "ephemeralExpiration": 0,
    "allowParticipantsEditGroupSettings": true,
    "allowParticipantsAddMembers": false,
    "isCommunity": false,
    "isCommunityAnnounce": false,
    "allowParticipantsSendInviteLink": true,
    "allowParticipantsSendMessageHistory": true
}

Ошибки GetGroupData#

Ограничения WhatsApp* при частом вызове метода

При частом выполнении запросов, WhatsApp* может ограничивать получение ссылки на группу. В этом случае, в ответе GetGroupData будет пустое поле groupInviteLink.

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Код HTTP Идентификатор ошибки Описание
500 Error: forbidden Вы не состоите в группе
500 Error: item-not-found Группы не существует
400 Bad Request
Validation failed
Ошибка валидации
400 Bad Request
Validation failed.
Details: 'groupId' must be the next formats: 'group_id@g.us
Неверный формат поля groupId, поле указывается в формате group_id@g.us

Примеры кода#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/getGroupData/{{apiTokenInstance}}"

payload = {(
    "groupId": "11011234567@g.us")
}
headers = {
  'Content-Type': 'application/json'
}

response = requests.post(url, json=payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getGroupData/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "groupId": "11111111111111111@g.us"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/getGroupData/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\"groupId\": \"11111111111111111@g.us\"}";

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("/getGroupData/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"groupId\": \"11111111111111111@g.us\"}")
    .asString();

System.out.println(response);
Sub GetGroupData()
    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}}/getGroupData/{{apiTokenInstance}}"

    ' groupId - group chat identifier
    RequestBody = "{""groupId"":""120123400367448864@g.us""}"

    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