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

GetContacts#

Test Postman Apidog

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

Обновление информации о контактах может занимать до 5 минут.

При получении пустого массива данных - повторить вызов метода.

Запрос#

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

GET
{{apiUrl}}/waInstance{{idInstance}}/getContacts/{{apiTokenInstance}}

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

Ответ#

Поля ответа#

Поле Тип Описание
id string Идентификатор корреспондента или группового чата
name string Имя контакта. Возможные значения:
1) Если есть входящая переписка/реакции от аккаунта, то получаем имя из профиля WhatsApp
2) Если нет входящей переписки/реакций от аккаунта, то получаем пустую строку
contactName string Имя контакта из телефонной книги
type string Тип контакта. Возможные значения:
user - контакт принадлежит корреспонденту
group - контакт является групповым чатом

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

[
    {
        "id": "11001234567@c.us",
        "name": "Иван Петров",
        "contactName": "Иван Петоров Работа",
        "type": "user"
    },
    {
        "id": "79001234568@c.us",
        "name": "Люся Сидорова",
        "contactName": "Люся Сидорова кружок шитья",
        "type": "user"
    },
    {
        "id": "79001234569-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