Feedback Entries
Medien / Feedback-Einträge
Liefert eine Liste der Feedback-Einträge (dreistufige Sichtbarkeit).
GET/api/media/feedback_entry
Query-Parameter
headlinestring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
boardstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
statusstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
feedbackTypestring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
socialProfilestring | Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten. | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
voteCountinteger | Denormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie. | Erfordert Zugriffs-Tag: PUBLIC, LOGGED_IN, SCOPE |
duplicateOfstring | Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen. | Benötigt Zugriffs-Tag: PUBLIC, LOGGED_IN, SCOPE |
createdstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
updatedstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
idinteger | |
deletedboolean | Diese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE |
moderationStatusstring | |
visibilityTypestring | |
commentCountinteger | |
internalPrioritystring | Nur Scope. |
guestEmailConfirmedboolean | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste der MediaFeedbackEntry-Objekte.array<MediaFeedbackEntry>
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.getAll();
if (result.success) {
print(result.data);
}[
{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}
]Erstellt einen Feedback-Eintrag als Administrator.
POST/api/media/feedback_entry
Request-Body application/json
dataMediaFeedbackEntry2Felder anzeigen (17)
boardMediaFeedbackBoard2Feedback-Board, zu dem der Eintrag gehört.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
social_profileMediaSocialProfile16Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
duplicate_ofMediaFeedbackEntry2Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem2>internal_notestringNur Scope.
internal_priorityintegerNur Scope.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory11>Vereinheitlichte Kategorien des Datensatzes.
Antworten
200MediaFeedbackEntry neu anlegenMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
text: 'Text',
guest_name: 'Beispiel',
board: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
},
headline: 'string',
feedback_type: 'string',
status: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry"
payload = { "data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
},
"headline": "string",
"feedback_type": "string",
"status": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry', [
'body' => '{"data":{"text":"Text","guest_name":"Beispiel","board":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true},"headline":"string","feedback_type":"string","status":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry"
payload := strings.NewReader("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/media_feedback_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.post(MediaFeedbackEntry.fromJson({
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}));
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Liefert die Einträge eines Boards, sortiert und seitenweise.
GET/api/media/feedback_entry/feed/board/{boardIdentifier}
Pfad-Parameter
boardIdentifierPflichtstring |
Query-Parameter
headlinestring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
boardstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
statusstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
feedbackTypestring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
socialProfilestring | Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten. | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
voteCountinteger | Denormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie. | Erfordert Zugriffs-Tag: PUBLIC, LOGGED_IN, SCOPE |
duplicateOfstring | Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen. | Benötigt Zugriffs-Tag: PUBLIC, LOGGED_IN, SCOPE |
createdstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
updatedstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
idinteger | |
deletedboolean | Diese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE |
moderationStatusstring | |
visibilityTypestring | |
commentCountinteger | |
internalPrioritystring | Nur Scope. |
guestEmailConfirmedboolean | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert die Einträge eines Boardsarray<MediaFeedbackEntry3>
Felder anzeigen (18)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard5Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (18)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntry3Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/board/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/board/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/board/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/board/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/board/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/board/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/board/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.getBoardFeed('42');
if (result.success) {
print(result.data);
}[
{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string",
"moderation_status": "string"
}
]Liefert die Einträge, die der aktuelle Benutzer eingereicht hat, einschließlich der noch zur Moderation ausstehenden.
GET/api/media/feedback_entry/feed/own
Query-Parameter
headlinestring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
boardstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
statusstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
feedbackTypestring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
socialProfilestring | Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten. | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
voteCountinteger | Denormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie. | Erfordert Zugriffs-Tag: PUBLIC, LOGGED_IN, SCOPE |
duplicateOfstring | Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen. | Benötigt Zugriffs-Tag: PUBLIC, LOGGED_IN, SCOPE |
createdstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
updatedstring | Erfordert Zugriffsrecht: PUBLIC, LOGGED_IN, SCOPE |
idinteger | |
deletedboolean | Diese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE |
moderationStatusstring | |
visibilityTypestring | |
commentCountinteger | |
internalPrioritystring | Nur Scope. |
guestEmailConfirmedboolean | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert die eigenen Einträge des aufrufenden Benutzersarray<MediaFeedbackEntry3>
Felder anzeigen (18)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard5Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (18)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntry3Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/own \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/own', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/own"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/own', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/own"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/own")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/feed/own"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.getOwnFeed();
if (result.success) {
print(result.data);
}[
{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string",
"moderation_status": "string"
}
]Liefert einen einzelnen Feedback-Eintrag.
GET/api/media/feedback_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Liefert ein einzelnes MediaFeedbackEntry-Objekt.MediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.get('42');
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Feedback-Eintrag als Administrator aktualisieren.
PUT/api/media/feedback_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataMediaFeedbackEntry2Felder anzeigen (17)
boardMediaFeedbackBoard2Feedback-Board, zu dem der Eintrag gehört.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
social_profileMediaSocialProfile16Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
duplicate_ofMediaFeedbackEntry2Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem2>internal_notestringNur Scope.
internal_priorityintegerNur Scope.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory11>Vereinheitlichte Kategorien des Datensatzes.
Antworten
200MediaFeedbackEntry aktualisierenMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
text: 'Text',
guest_name: 'Beispiel',
board: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
},
headline: 'string',
feedback_type: 'string',
status: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
payload = { "data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
},
"headline": "string",
"feedback_type": "string",
"status": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', [
'body' => '{"data":{"text":"Text","guest_name":"Beispiel","board":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true},"headline":"string","feedback_type":"string","status":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
payload := strings.NewReader("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.put(
Uri.parse('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}),
);
print(response.body);{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Feedback-Eintrag als Administrator aktualisieren.
PATCH/api/media/feedback_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataMediaFeedbackEntry2Felder anzeigen (17)
boardMediaFeedbackBoard2Feedback-Board, zu dem der Eintrag gehört.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
social_profileMediaSocialProfile16Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
duplicate_ofMediaFeedbackEntry2Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem2>internal_notestringNur Scope.
internal_priorityintegerNur Scope.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory11>Vereinheitlichte Kategorien des Datensatzes.
Antworten
200MediaFeedbackEntry aktualisierenMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
text: 'Text',
guest_name: 'Beispiel',
board: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
},
headline: 'string',
feedback_type: 'string',
status: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
payload = { "data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
},
"headline": "string",
"feedback_type": "string",
"status": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', [
'body' => '{"data":{"text":"Text","guest_name":"Beispiel","board":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true},"headline":"string","feedback_type":"string","status":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
payload := strings.NewReader("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}),
);
print(response.body);{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Löscht einen Feedback-Eintrag logisch.
DELETE/api/media/feedback_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Einen MediaFeedbackEntry löschenMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42")
.delete(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.delete('42');
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Erstellt einen Feedback-Eintrag als angemeldeter Benutzer.
POST/api/media/feedback_entry/user
Request-Body application/json
dataMediaFeedbackEntry2Felder anzeigen (17)
boardMediaFeedbackBoard2Feedback-Board, zu dem der Eintrag gehört.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
social_profileMediaSocialProfile16Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
duplicate_ofMediaFeedbackEntry2Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem2>internal_notestringNur Scope.
internal_priorityintegerNur Scope.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory11>Vereinheitlichte Kategorien des Datensatzes.
Antworten
200Benutzer legt einen Feedback-Eintrag anMediaFeedbackEntry4
Felder anzeigen (13)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
social_profileMediaSocialProfile18Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntry4Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/user \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
text: 'Text',
guest_name: 'Beispiel',
board: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
},
headline: 'string',
feedback_type: 'string',
status: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/user', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user"
payload = { "data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
},
"headline": "string",
"feedback_type": "string",
"status": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/user', [
'body' => '{"data":{"text":"Text","guest_name":"Beispiel","board":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true},"headline":"string","feedback_type":"string","status":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user"
payload := strings.NewReader("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/media_feedback_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.postUser(MediaFeedbackEntry.fromJson({
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}));
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string",
"attachments": [
{}
],
"vote_count": 1
}Ändert den Status eines Eintrags und hält ihn im öffentlichen Verlauf fest.
PUT/api/media/feedback_entry/{identifier}/status
Pfad-Parameter
identifierPflichtstring |
Query-Parameter
statusPflichtstring | Neuer Status |
statusNotestring | Öffentlich sichtbarer Grund für die Änderung |
Antworten
200Status eines MediaFeedbackEntry ändernMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PUT \
--url 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PUT', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.put(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string")
.put(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.putStatus('42', 'string');
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Ändert den Status eines Eintrags und hält ihn im öffentlichen Verlauf fest.
PATCH/api/media/feedback_entry/{identifier}/status
Pfad-Parameter
identifierPflichtstring |
Query-Parameter
statusPflichtstring | Neuer Status |
statusNotestring | Öffentlich sichtbarer Grund für die Änderung |
Antworten
200Status eines MediaFeedbackEntry ändernMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PATCH \
--url 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PATCH', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.patch(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string")
.patch(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status?status=string"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/status').replace(queryParameters: {'status': 'string'}),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Wandelt einen Eintrag in einen Roadmap-Meilenstein um und verknüpft beide miteinander.
PUT/api/media/feedback_entry/{identifier}/roadmap_item
Dies von Hand zu tun bedeutet, einen Meilenstein anzulegen, den Wunsch neu abzutippen, den Eintrag wiederzufinden und zu verknüpfen - vier Schritte, bei denen das Verknüpfen der Schritt ist, der übersprungen wird, sodass eine Roadmap entsteht, die sich nicht auf die Wünsche zurückverfolgen lässt, die Menschen geäußert haben.
Der Eintrag wechselt im selben Aufruf auf "geplant", denn ein Meilenstein, der existiert, während der Wunsch noch "offen" lautet, sagt dem Board das Gegenteil dessen, was passiert ist.
Pfad-Parameter
identifierPflichtstring |
Query-Parameter
titlestring | Meilenstein-Titel, Vorgabe ist die Überschrift des Eintrags |
targetDatestring | Geplantes Datum (Y-m-d) |
targetLabelstring | Freitext-Zeitraum, hat in der Oberfläche Vorrang vor targetDate |
roadmapItemIdentifierstring | Link zu diesem bestehenden Meilenstein, statt einen neuen anzulegen |
Antworten
200Roadmap-Meilenstein aus einem Feedback-Eintrag anlegenMediaFeedbackRoadmapItem
Felder anzeigen (22)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
entriesarray<MediaFeedbackEntry5>Feedback-Einträge, die mit dem Element verknüpft sind.
Felder anzeigen (20)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard6Feedback-Board, zu dem der Eintrag gehört.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntry5Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory34>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage14>Zugriffsrechteliste, die die Sichtbarkeit steuert.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory34>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory34>Untergeordnete Kategorien.
parentUnifiedCategory34Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage14>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser57Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/roadmap_item \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PUT', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/roadmap_item', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/roadmap_item"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.put(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/roadmap_item', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/roadmap_item"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/roadmap_item")
.put(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/roadmap_item"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.createRoadmapItem('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}Moderiert mehrere Einträge in einem Aufruf.
PUT/api/media/feedback_entry/bulk_moderation
Eine Warteschlange abzuarbeiten bedeutet, dieselbe naheliegende Entscheidung viele Male zu treffen; eine Anfrage pro Eintrag würde daraus einen Seitenneuladen pro Eintrag machen. Unbekannte IDs werden zurückgemeldet, statt den gesamten Aufruf scheitern zu lassen – eine veraltete Liste im Client darf die gültigen Entscheidungen nicht verlieren.
Query-Parameter
identifiersPflichtstring | Kommagetrennte Eintrags-Kennungen |
moderationStatusPflichtstring | Ziel-Moderationsstatus |
moderationReasonstring | Grund, der dem Verfasser bei Ablehnung angezeigt wird |
Antworten
200Mehrere Feedback-Einträge gleichzeitig moderierenMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PUT \
--url 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PUT', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.put(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string")
.put(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.bulkModerate(['42'], 'string');
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Führt diesen Eintrag als Dublette in einen anderen zusammen.
PUT/api/media/feedback_entry/{identifier}/merge
Pfad-Parameter
identifierPflichtstring |
Query-Parameter
targetIdentifierPflichtstring | Kennung des Eintrags, in den zusammengeführt wird |
Antworten
200Einen MediaFeedbackEntry mit einem anderen zusammenführenMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PUT \
--url 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PUT', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.put(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42")
.put(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.merge('42', '42');
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Führt diesen Eintrag als Dublette in einen anderen zusammen.
PATCH/api/media/feedback_entry/{identifier}/merge
Pfad-Parameter
identifierPflichtstring |
Query-Parameter
targetIdentifierPflichtstring | Kennung des Eintrags, in den zusammengeführt wird |
Antworten
200Einen MediaFeedbackEntry mit einem anderen zusammenführenMediaFeedbackEntry
Felder anzeigen (29)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
boardMediaFeedbackBoard3Feedback-Board, zu dem der Eintrag gehört.
Felder anzeigen (21)
is_publicbooleanWahr, wenn das Board selbst ohne Sitzung an Aufrufer ausgeliefert werden darf.
idintegerPrimärschlüssel des Feedback-Boards. Interne ID.
namestringInterner Name, wird nur in der Admin-Oberfläche angezeigt.
public_titlestringTitel des Boards, das öffentlich angezeigt wird.
public_descriptionstringBeschreibung des Boards, die öffentlich angezeigt wird.
public_keystringStabiler Schlüssel für die öffentliche URL und die Widget-Einbettung. Vom Server vergeben, wird nie über API-Eingaben gesetzt — absichtlich nicht in den oaInput-Gruppen enthalten. Eine Änderung würde jede Seite brechen, die dieses Board bereits einbettet.
image_urlstringURL des Bildes des Boards.
sort_orderintegerSortierreihenfolge des Boards in Listen.
allow_new_entriesbooleanMitglieder können neue Einträge anlegen.
allow_votingbooleanMitglieder können über Einträge abstimmen.
allow_commentsbooleanMitglieder können Einträge kommentieren.
allow_guest_entriesbooleanGäste können neue Einträge anlegen.
allow_guest_votesbooleanGäste können über Einträge abstimmen.
allow_guest_commentsbooleanGäste können Einträge kommentieren.
moderation_requiredbooleanBoard-spezifische Überschreibung der globalen Moderationseinstellung. Null bedeutet „die globale Einstellung verwenden“ – deshalb ist es nullable und kein einfacher bool.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
moderated_atstring (date-time)Zeitpunkt, zu dem der Eintrag moderiert wurde.
social_profileMediaSocialProfile10Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
Felder anzeigen (11)
idintegerPrimärschlüssel des Social-Media-Profils. Interne ID.
public_namestringÖffentlich angezeigter Name.
profile_picture_urlstringURL des Profilbilds.
public_about_mestringText über die Person, der öffentlich angezeigt wird.
global_profilebooleanDas Profil ist ein globales Profil über alle Installationen hinweg.
name_display_typestringWie der Name angezeigt wird, zum Beispiel vollständiger Name oder nur Vorname.
show_profile_picturebooleanDas Profilbild wird angezeigt.
profile_picture_check_statusstringPruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
guest_namestringName des Gastes, der den Eintrag verfasst hat.
guest_emailstringNur Scope: wird nie für öffentliche oder angemeldete Aufrufer bereitgestellt.
guest_email_confirmedbooleanDie E-Mail-Adresse des Gastes wurde bestätigt.
consent_confirmedbooleanDSGVO: Gast hat den Einwilligungstext vor dem Absenden bestätigt. Dasselbe Feld wie EventMoment::$consentConfirmed.
attachmentsarray<Attachment10>Dateien, die dem Eintrag beigefügt sind.
Felder anzeigen (25)
idintegerPrimärschlüssel des Anhangs. Interne ID.
filenamestringUrsprünglicher Dateiname.
filesizestringGröße der Datei in Bytes.
mimetypestringMIME-Typ der Datei.
createdbyusernamestringName des Benutzers, der die Datei hochgeladen hat, als Text.
createdstring (date-time)Zeitpunkt, zu dem der Anhang angelegt wurde.
googleidstringID der Datei in Google Drive.
scopestringScope, der steuert, wer den Anhang sehen kann.
ocr_document_typestringDokumenttyp, der per OCR erkannt wurde.
ocr_from_namestringPer OCR erkannter Absendername.
ocr_from_companystringPer OCR erkanntes Absenderunternehmen.
ocr_from_addressstringPer OCR erkannte Absenderadresse.
ocr_from_emailstringPer OCR erkannte Absender-E-Mail-Adresse.
ocr_from_phonestringPer OCR erkannte Absender-Telefonnummer.
ocr_to_namestringPer OCR erkannter Name des Empfängers.
ocr_to_companystringPer OCR erkanntes Empfängerunternehmen.
ocr_to_addressstringPer OCR erkannte Empfängeradresse.
ocr_to_emailstringPer OCR erkannte E-Mail-Adresse des Empfängers.
ocr_to_phonestringPer OCR erkannte Telefonnummer des Empfängers.
ocr_summarystringZusammenfassung des per OCR erstellten Dokuments.
ocr_statusstringOCR-Verarbeitungsstatus: null = nicht verarbeitet, pending, processing, done, error
ocr_errorstringGrund des letzten fehlgeschlagenen oder unvollständigen OCR-Laufs, null wenn er erfolgreich war
ocr_processed_atstring (date-time)Zeitpunkt, zu dem die OCR-Verarbeitung abgeschlossen wurde.
virus_checkedboolean1, sobald der Virenscan für diese Datei bestanden ist. Der Scan läuft im Hintergrund (AttachmentVirusScanCommand), daher beginnt eine neu hochgeladene Datei bei 0 und bleibt dort, bis sie tatsächlich geprüft wurde. Eine infizierte Datei erreicht nie 1 – sie wird stattdessen gelöscht. Die Oberflächen nutzen dies, um zu entscheiden, ob eine Datei an einen Benutzer ausgegeben werden darf; daher muss sie bis zum Nachweis des Gegenteils auf false bleiben.
virus_checked_atstring (date-time)Wann der Virenscan bestanden wurde. Null, solange die Datei noch wartet.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntryZusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem3>Felder anzeigen (21)
timeline_orderintegerPosition der Statusgruppe dieses Eintrags auf der Zeitleiste. Unbekannte Status werden ans Ende sortiert, statt stillschweigend in der ersten Gruppe zu landen.
display_targetstringWas die Zeitleiste als Datum dieses Meilensteins ausgeben soll: das Freitext-Label, falls eines gesetzt ist, andernfalls das Zieldatum.
linked_entry_countintegerAnzahl der verknüpften, noch sichtbaren Feedback-Einträge.
linked_vote_countintegerSummierte Stimmen aller verknüpften Einträge – der Bedarf hinter diesem Meilenstein.
idintegerPrimärschlüssel des Roadmap-Eintrags. Interne ID.
titlestringTitel des Roadmap-Eintrags.
descriptionstringBeschreibung des Roadmap-Eintrags.
statusstringStatus der Position, zum Beispiel geplant, in Arbeit oder freigegeben.
start_datestring (date-time)Geplantes Startdatum.
target_datestring (date-time)Geplantes Veröffentlichungsdatum.
target_labelstringFreitext-Zeitraum ("Q3 2026") für den Fall, dass kein konkretes Datum zugesagt werden soll. Wird statt targetDate angezeigt, wenn gesetzt.
released_atstring (date-time)Zeitpunkt, zu dem der Gegenstand freigegeben wurde.
release_versionstringVersion, in der die Position freigegeben wurde.
image_urlstringURL des Bildes des Gegenstands.
sort_orderintegerSortierreihenfolge der Position.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
internal_notestringNur Scope.
internal_priorityintegerNur Scope.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory32>Vereinheitlichte Kategorien des Datensatzes.
Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory32>Untergeordnete Kategorien.
parentUnifiedCategory32Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
visibility_typestringArt der Sichtbarkeit des Datensatzes.
arslistarray<AccessRightStorage13>Zugriffsrechteliste, die die Sichtbarkeit steuert.
Felder anzeigen (12)
idintegerPrimärschlüssel des Zugriffsrechte-Eintrags. Interne ID.
userUser56Benutzer, der die Berechtigung erhält. Nur gesetzt bei benutzerbezogenen Rechten.
access_tagAccessTagZugriffs-Tag, für das die Berechtigung gilt. Nur gesetzt bei Rechten auf ein Tag.
create_mainbooleanAnlegen-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
edit_mainbooleanBearbeiten-Berechtigung für Hauptdatensätze des Zugriffs-Tags.
read_mainbooleanLeseberechtigung für Hauptdatensätze des Zugriffs-Tags.
create_childbooleanAnlegen-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
edit_childbooleanBearbeiten-Berechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
read_childbooleanLeseberechtigung für untergeordnete Datensätze (zum Beispiel Positionen innerhalb eines Hauptdatensatzes).
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request PATCH \
--url 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PATCH', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.patch(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42")
.patch(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/media/feedback_entry/42/merge').replace(queryParameters: {'targetIdentifier': '42'}),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"guest_email": "lena.hartmann@example.org",
"board": {
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
},
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string"
}Aktualisiert das eigene Feedback des Aufrufers.
PUT/api/media/feedback_entry/user/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataMediaFeedbackEntry2Felder anzeigen (17)
boardMediaFeedbackBoard2Feedback-Board, zu dem der Eintrag gehört.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
social_profileMediaSocialProfile16Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
duplicate_ofMediaFeedbackEntry2Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem2>internal_notestringNur Scope.
internal_priorityintegerNur Scope.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory11>Vereinheitlichte Kategorien des Datensatzes.
Antworten
200Benutzer aktualisiert den eigenen Feedback-EintragMediaFeedbackEntry4
Felder anzeigen (13)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
social_profileMediaSocialProfile18Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntry4Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
text: 'Text',
guest_name: 'Beispiel',
board: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
},
headline: 'string',
feedback_type: 'string',
status: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"
payload = { "data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
},
"headline": "string",
"feedback_type": "string",
"status": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42', [
'body' => '{"data":{"text":"Text","guest_name":"Beispiel","board":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true},"headline":"string","feedback_type":"string","status":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"
payload := strings.NewReader("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.put(
Uri.parse('https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}),
);
print(response.body);{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string",
"attachments": [
{}
],
"vote_count": 1
}Aktualisiert das eigene Feedback des Aufrufers.
PATCH/api/media/feedback_entry/user/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataMediaFeedbackEntry2Felder anzeigen (17)
boardMediaFeedbackBoard2Feedback-Board, zu dem der Eintrag gehört.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
moderation_statusstringModerationsstatus, zum Beispiel pending oder approved.
moderation_reasonstringGrund für die Moderationsentscheidung.
social_profileMediaSocialProfile16Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
duplicate_ofMediaFeedbackEntry2Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
roadmap_itemsarray<MediaFeedbackRoadmapItem2>internal_notestringNur Scope.
internal_priorityintegerNur Scope.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
ucatsarray<UnifiedCategory11>Vereinheitlichte Kategorien des Datensatzes.
Antworten
200Benutzer aktualisiert den eigenen Feedback-EintragMediaFeedbackEntry4
Felder anzeigen (13)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
social_profileMediaSocialProfile18Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntry4Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
text: 'Text',
guest_name: 'Beispiel',
board: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
},
headline: 'string',
feedback_type: 'string',
status: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"
payload = { "data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
},
"headline": "string",
"feedback_type": "string",
"status": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42', [
'body' => '{"data":{"text":"Text","guest_name":"Beispiel","board":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true},"headline":"string","feedback_type":"string","status":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"
payload := strings.NewReader("{\"data\":{\"text\":\"Text\",\"guest_name\":\"Beispiel\",\"board\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true},\"headline\":\"string\",\"feedback_type\":\"string\",\"status\":\"string\"}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"text": "Text",
"guest_name": "Beispiel",
"board": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
},
"headline": "string",
"feedback_type": "string",
"status": "string"
}
}),
);
print(response.body);{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string",
"attachments": [
{}
],
"vote_count": 1
}Löscht den eigenen Feedback-Eintrag des aufrufenden Benutzers logisch.
DELETE/api/media/feedback_entry/user/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Benutzer löscht den eigenen Feedback-EintragMediaFeedbackEntry4
Felder anzeigen (13)
author_namestringAnzeigename des Autors unter Berücksichtigung der Pseudonymität, die die Person in ihrem sozialen Profil gewählt hat. Fällt zurück auf den Gastnamen, dann auf eine neutrale Bezeichnung - niemals auf eine E-Mail-Adresse.
idintegerPrimärschlüssel des Feedback-Eintrags. Interne ID.
headlinestringÜberschrift des Feedback-Eintrags.
textstringText des Feedback-Eintrags.
feedback_typestringArt des Feedbacks, zum Beispiel Idee oder Problem.
statusstringStatus des Feedbacks, zum Beispiel offen, geplant oder erledigt.
status_notestringÖffentlich sichtbarer Grund für den aktuellen Status. Ein abgelehnter Wunsch ohne Begründung ist schlechter als gar kein Board, daher wird dies allen Zugriffsstufen angezeigt.
social_profileMediaSocialProfile18Autor, wenn von einer angemeldeten Person eingereicht. Verwendet das Social-Profil wieder, damit die Pseudonymitätseinstellungen, die eine Person bereits gewählt hat, auch hier gelten.
guest_namestringName des Gastes, der den Eintrag verfasst hat.
attachmentsarray<Attachment12>Dateien, die dem Eintrag beigefügt sind.
vote_countintegerDenormalisiert, damit Listen nach Beliebtheit sortieren können, ohne Join. Wird von MediaFeedbackVoteHelper gepflegt; MediaFeedbackRecountCommand repariert sie.
comment_countintegerAnzahl der Kommentare zum Eintrag.
duplicate_ofMediaFeedbackEntry4Zusammenführungsziel. Zusammen mit STATUS_DUPLICATE setzen.
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42")
.delete(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/media/feedback_entry/user/42"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/media_feedback_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackEntryController.deleteUser('42');
if (result.success) {
print(result.data);
}{
"author_name": "Beispiel",
"id": 42,
"text": "Text",
"guest_name": "Beispiel",
"headline": "string",
"feedback_type": "string",
"status": "string",
"status_note": "string",
"attachments": [
{}
],
"vote_count": 1
}