GetAccountSettings#
Метод предназначен для получения информации об аккаунте мессенджера 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) Подробнее о статусе suspended читайте в статье |  ||
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.