[go: up one dir, main page]

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

GetSettings#

Test Postman

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

Запрос#

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

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

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

  • Если опрос отправлен через 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.