dd

dd


# AJAX API


**Путь к API**:

`/ajax/api/`


## Поиск


### Параметры запроса


**Метод**: GET


**Параметр действия action**: search


**Параметры [data]**:


* q - поисковая строка


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

http://test.chetv.ru/ajax/api/?action=search&data[q]=%D1%82%D0%B5%D1%81%D1%82


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

~~~

{

  result: true,

  data: {

  projects: { },

  videos: {

    items: [

      {

        title: "Автотест в Масловке. 10 выпуск. УАЗ",

        url: "/show/avtotest_v_maslovke/2_sezon/10_vyipusk_uaz",

        seria: "10",

        season: "2"

      },

      {

        title: "Автотест в Масловке. 9 выпуск. Трактор",

        url: "/show/avtotest_v_maslovke/2_sezon/9_vyipusk_traktor",

        seria: "9",

        season: "2"

      }

    ]

  },

  films: { },

  articles: {

    items: [

      {

        title: "Тест. Что ты знаешь из истории авто?",

        url: "/novosti/test_chto_ty_znaesh_iz_istorii_avto/"

      },

      {

        title: "Тест. Сможешь ли ты выжить в фильме ужасов?",

        url: "/novosti/test_smozhesh_li_ty_vyzhit_v_filme_uzhasov/"

      }

    ]

  }

}

~~~


## Получение списка комментариев


### Параметры запроса


**Метод**: GET


**Параметр действия action**: get_comments


**Параметры [data]**:


* post_id - id элемента, к которому получаем список комментариев

* on_page - количество элементов на странице

* page - номер страницы


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

http://test.chetv.ru/ajax/api/?action=get_comments&data[post_id]=12930&data[on_page]=5&data[page]=1


~~~

{

  result: true,

  data: {

    comments: [

      {

        user: {

          image: null,

          name: "Имя Фамилия"

        },

        id: "373230",

        text: "asd",

        date: 1494408944

      },

      {

        user: {

          image: null,

          name: "Имя Фамилия"

        },

        id: "373231",

        text: "asd",

        date: 1494409012

      }

    ]

  }

}

~~~


## Добавление комментария


### Параметры запроса


**Метод**: POST


**Параметр действия action**: add_comment


**Параметры [data]**:


* post_id - id элемента, к которому получаем список комментариев

* text - текст комментария

* token - токен. Берется из meta тега **che_token**. 

Пример:

`<meta name="che_token" content="123456789">`



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

~~~

POST /ajax/api/ HTTP/1.1

HOST: test.chetv.ru

content-type: application/x-www-form-urlencoded;charset=UTF-8

action=add_comment&data[post_id]=12930&data[text]=ololol&data[token]=asdasd

~~~


### Возможные ошибки

* Too short message - пустое сообщение

* Only authorized users allowed to send comment - попытка добавить комментарий неавторизованным пользователем

* This method isn't allowed - неверный http метод




## Возможные общие ошибки:

* Bad action param - неверный параметр действия

* Bad data param - неверный параметр data

* There aren't any approved params - не передано ни одного верного параметра [data]

* Undefined required param: %param_name% - не передан обязательный параметр [param_name]





Report Page