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

SetProfilePicture#

Test Postman Apidog

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

Запрос#

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

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

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

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

Параметр Тип Обязательный Описание
file file Да Отправляемый файл в формате *.jpg

Ответ#

Поля ответа#

Поле Тип Описание
reason string Причина почему аватар не был установлен
urlAvatar string url установленного аватара
setProfilePicture boolean флаг результата установки аватара

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

В случае успеха, в ответ на запрос, отдается JSON строка следующего вида с HTTP статусом 200:

{
    "reason": null,
    "urlAvatar": "https://pps.whatsapp.net/v/t61.24******-24/23**********_********23704_************77468_n.jpg?ccb=11-4&oh=**********b6ccc377d6332abad7d0bb&oe=********",
    "setProfilePicture": true
}

Ошибки SetProfilePicture#

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

Код HTTP Идентификатор ошибки Описание
200 rate-overlimit Рекомендуется вызывать метод SetProfilePicture не чаще 1 раза в 10 секунд, так как существует ограничение со стороны серверов WhatsApp. Ограничение на количество запросов также указано в таблице
400 File is empty Пустой файл
400 Unsupported media type Неподдерживаемый формат файла

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

import requests

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

payload={}
files=[
  ('file',('{{file}}.jpeg',open('/C:/{{file}}.jpeg','rb'),'image/jpeg'))
]
headers = {}

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

print(response.text)
curl --location '{{apiUrl}}/waInstance{{idInstance}}/setProfilePicture/{{apiTokenInstance}}' \
--form 'file=@"Users/path/to/file"'
var file = new File("Users/path/to/file");
var restTemplate = new RestTemplate();

var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/setProfilePicture/")
    .append({{apiTokenInstance}});

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

var form = new LinkedMultiValueMap<>();
form.add("file", new FileSystemResource(file));

var requestEntity = new HttpEntity<>(form, headers);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var file = new File("Users/path/to/file");
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/setProfilePicture/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .field("file", file, Files.probeContentType(file.toPath()))
    .asString();

System.out.println(response);