GetContacts#
Метод предназначен для получения списка контактов текущего аккаунта.
Обновление информации о контактах может занимать до 5 минут.
При получении пустого массива данных - повторить вызов метода.
Запрос#
Для получения списка контактов требуется выполнить запрос по адресу:
 GET    
 {{apiUrl}}/waInstance{{idInstance}}/getContacts/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры URL запроса#
| Параметр | Тип | Обязательный | Описание | 
|---|---|---|---|
| group | boolean | Нет | При указании group=trueотображаются только группы | 
| При указании group=falseотображаются только персональные чаты | |||
| При отсутствии параметра отображается полный список контактов | |||
| count | integer | Нет | При указании числа count={{number}}, отображается указанное количество контактов | 
| Если контактов меньше, чем указанное число, то отображаются все контакты, соответствующие запросу | |||
| При отсутствии параметра показываются все контакты | 
Примеры запроса с необязательными параметрами#
Получить список групп текущего аккаунта:
 GET    
 {{apiUrl}}/waInstance{{idInstance}}/getContacts/{{apiTokenInstance}}?group=true
Получить список личных чатов текущего аккаунта в заданном количестве:
 GET    
 {{apiUrl}}/waInstance{{idInstance}}/getContacts/{{apiTokenInstance}}?group=false&count={{number}}
Ответ#
Поля ответа#
| Поле | Тип | Описание | 
|---|---|---|
| id | string | Идентификатор корреспондента или группового чата | 
| name | string | Имя контакта. Возможные значения: | 
| 1) Если есть входящая переписка/реакции от аккаунта, то получаем имя из профиля WhatsApp | ||
| 2) Если нет входящей переписки/реакций от аккаунта, то получаем пустую строку | ||
| contactName | string | Имя контакта из телефонной книги | 
| type | string | Тип контакта. Возможные значения: | 
| user- контакт принадлежит корреспонденту | ||
| group- контакт является групповым чатом | 
Пример тела ответа#
[
    {
        "id": "79876543210@c.us",
        "name": "Иван Петров",
        "contactName": "Иван Петоров Работа",
        "type": "user"
    },
    {
        "id": "79001234567@c.us",
        "name": "Люся Сидорова",
        "contactName": "Люся Сидорова кружок шитья",
        "type": "user"
    },
    {
        "id": "79001234567-1479621234@g.us",
        "name": "Моя группа",
        "type": "group"
    }
]
Ошибки GetContacts#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Описание ошибки | Возможные решения | 
|---|---|---|
| 200 | Метод getContacts возвращает пустой массив [] | 1. Пересканировать QR-код. 2. Обратиться в службу техподдержки. | 
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/getContacts/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getContacts/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/getContacts/")
    .append({{apiTokenInstance}});
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.GET, null, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/getContacts/")
    .append({{apiTokenInstance}});
var response = Unirest.get(requestUrl.toString())
    .header("Content-Type", "application/json")
    .asString();
System.out.println(response);
Sub GetContacts()
    Dim url 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}}/GetContacts/{{apiTokenInstance}}"
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.Send
    response = http.responseText
    Debug.Print response
    ' Outputting the answer to the desired cell
    Range("A1").Value = response
    Set http = Nothing
End Sub