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

GetAccountSettings#

Test Postman Apidog

Метод предназначен для получения информации об аккаунте мессенджера MAX.

Для метода используются ограничения на частоту запросов в секунду.

Запрос#

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

GET
{{apiUrl}}/v3/waInstance{{idInstance}}/getAccountSettings/{{apiTokenInstance}}

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

Ответ#

Поля ответа#

Поле Тип Описание
avatar string Ссылка на аватар аккаунта мессенджера MAX
При статусах notAuthorized,blocked или starting будет пустым
phone string Номер аккаунта мессенджера MAX
При статусах notAuthorized,blocked или starting будет пустым
stateInstance string Состояние инстанса. Принимает значения:
notAuthorized - Инстанс не авторизован
Для авторизации инстанса обратитесь к разделу Перед началом работы
authorized - Инстанс авторизован
blocked - Инстанс получил блокировку (Временно недоступен)
starting - Инстанс в процессе запуска (сервисный режим)
Происходит перезагрузка инстанса, сервера или инстанс в режиме обслуживания
Может потребоваться до 5 минут для перевода состояния инстанса в значение authorized
suspended - На аккаунте временные ограничения (частичный запрет отправки сообщений)
Время окончания ограничений указано в поле suspendedUntil (unix time)
chatId string Идентификатор личного чата мессенджера MAX
Может использоваться для отправки сообщений самому себе, или передачи другим пользователям для получения сообщений
При статусах notAuthorized,blocked или starting будет пустым
suspendedUntil integer Время окончания временных ограничений на аккаунте
Поле присутствует при "stateInstance": "suspended"
historySyncProgress integer Процент выгрузки истории чатов на инстансе

При статусе suspended отправка сообщений возможна только на номера, сохранённые в контакты.
При отправке на номер, не сохранённый в контактах, будет получена ошибка 403 с описанием Your account is suspended.

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

{
    "avatar": "https://i.oneme.ru/i?r=BTE2sh_eZW7g8kugOdIm2NotBPGJiDHPpKQP3fE_vh2BE1holGE_adbUwUqCIPQgiOI",
    "phone": "79991234567",
    "stateInstance": "authorized",
    "chatId": "10000000",
    "historySyncProgress": 100
}

Ошибки GetAccountSettings#

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

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

import requests

#The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed

url = "{{apiUrl}}/v3/waInstance{{idInstance}}/getAccountSettings/{{apiTokenInstance}}"

payload = {}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text.encode('utf8'))
<?php
//The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
$url = "{{apiUrl}}/v3/waInstance{{idInstance}}/getAccountSettings/{{apiTokenInstance}}";

$options = array(
    'http' => array(
        'header' => "Content-Type: application/json\r\n",
        'method' => 'GET'
    )
);

$context = stream_context_create($options);

$response = file_get_contents($url, false, $context);

echo $response;
?>
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/getAccountSettings/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/v3/waInstance").append({{idInstance}})
    .append("/getAccountSettings/")
    .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("/v3/waInstance").append({{idInstance}})
    .append("/getAccountSettings/")
    .append({{apiTokenInstance}});

var response = Unirest.get(requestUrl.toString())
    .header("Content-Type", "application/json")
    .asString();

System.out.println(response);
Sub GetAccountSettings()
    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}}/v3/waInstance{{idInstance}}/getAccountSettings/{{apiTokenInstance}}"

    Set http = CreateObject("WinHttp.WinHttpRequest.5.1")

    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
program GetAccountSettings;

{$APPTYPE CONSOLE}

uses
System.SysUtils,
System.Classes, System.Net.HttpClient, System.Net.URLClient, System.Net.HttpClientComponent;

var
HttpClient: TNetHTTPClient;
RequestHeaders: TNetHeaders;
Response: IHTTPResponse;
EndpointURL, ID_INSTANCE, API_TOKEN_INSTANCE: string;

begin
ID_INSTANCE := '110100001';
API_TOKEN_INSTANCE := 'd75b3a66374942c5b3c019c698abc2067e151558acbd451234';

EndpointURL := 'https://api.green-api.com/v3/waInstance' + ID_INSTANCE + '/getAccountSettings/' + API_TOKEN_INSTANCE;

HttpClient := TNetHTTPClient.Create(nil);
RequestHeaders := [
    TNetHeader.Create('Content-Type', 'application/json')
];

try
    Response := HTTPClient.Get(EndpointURL, nil, RequestHeaders);

    if Response.StatusCode = 200 then
    Writeln('[Response]: ' + Response.ContentAsString)
    else
    Writeln('[ERROR ' + IntToStr(Response.StatusCode) + ']:' + Response.StatusText + '' + Response.ContentAsString);

    readln;
except
    on E: Exception do
    Writeln(E.ClassName, ': ', E.Message);
end;

HttpClient.Free;

end.