Skip to content

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

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.

  1. Log in to your Discourse account.

  2. Open the menu in the top-right corner (61f26b4be5777.png).

  3. Navigate to Admin > API.

    61f26b4d0c287.gif

  4. Click the New API Key (61f26b4fd2eb1.png) button.

  5. 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.
  6. Click the Save button, and copy the provided API Key.

    61f26b50bdbab.png

  7. 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.
  8. 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.
Print 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 ID

Select the topic, or map the ID of the topic where you want to create the post.

Body

Enter the post content. HTML formatting is supported.

Topic

Title

Enter the name for the topic.

Body

Enter the topic body content.

Category ID

Select the category for the topic.

Private Message

Title

Enter the message title.

Body

Enter the private message content.

Target Recipients

Add desired recipients of the private message.

Make an API Call

Allows you to perform a custom API call.

URL

Enter a path relative to https://integrodocs.trydiscourse.com.For example: /posts.

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

61f26b51d1ce9.png

The result can be found in the module's Output under Bundle > Body > latest posts.

In our example, 15 posts were returned:

61f26b52f3522.png