Discourse¶
The Discourse modules enable you to monitor, create, update, retrieve, or delete posts and topics in your Discourse account.
Getting Started With Discourse¶
Prerequisites
- A Discourse admin account — you can create one at www.discourse.org/buy.
Note
The module dialog fields that are displayed in bold (in the Ibexa Connect scenario, not in this documentation article) are mandatory!
Connecting Discourse to Ibexa Connect¶
To connect your Discourse account to Ibexa Connect, you'll need to obtain the API Key, and insert it into the Ibexa Connect Create a connection dialog.
-
Log in to your Discourse account.
-
Open the menu in the top-right corner ().
-
Navigate to Admin > API.
-
Click the New API Key () button.
-
Set the API Key configuration as follows:
Description Enter the name for the API Key. User Level Select the Single User
option to restrict the access via API to the user specified in the User field below.User Select the user you want to grant API access to your Discourse account. User names you can select from will display as you type. Global Key (allows all actions) Enable this option to allow all actions. Otherwise, define the particular scopes you want to enable for the API access. -
Click the Save button, and copy the provided API Key.
-
Go to Ibexa Connect, and open the Discourse module's Create a connection dialog. Fill in the following fields:
Connection name Enter the name of the connection to your Discourse account. Host URL Select the URL of your Discourse domain name (including HTTPS), e.g., https://\<yourCompanyName>.trydiscourse.com API Key Enter the API Key you have copied in step 6 above. API User Name Enter the user name of the user assigned to the API Key. -
Click the Continue button to establish the connection.
The connection has been established. You can proceed with setting up the module.
Posts¶
Watch Posts¶
Retrieves post details when a new post is created.
Limit | Set the maximum number of posts Ibexa Connect will return during one execution cycle. |
List Posts¶
Retrieves a list of the latest posts across topics.
Limit | Set the maximum number of posts Ibexa Connect will return during one execution cycle. |
Get a Post¶
Retrieves post details.
Post ID | Enter (map) the ID of the post, or select the post you want to retrieve details for. |
Update a Post¶
Updates an existing post.
Post ID | Enter (map) the ID of the post or select the post you want to update. |
Body | Enter the post content. HTML formatting is supported. |
Old Body | Enter the old content of the post. |
Edit Reason | Enter the reason for the post edit. |
Cooked | Enter the cooked post data. |
Delete a Post¶
Deletes an existing post.
Post ID | Enter (map) the ID of the post or select the post you want to delete. |
Topics¶
Watch Topics¶
Retrieves topic details when a new topic is created.
Limit | Set the maximum number of topics Ibexa Connect will return during one execution cycle. |
List Topics¶
Retrieves a list of topics.
Order By | Select the parameter you want to sort returned topics by. |
Order | Select whether to order returned topics in descending or ascending direction. |
Limit | Set the maximum number of topics Ibexa Connect will return during one execution cycle. |
Get a Topic¶
Retrieves topic details.
Topic ID | Enter (map) the ID of the topic or select the topic you want to retrieve details for. |
Enable to return up to 1000 posts in a topic. |
Update a Topic¶
Allows you to update an existing topic's title or/and category.
Topic ID | Enter (map) the ID of the topic, or select the topic you want to retrieve details for. |
Title | Enable the new title for the topic. |
Category | Select the category or map the category ID. |
Delete a Topic¶
Deletes an existing topic.
Topic ID | Enter (map) the ID of the topic, or select the topic you want to delete. |
Private Messages¶
Watch Private Messages¶
Retrieves message details when a new private message is received.
Limit | Set the maximum number of private messages Ibexa Connect will return during one execution cycle. |
List Private Messages¶
Retrieves private messages in your account.
Limit | Set the maximum number of private messages Ibexa Connect will return during one execution cycle. |
Other¶
Create a Post, Topic, or Private Message¶
Creates a post, topic, or private message.
Type of Content |
Select whether you want to create a post, topic, or private message. Post
Topic
Private Message
|
Make an API Call¶
Allows you to perform a custom API call.
URL |
Enter a path relative to | For the list of available endpoints, refer to the Discourse API Documentation. |
Method
Select the HTTP method you want to use:
GET
to retrieve information for an entry.
POST
to create a new entry.
PUT
to update/replace an existing entry.
PATCH
to make a partial entry update.
DELETE
to delete an entry.
Headers
Enter the desired request headers. You don't need to add authorization headers; we've already added those for you.
Query String
Enter the request query string.
Body
Enter the body content for your API call.
Example of Use - List Posts¶
The following API call returns all posts in your Discourse account:
URL:
/v1/posts
Method:
GET
The result can be found in the module's Output under Bundle > Body > latest posts.
In our example, 15 posts were returned: