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

GetContacts#

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

Запрос#

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

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

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

Ответ#

Поля ответа#

Поле Тип Описание
id string Идентификатор корреспондента или группового чата
name string Имя контакта. Возможные значения:
1) Если аккаунт записан в телефонную книгу, то получаем имя из книги
2) Если аккаунт не записан в телефонную книгу, то получаем имя из профиля WhatsApp
3) Если аккаунт не записан в телефонную книгу и не назначено имя профиля в WhatsApp, то получаем пустое поле
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": "Моя группа",
        "contactName": "Моя группа",
        "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("https://api.greenapi.com")
    .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("https://api.greenapi.com")
    .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 idInstance and apiTokenInstance values are available in your account, 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