Перейти к содержимому

getSiteStats

Обновлено 18 октября 2026

Отдаёт счётчики чата за последние 7 дней: сколько посетителей пришло и написало, сколько оставили контакт, сколько ждали ответа дольше обещанного и как быстро отвечают люди.

Запрос GET /v1/instances/{idInstance}/getSiteStats
Ключ заголовок Authorization: Bearer {apiTokenInstance}
Тело нет
Каналы чат на сайте

Пример запроса

Счётчики за неделю:

curl

curl "$GRATIO_URL/v1/instances/$GRATIO_ID/getSiteStats" \
  -H "Authorization: Bearer $GRATIO_TOKEN"

Python

import os
import requests

BASE = f"{os.environ['GRATIO_URL']}/v1/instances/{os.environ['GRATIO_ID']}"
HEADERS = {"Authorization": f"Bearer {os.environ['GRATIO_TOKEN']}"}

url = f"{BASE}/getSiteStats"
response = requests.get(url, headers=HEADERS, timeout=60)
print(response.status_code, response.json())

Node.js

const { GRATIO_URL, GRATIO_ID, GRATIO_TOKEN } = process.env;
const base = `${GRATIO_URL}/v1/instances/${GRATIO_ID}`;
const auth = { Authorization: `Bearer ${GRATIO_TOKEN}` };

const url = `${base}/getSiteStats`;
const response = await fetch(url, { headers: auth });
console.log(response.status, await response.json());

PHP

<?php
$base = getenv('GRATIO_URL') . '/v1/instances/' . getenv('GRATIO_ID');
$auth = 'Authorization: Bearer ' . getenv('GRATIO_TOKEN');
$url = $base . '/getSiteStats';

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => [$auth],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 90,
]);
$response = json_decode(curl_exec($ch), true);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), PHP_EOL;
print_r($response);

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

Ответ 200 OK:

{
  "periodDays": 7,
  "from": 1791218858,
  "to": 1791823658,
  "newVisitors": 214,
  "suspect": 3,
  "wrote": 37,
  "leftContact": 12,
  "unanswered": 2,
  "firstReplyMedianSeconds": 95
}

Поля ответа

Поле Тип Описание
periodDays, from, to integer период: 7 дней, начало и конец — секунды Unix
newVisitors integer новые посетители
suspect integer посетители с пометкой suspect: сверх предела новых с одного адреса или с заполненным полем-ловушкой. В других счётчиках их нет
wrote integer написали хотя бы одну реплику
leftContact integer оставили телефон или почту в форме
unanswered integer ждали ответа человека дольше обещанного срока — настройка siteReplyTime: 15 минут, час или сутки
firstReplyMedianSeconds integer или null медиана первого ответа человека, секунды; ответов не было — null

Посетители из предпросмотра в кабинете не считаются.

Ошибки

Код code Когда Что делать
501 not_supported MAX, Telegram, WhatsApp, почта —

Общие правила — в статье Ответы и ошибки.

Что дальше

Была ли статья полезна?