API Docs
HomeDocsWebsite
  • Home
  • Introduction
    • Authorization
      • Authorize
      • Get a Token
      • Third-Party Login
    • Field Types and Validation
      • Field Types
      • Validation
    • Query Manipulation
      • Constraints
      • Result Control
      • Value Filters
    • Entity Permissions
      • Restricted Scope
  • API reference
    • Infoboard
      • InfoboardChannels
      • InfoboardPosts
      • InfoboardPostSeenUsers
      • InfoboardPostReadUsers
      • InfoboardComments
      • InfoboardDepartmentSettings
    • Manual
      • ManualChapters
      • ManualEntries
      • ManualEntrySeenUsers
    • Calendar
      • Calendars
      • CalendarEvents
    • Filemanager
      • FilemanagerDirectories
      • FilemanagerFiles
    • Files
    • Forms
      • Forms
      • FormFields
      • FormFieldTypes
      • FormFieldValidations
      • FormFieldValidationTypes
      • FormMessages
      • FormMessageFields
    • Layouts
      • Layouts
      • LayoutRows
      • LayoutColumns
      • LayoutColumnLayoutElements
    • Tasks 2.0
      • TaskTemplates
      • TaskFields
      • TaskAssignments
      • TaskExecutions
      • TaskProgressFields
    • Departments
    • Roles
    • Permissions
    • Users
    • EntityPermissions
    • Notifications
    • Reactions
    • Icons
    • Folders
    • SharedItems
    • UrlContext
  • Resources
    • Release Notes
      • v2.106.0
      • v2.102.0
Powered by GitBook
On this page
  • Model Definition
  • Alias
  • Relations
  • Computed properties
  • Traits
  • List
  • Show
  • Create
  • Update
  • Delete
  1. API reference
  2. Infoboard

InfoboardPosts

PreviousInfoboardChannelsNextInfoboardPostSeenUsers

Last updated 1 month ago

InfoboardPosts are the main entity of the Infoboard and define RTE content that can be shared with any desired .

They can have multiple that may relate to the content of the InfoboardPost.

Additionally, InfoboardPosts can be assigned to a to

Model Definition

Alias

infoboardPost

Relations

Key
Relation
Type
Relation Field(s)

user

Belongs to

user_id

departments

Belongs to many

Intermediate table

infoboardChannel

Belongs to

infoboard_channel_id

seenUsers

Has many

infoboard_post_seen_users.post_id

readUsers

Has many

infoboard_post_read_users.post_id

comments

Has many

infoboard_comments.post_id

notifications

Has many

notifications.event_id, notifications.event_source

reactions

Morph many

reactions.reactable_type, reactions.reactable_id

currentReaction

Morph one

reactions.reactable_type, reactions.reactable_id, reactions.user_id

Computed properties

  • hash - The hashed id of the InfoboardPost.

Traits

  • TriggersNotifications

List

Definition

GET /api/infoboard/posts

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/infoboard/posts', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response Body

[
  {
    "id": 1,
    "user_id": 3,
    "infoboard_channel_id": null,
    "title": "Non curabitur gravida arcu ac",
    "text": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sollicitudin nibh sit amet commodo nulla facilisi nullam vehicula. Libero enim sed faucibus turpis in eu.</p>",
    "reading_confirmation": false,
    "reactions_forbidden": false,
    "comments_allowed": true,
    "pinned": false,
    "planned_publish_at": null,
    "published_at": "2018-11-20 14:24:19",
    "created_at": "2018-11-20 14:24:19",
    "updated_at": "2018-12-20 15:37:53",
    "hash": "zn7m24owk63qolxryge8pj05"
  },
  {
    "id": 2,
    "user_id": 3,
    "infoboard_channel_id": null,
    "title": "Placerat duis ultricies lacus sed",
    "text": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p>",
    "reading_confirmation": true,
    "reactions_forbidden": false,
    "comments_allowed": true,
    "pinned": false,
    "planned_publish_at": null,
    "published_at": "2018-11-20 14:24:19",
    "created_at": "2018-12-12 02:18:44",
    "updated_at": "2018-12-20 15:38:36",
    "hash": "6o8m0kz5yw10x1pr9e4vxj27"
  }
]

Show

Show a single InfoboardPost by id or hash.

Definition

GET /api/infoboard/posts/{idOrHash}

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/infoboard/posts/1', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

{
  "id": 1,
  "user_id": 3,
  "infoboard_channel_id": null,
  "title": "Non curabitur gravida arcu ac",
  "text": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sollicitudin nibh sit amet commodo nulla facilisi nullam vehicula. Libero enim sed faucibus turpis in eu.</p>",
  "reading_confirmation": false,
  "reactions_forbidden": false,
  "comments_allowed": true,
  "pinned": false,
  "planned_publish_at": null,
  "published_at": "2018-11-20 14:24:19",
  "created_at": "2018-11-20 14:24:19",
  "updated_at": "2018-12-20 15:37:53",
  "hash": "zn7m24owk63qolxryge8pj05"
}

