One section of the city operational report as CSV
GET /api/v1/exports/stats-reports/{name}
https://app.tanba-ooh.kz/api/v1/exports/stats-reports/{name}
Технический текст справочника написан на английском.
Scope read:stats. Names are series, load, anomalies and reconciliation; the query is that of the report.
Аутентификация
Ключ API в заголовке Authorization или сессия консоли.
Право доступа: read:stats
Параметры
| Имя | Где | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|---|
name | путь | string | да | Section of the city report: series, load, anomalies or reconciliation. series, load, anomalies, reconciliation | series |
from | запрос | string (date) | нет | First day, YYYY-MM-DD. | 2026-09-08 |
to | запрос | string (date) | нет | Last day, YYYY-MM-DD. | 2026-10-06 |
grain | запрос | string | нет | Length of one period: day, week or month. day, week, month | day |
sep | запрос | string | нет | Column separator; semicolon for spreadsheets set to a comma decimal mark. comma, semicolon | comma |
Ответы
200 CSV в UTF-8 с меткой порядка байтов и строкой заголовков.
text/csv
Пример
string
Ошибки
Ошибки приходят документом problem (application/problem+json) со стабильным полем code.
| Статус | Значение |
|---|---|
| 401 | Нет действительной сессии или ключа API (unauthenticated, session_expired, invalid_api_key). |
| 403 | Роль или право ключа этого не допускает (forbidden, key_scope_denied, key_route_denied). |
| 404 | Unknown section. |
| 422 | Ошибки полей (validation_failed). |
| default | Ошибка в виде документа problem. |
Примеры кода
curl
curl 'https://app.tanba-ooh.kz/api/v1/exports/stats-reports/series' \
-H 'Authorization: Bearer YOUR_API_KEY'
Python
import requests
response = requests.get(
"https://app.tanba-ooh.kz/api/v1/exports/stats-reports/series",
headers={
"Authorization": "Bearer YOUR_API_KEY",
},
)
print(response.status_code, response.text)
Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://app.tanba-ooh.kz/api/v1/exports/stats-reports/series", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(data))
}