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

GetSettings Протестировать#

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

Запрос#

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

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

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

Ответ#

Поля ответа#

Поле Тип Описание
wid string Идентификатор аккаунта в WhatsApp
countryInstance string Не используется
typeAccount string Не используется
webhookUrl string URL для получения входящих уведомлений. При получении уведомлений технологией HTTP API, поле должно быть пустым. Описание работы поля.
webhookUrlToken string Токен для доступа к вашему серверу уведомлений. Описание работы поля.
delaySendMessagesMilliseconds integer Интервал отправки сообщений в миллисекундах
markIncomingMessagesReaded string Отмечать входящие сообщения прочитанными или нет, возможные значения: yes, no. Игнорируется, если markIncomingMessagesReadedOnReply в значении 'yes'.
markIncomingMessagesReadedOnReply string Отмечать входящие сообщения прочитанными при отправке сообщения в чат через API, возможные значения: yes, no. Если в значении 'yes', то настройка markIncomingMessagesReaded игнорируется.
sharedSession string Не используется
outgoingWebhook string Получать уведомления о статусах отправки/доставки/прочтении исходящих сообщений, возможные значения: yes, no.
outgoingMessageWebhook string Получать уведомления о сообщениях, отправленных с телефона, возможные значения: yes, no
outgoingAPIMessageWebhook string Получать уведомления о сообщениях, отправленных через API, возможные значения: yes, no. При отправке сообщения на несуществующий аккаунт WhatsApp, уведомление не придет.
incomingWebhook string Получать уведомления о входящих сообщениях и файлах, возможные значения: yes, no
deviceWebhook string Временно не работает. Получать уведомления об устройстве (телефоне) и уровне заряда батареи, возможные значения: yes, no
statusInstanceWebhook string Не используется
stateWebhook string Получать уведомления об изменении состояния авторизации аккаунта, возможные значения: yes, no
enableMessagesHistory string Не используется
keepOnlineStatus string Выставляет статус 'В сети' для вашего аккаунта
pollMessageWebhook string Получать уведомления о создании опроса и голосовании в опросе, возможные значения: yes, no
incomingBlockWebhook string Временно не работает. Получать уведомления о добавлении чата в список заблокированных контактов, возможные значения: yes, no
incomingCallWebhook string Получать уведомления о статусах входящего звонка, возможные значения: yes, no

Применение настроек

Для получении уведомлении о статусах отправки/доставки/прочтении сообщений, отправленных с телефона требуется включить настройки:

  • outgoingMessageWebhook
  • outgoingWebhook

Для получении уведомлении о статусах входящего звонка, требуется включить настройки:

  • incomingCallWebhook
  • incomingWebhook

Настройка pollMessageWebhook активируется только при включении следующих параметров:

  • outgoingAPIMessageWebhook для сообщений, отправленных через API
  • outgoingMessageWebhook для сообщений, отправленных с телефона
  • incomingWebhook для входящих сообщений

Если телефон и связанные устройства выключены, требуется включить настройку:

  • keepOnlineStatus, чтобы выставлят статус В сети для вашего аккаунта и отправлять статус сообщения delivered

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

{
    "wid": "11001234567@c.us",
    "countryInstance": "",
    "typeAccount": "",
    "webhookUrl": "https://mysite.com/webhook/green-api/",
    "webhookUrlToken": "",
    "delaySendMessagesMilliseconds": 5000,
    "markIncomingMessagesReaded": "no",
    "markIncomingMessagesReadedOnReply": "no",
    "sharedSession": "no",
    "outgoingWebhook": "yes",
    "outgoingMessageWebhook": "yes",
    "outgoingAPIMessageWebhook": "yes",
    "incomingWebhook": "yes",
    "deviceWebhook": "no", //Уведомление временно не работает
    "statusInstanceWebhook": "no",
    "stateWebhook": "no",
    "enableMessagesHistory": "no",
    "keepOnlineStatus": "no",
    "pollMessageWebhook": "no",
    "incomingBlockWebhook": "yes", //Уведомление временно не работает
    "incomingCallWebhook": "yes"
}

Ошибки GetSettings#

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

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

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/getSettings/{{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}}/waInstance{{idInstance}}/getSettings/{{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}}/waInstance{{idInstance}}/getSettings/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/getSettings/")
    .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("/getSettings/")
    .append({{apiTokenInstance}});

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

System.out.println(response);
Sub GetSettings()
    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}}/getSettings/{{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 GetSettings;

{$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/waInstance' + ID_INSTANCE + '/getSettings/' + 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.