Create

Create a new InfoboardPost.

Definition

POST /api/infoboard/posts

Request Keys

Key
Type
Default
Description

infoboard_channel_id

integer

-

title*

string

-

The title of the InfoboardPost.

text*

string

-

The content of the InfoboardPost.

reading_confirmation

boolean

false

Whether a reading confirmation is required.

reactions_forbidden

boolean

false

comments_allowed

boolean

true

Whether comments are allowed.

department_ids

string

-

planned_publish_at

datetime

-

The date when the post should be published.

published_at

datetime

-

The date when the post was published.

pinned

boolean

false

Wether the post should be pinned on top of the infoboard.

Keys with * are required.

Advanced Key-Specifications

  • published_at - Will be set automatically to wether the planned_publish_at date or the time of the request if none given. This information is used to determine if posts should be shown to users already. The date must be equal to or after the current time.

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/infoboard/posts', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'user_id' => 3,
        'title' => 'Sagittis purus sit amet volutpat',
        'text' => '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>',
        'reading_confirmation' => false,
        'reactions_forbidden' => false,
        'comments_allowed' => true,
        'department_ids' => '1,2,3'
    ]
]);

Example Response Body

{
  "status": "success",
  "data": {
    "id": 3,
    "user_id": 3,
    "infoboard_channel_id": null,
    "title": "Sagittis purus sit amet volutpat",
    "text": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>",
    "reading_confirmation": false,
    "reactions_forbidden": false,
    "comments_allowed": true,
    "pinned": false,
    "planned_publish_at": null,
    "published_at": "2018-12-20 15:48:54",
    "updated_at": "2018-12-20 15:48:54",
    "created_at": "2018-12-20 15:48:54",
    "hash": "d54q7g6wnj1eylm8k9e0xpz2"
  }
}

Update

Update an existing InfoboardPost by id.

Definition

PUT /api/infoboard/posts/{id}

Request Keys

Key
Type
Description

infoboard_channel_id

integer

title

string

The title of the InfoboardPost.

text

string

The content of the InfoboardPost.

reading_confirmation

boolean

Whether a reading confirmation is required .

reactions_forbidden

boolean

comments_allowed

boolean

Whether comments are allowed.

department_ids

string

planned_publish_at

datetime

The date when the post should be published.

published_at

datetime

The date when the post was published.

pinned

boolean

Wether the post should be pinned on top of the infoboard.

Advanced Key-Specifications

  • planned_publish_at - This information is only nullable or changeable if the date is after or equal to the current date and the original planned_publish_at value is in the future.

  • published_at - Must be after or equal to the current date. Can be updated to "push" a post to the top. If planned_publish_at is set and valid on request, the value of published_at will be set accordingely.

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('PUT', '/api/infoboard/posts/3', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'title' => 'Amet massa vitae tortor condimentum',
        'text' => '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Morbi blandit cursus risus at ultrices mi tempus imperdiet nulla.</p>',
        'reading_confirmation' => true,
        'reactions_forbidden' => true,
    ]
]);

Example Response

{
  "status": "success",
  "data": {
    "id": 3,
    "user_id": 3,
    "infoboard_channel_id": null,
    "title": "Amet massa vitae tortor condimentum",
    "text": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Morbi blandit cursus risus at ultrices mi tempus imperdiet nulla.</p>",
    "reading_confirmation": true,
    "reactions_forbidden": true,
    "comments_allowed": true,
    "pinned": false,
    "planned_publish_at": null,
    "published_at": "2018-12-20 15:48:54",
    "created_at": "2018-12-20 15:48:54",
    "updated_at": "2018-12-20 16:03:18",
    "hash": "d54q7g6wnj1eylm8k9e0xpz2"
  }
}

Delete

Delete an existing InfoboardPost by id.

Definition

DELETE /api/infoboard/posts/{id}

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/infoboard/posts/3', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

{
  "status": "success",
  "data": null
}

Get a list of all InfoboardPosts the current authenticated is allowed to view.

The ID of the the InfoboardPost is assigned to.

Whether for the InfoboardPost and it's are forbidden.

The that are allowed to see the InfoboardPost (seperated by comma).

The ID of the the InfoboardPost is assigned to.

Whether for the InfoboardPost and it's are forbidden.

The that are allowed to see the InfoboardPost (seperated by comma).

Department
InfoboardComments
InfoboardChannel
User
User
Departments
InfoboardChannel
InfoboardPostSeenUsers
InfoboardPostReadUsers
InfoboardComments
Notifications
Reactions
CurrentReaction
InfoboardChannel
Reactions
InfoboardComments
Departments
InfoboardChannel
Reactions
InfoboardComments
Departments