# Как использовать API для установки таймера для темы?

**URL:** https://meta.discourse.org/t/how-to-use-the-api-to-set-a-timer-for-a-topic/353494
**Category:** Development
**Created:** [21.Февраль.2025 04:18:46 UTC](https://meta.discourse.org/t/how-to-use-the-api-to-set-a-timer-for-a-topic/353494 "2025-02-21T04:18:46Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [21.Февраль.2025 04:18:46 UTC](https://meta.discourse.org/t/how-to-use-the-api-to-set-a-timer-for-a-topic/353494/1 "2025-02-21T04:18:46Z")

</div>

Смотря сюда: [Discourse API Docs](https://docs.discourse.org/#tag/Topics/operation/createTopicTimer) в примере запроса показано:

`https://{url}/t/{id}/timer.json`

```plaintext
{
  "time": "",
  "status_type": "string",
  "based_on_last_post": true,
  "category_id": 0
}

```

Но это кажется несогласованным с установкой таймеров (зачем здесь нужен category\_id?)

Как правильно установить таймер для существующей темы, чтобы она закрылась через 30 дней?

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [21.Февраль.2025 04:42:46 UTC](https://meta.discourse.org/t/how-to-use-the-api-to-set-a-timer-for-a-topic/353494/2 "2025-02-21T04:42:46Z")

</div>

Лучший способ понять, как работает API, — следовать инструкции по адресу [Reverse engineer the Discourse API](https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576).

Обратите внимание: в документации параметр не является «обязательным». Это зависит от `status_type`.  
Вам он потребуется, если вы используете тип `publish_to_category`.

Автоматическое закрытие через 30 дней передаст следующие параметры:  
 ![image](https://global.discourse-cdn.com/meta/original/4X/1/8/7/187500fa74e16e88a32abca6c7eefd852344a0ad.png)

И вернет следующие данные:

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/7/d/27dfc8645adc529e512fd71a5c05ba2961f2fb27.png)

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [21.Февраль.2025 06:10:01 UTC](https://meta.discourse.org/t/how-to-use-the-api-to-set-a-timer-for-a-topic/353494/3 "2025-02-21T06:10:01Z")

</div>

> [@Arkshine](#):
>
> Лучший способ разобраться, как работает API, — следовать руководству [Реверс-инжиниринг API Discourse](https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576).

Ах, я постоянно об этом забываю 🙈

> [@Arkshine](#):
>
> Обратите внимание в документации: параметр не является «обязательным». Это зависит от `status_type`.  
> Он вам понадобится, если вы используете тип `publish_to_category`.

У меня постоянно возникала ошибка при выборе подкатегории, и я вспомнил, что мы изменили текст для `invalid_access`, так как у нас настроено так, что большинство категорий, в которые можно публиковать, являются подкатегориями (а люди постоянно пытались публиковать в родительской категории). Так что при ошибке `invalid_access` мне просто нужно было переключиться на пользователя с правами модератора… и теперь всё работает, спасибо! 👍

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [23.Март.2025 06:10:26 UTC](https://meta.discourse.org/t/how-to-use-the-api-to-set-a-timer-for-a-topic/353494/4 "2025-03-23T06:10:26Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
