Blogs

Bloqların siyahısını və tək bloqun detalını qaytarır. Yalnız yayımlanmış (is_published=True) bloqlar qayıdır.

List

Əlaqəli endpoint: Blog-List Swagger

GET /api/v1/blog/blogs/

Filtrlər

key məlumat
category Bloq kateqoriyasının id-si
author Müəllifin id-si
blog_type Bloq tipinin id-si
tags Taqın id-si. Bir neçə taq üçün parametr təkrarlana bilər (?tags=1&tags=2)
publish_date Yayımlanma tarixi, YYYY-MM-DD formatında
attr_{key} Atribut üzrə filtr. {key} atributun key-idir (məs. attr_reading_time). Vergüllə bir neçə dəyər verilə bilər (attr_reading_time=5,10 → 5 və ya 10)
page Səhifə nömrəsi (default 1)
page_size Səhifədəki element sayı (default 10, maksimum 100)

Atributların mümkün key-ləri və dəyərləri Attributes endpointindən alınır. attr_* filtrləri aktiv dilə (Accept-Language) görə uyğunlaşdırılır.

Nümunə: GET /api/v1/blog/blogs/?category=1&tags=2&attr_reading_time=5,10&page_size=20

Response

HTTP STATUS code 200

{
    "next": null,
    "previous": null,
    "count": 1,
    "current": 1,
    "page_size": 10,
    "results": [
        {
            "id": 12,
            "name": "Yeni texnologiyalar",
            "slug": "yeni-texnologiyalar",
            "content": "Qısa kontent...",
            "publish_date": "2026-06-01",
            "image": "/media/blogs/cover.jpg",
            "detail_url": "/xeberler/yeni-texnologiyalar"
        }
    ]
}

results arrayindəki blog obyekti:

key məlumat çoxdil
id Bloqun identifikatoru -
name Bloqun adı (başlığı) Var
slug Detal endpointində istifadə olunan slug Var
content Bloqun kontenti Var
publish_date Yayımlanma tarixi (YYYY-MM-DD), təyin olunmayıbsa null -
image Bloqun şəkli, yoxdursa null -
detail_url Bloqun sayt daxilindəki yolu (/{page_slug}/{slug}) -

Detail

Əlaqəli endpoint: Blog-Detail Swagger

GET /api/v1/blog/blogs/{slug}/

{slug} aktiv dildən asılı olmayaraq bloqun istənilən dildəki slug-ı ilə uyğunlaşdırılır. Uyğun (və yayımlanmış) bloq tapılmasa 404 qayıdır.

Response

HTTP STATUS code 200

{
    "id": 12,
    "name": "Yeni texnologiyalar",
    "slug": "yeni-texnologiyalar",
    "content": "Tam kontent mətni...",
    "tags": [
        { "id": 2, "name": "AI", "slug": "ai" }
    ],
    "category": { "id": 3, "name": "Texnologiya", "parent": 1 },
    "author": {
        "id": 5,
        "name": "Əli Məmmədov",
        "author_type": 1,
        "author_attr_values": [
            {
                "id": 9,
                "attr": { "id": 4, "key": "position", "type": "text" },
                "value": "Redaktor",
                "file_value": null
            }
        ]
    },
    "publish_date": "2026-06-01",
    "image": "/media/blogs/cover.jpg",
    "attributes": {
        "reading_time": { "value": "5", "file_value": null, "type": "number" }
    }
}

List cavabındakı detail_url əvəzinə əlavə olaraq aşağıdakı sahələr qayıdır:

key məlumat çoxdil
tags Bloqun taqları arrayi (id, name, slug) Var
category Bloqun kateqoriyası (id, name, parent) -
author Bloqun müəllifi (aşağıya bax). Müəllif yoxdursa null -
attributes Bloqun atributları. Açar atributun key-idir, dəyəri isə atribut obyektidir Var

author obyekti:

key məlumat çoxdil
id Müəllifin identifikatoru -
name Müəllifin adı -
author_type Müəllif tipinin id-si -
author_attr_values Müəllifin atribut dəyərləri arrayi (attr, value, file_value) -

attributes obyektindəki hər atribut:

key məlumat çoxdil
value Atributun dəyəri. Tipdən asılı olaraq sadə dəyər və ya boş ola bilər Var
file_value file/image tipli atributlarda fayl URL-i, əks halda null -
type Atributun tipi (aşağıdakı siyahıya bax) -

type siyahısı:

  • text
  • number
  • boolean
  • date
  • time
  • datetime
  • file
  • image
  • list
  • rich_text
  • long_text