InfoboardPosts
InfoboardPosts
are the main entity of the Infoboard
and define RTE content that can be shared with any desired Department.
They can have multiple InfoboardComments that may relate to the content of the InfoboardPost
.
Additionally, InfoboardPosts
can be assigned to a InfoboardChannel to
Model Definition
Alias
infoboardPost
Relations
currentReaction
Morph one
reactions.reactable_type
, reactions.reactable_id
, reactions.user_id
Computed properties
hash
- The hashedid
of theInfoboardPost
.
Traits
TriggersNotifications
List
Get a list of all InfoboardPosts
the current authenticated User is allowed to view.
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
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
Whether Reactions for the InfoboardPost
and it's InfoboardComments are forbidden.
comments_allowed
boolean
true
Whether comments are allowed.
department_ids
string
-
The Departments that are allowed to see the InfoboardPost
(seperated by comma).
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 theplanned_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
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
Whether Reactions for the InfoboardPost
and it's InfoboardComments are forbidden.
comments_allowed
boolean
Whether comments are allowed.
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. Ifplanned_publish_at
is set and valid on request, the value ofpublished_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
}
Last updated