Хотите использовать IFTTT для создания новых тем, постов и личных сообщений? Давайте начнём!
С помощью Maker Webhooks сервиса IFTTT мы можем выполнять вызовы Discourse API. Для этого сначала нужно сгенерировать API-ключи. Вы можете создать API-ключи в панели администратора по адресу /admin/api/keys.
Также можно сгенерировать пользовательские API-ключи через страницы администрирования пользователей.
Теперь создайте новый апплет в IFTTT и выберите предпочитаемую службу-триггер. В качестве примера я использую службу Google Calendar.
Затем я выбираю триггер Любое новое событие добавлено.
Чтобы подключить ваш триггер к Discourse, выберите в качестве службы действия Maker Webhooks и действие Выполнить веб-запрос.
Теперь заполните поля действия следующим образом.
-
URL (обязательно):
https://discourse.example.com/posts.json -
Метод (обязательно):
POST -
Тип содержимого:
application/json -
Дополнительные заголовки:
Api-Key: [ВАШ_API_КЛЮЧ]
Api-Username: [ИМЯ_ПОЛЬЗОВАТЕЛЯ_API]
Важно: Учётные данные API должны передаваться в заголовках HTTP (
Api-KeyиApi-Username), а не в параметрах запроса URL. Discourse не принимает аутентификацию по API-ключу через параметры запроса в POST-запросах. Служба Maker Webhooks в IFTTT поддерживает пользовательские заголовки — используйте поле Дополнительные заголовки для их добавления.
- Тело запроса:
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nМесто: {{Where}}\nВремя: {{Starts}} - {{Ends}}",
"category": 4,
"created_at": "{{CreatedAt}}"
}
В тексте тела запроса вы увидите множество полей с двойными скобками {{ }}. Эти поля (источники содержимого) будут меняться в зависимости от триггера службы. Выберите их с помощью кнопки Ингредиент ниже.
Вы можете изменять поля title и raw в теле JSON-запроса по своему усмотрению, добавляя необходимый текст. Найдите идентификатор категории на вашем сайте по адресу /site.json и укажите его в поле категории. Теперь нажмите кнопку Создать действие, чтобы завершить создание апплета. После создания апплета может потребоваться некоторое время для его активации.
Готово
. Теперь новая тема будет создаваться всякий раз, когда в вашем Google Calendar появится новое событие
.
Чтобы создать ответ в существующей теме вместо создания новой, измените тело запроса следующим образом (используя topic_id вместо category):
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nМесто: {{Where}}\nВремя: {{Starts}} - {{Ends}}",
"topic_id": 4,
"created_at": "{{CreatedAt}}"
}
Для создания нового личного сообщения:
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nМесто: {{Where}}\nВремя: {{Starts}} - {{Ends}}",
"target_usernames": "discourse1,discourse2",
"archetype": "private_message",
"created_at": "{{CreatedAt}}"
}
Этим же способом вы можете выполнять запросы к API Discourse с помощью любых других служб действий IFTTT.




