Отдаёт код вставки чата, siteId, адрес окна на всю страницу и где код уже стоит. Удобно, чтобы показать код в своей панели или проверить, что чат стоит на нужных доменах.
| Запрос | GET /v1/instances/{idInstance}/getSiteCode |
| Ключ | заголовок Authorization: Bearer {apiTokenInstance} |
| Тело | нет |
| Каналы | чат на сайте |
Пример запроса
Код вставки и домены:
curl
curl "$GRATIO_URL/v1/instances/$GRATIO_ID/getSiteCode" \
-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}/getSiteCode"
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}/getSiteCode`;
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 . '/getSiteCode';
$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:
{
"siteId": "sk3m7qz2a4bt6cdxy",
"enabled": true,
"snippet": "<script async src=\"https://chat.gratio.net/w/v1/s/sk3m7qz2a4bt6cdxy.js\"></script>",
"loaderUrl": "https://chat.gratio.net/w/v1/s/sk3m7qz2a4bt6cdxy.js",
"chatUrl": "https://chat.gratio.net/w/v1/s/sk3m7qz2a4bt6cdxy/chat",
"domains": ["school.ru"],
"origins": [
{"origin": "https://school.ru", "path": "/prices", "allowed": true, "firstSeenAt": 1791800000, "lastSeenAt": 1791823890},
{"origin": "https://old.school-robot.ru", "path": "/", "allowed": false, "firstSeenAt": 1791810000, "lastSeenAt": 1791820000}
]
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
siteId |
string | id сайта в Gratio, он же wid канала |
enabled |
boolean | false — чат снят с сайта: окно не показывается |
snippet |
string | код вставки — одной строкой перед </body> |
loaderUrl |
string | адрес загрузчика из кода вставки |
chatUrl |
string | окно на всю страницу — для меню, соцсетей, QR-кода |
domains |
array | домены, на которых окно встраивается, — настройка siteDomains |
origins |
array | где код уже видели: origin, path, первый и последний визит. allowed: false — домена нет в domains, окно там не откроется |
Код вставки ведёт на публичный адрес окна — https://chat.gratio.net. Он навсегда остаётся на сайте, поэтому не меняется.
Ошибки
| Код | code |
Когда | Что делать |
|---|---|---|---|
400 |
not_configured |
у канала нет siteId |
поставить чат через кабинет |
501 |
not_supported |
MAX, Telegram, WhatsApp, почта | — |
Общие правила — в статье Ответы и ошибки.
Что дальше
- Чат на сайте — как поставить код и задать домены.
- getSiteStats — счётчики чата за 7 дней.
