GetSettings#
Метод предназначен для получения текущих настроек инстанса.
Запрос#
Для получения текущих настроек инстанса требуется выполнить запрос по адресу:
{{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
Для получения уведомлений об опросах и об обновлениях опросов, требуется включить настройки:
-
Если опрос отправлен через API:
outgoingAPIMessageWebhook
иpollMessageWebhook
-
Если опрос отправлен с телефона:
outgoingMessageWebhook
иpollMessageWebhook
-
Для получения уведомлений о входящих опросах и об ответах на опросы:
incomingWebhook
иpollMessageWebhook
Если телефон и связанные устройства выключены, требуется включить настройку:
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.