Streamlar va Postlar API¶
Barcha endpointlar Authorization: Bearer <token> talab qiladi.
Umumiy ko'rinish¶
Javob:
Streamlar¶
Stream yaratish¶
{
"title": "Texnologiya yangiliklari",
"description": "IT yangiliklari haqida kanal",
"privacy": "public",
"slug": "tech-news"
}
| Maydon | Turi | Tavsif |
|---|---|---|
title |
string | Majburiy, maks. 100 belgi |
description |
string | Ixtiyoriy |
privacy |
public / private |
Standart: public |
slug |
string | URL uchun noyob nom (harflar, raqamlar, tire) |
Javob (201):
{
"ok": true,
"stream": {
"id": 5,
"title": "Texnologiya yangiliklari",
"slug": "tech-news",
"privacy": "public",
"followers_count": 0
}
}
Stream yangilash¶
Stream o'chirish¶
Stream ma'lumotlari (slug bo'yicha)¶
Stream kuzatuvchilari¶
O'z streamlari¶
Kuzatilayotgan streamlar¶
Trend streamlar¶
Stream kuzatish¶
Kuzatish / kuzatishni bekor qilish¶
Agar foydalanuvchi allaqachon kuzatsa — kuzatishni bekor qiladi. Yopiq streamda — so'rov yuboradi.
Javob (public stream):
Javob (private stream):
Kuzatish so'rovlari (stream egasi uchun)¶
So'rovni qabul qilish¶
So'rovni rad etish¶
Postlar¶
Post yaratish¶
{
"stream_id": 5,
"title": "Python 3.13 yangiliklari",
"content": "<p>Python 3.13 da...</p>",
"status": "published",
"hashtags": ["python", "dasturlash"]
}
| Maydon | Turi | Tavsif |
|---|---|---|
stream_id |
integer | Majburiy — post qaysi streamga tegishli |
title |
string | Majburiy, maks. 200 belgi |
content |
string | HTML matn, maks. 50 000 belgi |
status |
published / draft |
Standart: draft |
hashtags |
array | Ixtiyoriy, maks. 10 ta |
Javob (201):
{
"ok": true,
"post": {
"id": 100,
"title": "Python 3.13 yangiliklari",
"status": "published",
"stream": { "id": 5, "slug": "tech-news" },
"created_at": "2026-06-11T10:00:00Z"
}
}
Post yangilash¶
Post o'chirish¶
Post ma'lumotlari¶
Javob:
{
"ok": true,
"post": {
"id": 100,
"title": "Python 3.13 yangiliklari",
"content": "<p>...</p>",
"status": "published",
"views": 1234,
"likes_count": 56,
"comments_count": 12,
"is_liked": false,
"author": { "id": 42, "username": "ali1234" },
"stream": { "id": 5, "slug": "tech-news", "title": "Texnologiya" },
"hashtags": ["python"],
"created_at": "2026-06-11T10:00:00Z"
}
}
Qoralamalar¶
O'z chop etilgan postlari¶
Post layklari¶
Agar layk allaqachon bo'lsa — o'chiriladi (toggle).
Javob:
Post shikoyati¶
POST /api/v1/webnote/post/<post_id>/report
Authorization: Bearer <token>
Content-Type: application/json
reason qiymatlari |
|---|
spam |
harassment |
adult_content |
misinformation |
other |
Sharhlar¶
Sharh yaratish¶
parent_comment_id belgilansa — o'sha sharh ostiga reply bo'ladi.
Sharh o'chirish¶
Sharhga layk¶
Sharhga shikoyat¶
POST /api/v1/webnote/comment/<comment_id>/report
Authorization: Bearer <token>
Content-Type: application/json
Qidiruv¶
| Parametr | Tavsif |
|---|---|
q |
Qidiruv so'rovi (majburiy) |
type |
posts, streams, users — ko'rsatilmasa hammasi |
Javob:
Asosiy lenta¶
Kuzatilayotgan streamlar va personalizatsiya qilingan tavsiyalar asosida lenta qaytariladi.
Xato kodlari¶
| Kod | Sabab |
|---|---|
stream_not_found |
Stream topilmadi |
post_not_found |
Post topilmadi |
not_stream_owner |
Siz bu streamning egasi emassiz |
not_post_author |
Siz bu postning muallifi emassiz |
stream_private |
Bu yopiq stream — kuzatish so'rovi kerak |
already_following |
Allaqachon kuzatyapsiz |
post_hidden |
Post moderatsiya tomonidan yashirilgan |
duplicate_like |
Allaqachon layk qo'yilgan |