Beschreibung
Mit den eingehenden WebHooks können Informationen ohne große Umwege direkt an Stackfield weitergeleitet werden. Diese Schnittstelle nutzt HTTP-Anfragen in Verbindung mit JSON-Payloads, wodurch beispielsweise Nachrichten, Aufgaben o.ä. in Stackfield erstellt werden können.
Um Daten an Stackfield senden zu können müssen POST URLs generiert werden.
Wo bekommt man die POST URL?
Daten an einem Raum senden
Die POST URL zum Senden von Daten an einen Raum kann über die Raum-Einstellungen abgerufen werden. In den Einstellungen des Raumes befindet sich der Reiter "Integrationen", in welchem die Schaltfläche "Neuen WebHook hinzufügen" gewählt werden kann.
Raumeinstellungen ändern
Ebenso in den Raum-Einstellungen, Reiter "Integrationen", befindet sich die Raum API ID, über welche die Raum-Einstellungen gesteuert werden können.
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
Organisationseinstellungen ändern
Innerhalb der Organisations-Einstellungen befindet sich der Reiter "Integrationen", welcher die Verwaltung aller Schnittstellen zur Organisation ermöglicht. Hierbei wird auch die Option "WebHook" aufgeführt, wobei nach einem Klick auf "Mehr" die notwendigen Optionen zum Hinzufügen von neuen WebHooks zur Steuerung der Organisations-Einstellungen angezeigt werden.
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
Begrenzungen
Es kann maximal eine Anfrage pro Sekunde verarbeitet werden.
Verfügbarkeit
Neben der Weiterleitung von Informationen an Stackfield, ist es auch möglich Änderungen an den Einstellungen der Räume und der Organisation vorzunehmen. Die Bearbeitung der Einstellungen per API steht nur im Enterprise Paket zur Verfügung.
Fehlercodes
Errorcode
|
Beschreibung
|
200 | Successful request and response. |
4030 | Request could not be completed. |
4031 | Invalid request. |
4032 | Encrypted rooms are not supported. |
4033 | Room type is not supported. |
4034 | Invalid request. |
4035 | List level: Module, Room or Organisation not active. |
4035 | Invalid request. ObjectId is invalid. |
4036 | Room level: Module, Room or Organisation not active. |
4037 | Organisation level: Module, Room or Organisation not active. |
4038 | Integration disabled. |
4038 | Module disabled. |
4039 | This organization is not a payed organization. |
4040 | API call limit exceeded. |
4041 | No files found. |
4042 | File is too big. Max 1GB. |
4042 | There is not enough free storage space in this organization to perform the upload. |
4043 | Cannot read file. |
4044 | Attachment could not be added. |
4045 | Invalid file type. |
4050 | Invalid request. Title is null or empty. |
4051 | Invalid request. Users is null or empty. |
4052 | Invalid request. Command is unknown. |
4055 | Invalid request. DateEnd is before DateStart. |
4056 | Invalid request. User contains invalid email. |
4056 | Invalid request. Property could not be parsed. |
4057 | Double request. |
4060 | Invalid Email. |
4061 | Invalid email. Item not found |
4070 | Invalid request. Command is null or empty. |
4071 | Invalid request. RoomId is null or empty. |
4072 | Not enough free slots. |
4073 | To many invitations |
4074 | Users are managed by your domain. |
4075 | Invalid request. User with email not member of this organization. |
4076 | Invalid request. User with email is already deactivated. |
4077 | Invalid request. You can not remove all admins. |
4078 | Invalid email and group combination |
4079 | Room is already archived |
4080 | User is already member of this organization. |
4081 | Setting: Rooms must be encrypted. |
4082 | You can not use encrypted templates. |
Chat Nachricht
Quelle der Post URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Chat Nachricht
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Title
|
Ja
|
Inhalt der Chatnachricht
|
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Hello World!"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Diskussion
Quelle der Post URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Diskussion
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Title | Ja | Titel der Diskussion |
Content | Nein | Beschreibung der Diskussion |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Aufgabe
Quelle der Post URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Aufgabe
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Title | Ja | Titel der Aufgabe |
Content | Nein | Beschreibung der Aufgabe |
DateStart | Nein | Startdatum |
DateEnd | Nein | Enddatum |
Users | Nein | Liste der Email Adressen der zugewiesenen Personen |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung", "DateStart":"2019-07-08 22:00", "Users":["user1@demo.de","user2@demo.de"]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Seite
Quelle der Post URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Seite
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Title | Ja | Titel der Seite |
Content | Nein | Beschreibung der Seite |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Dateien
Quelle der Post URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Datei
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
File | Ja | Dateipfad |
Type
POST
Content-Type: "multipart/form-data"
Beispiel
curl -F 'File=@C:\Pictures\MyImage.jpg'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Termin
Quelle der Post URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Termin
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Title | Ja | Titel des Termins |
Content | Nein | Beschreibung des Termins |
DateStart | Ja | Startdatum |
DateEnd | Ja | Enddatum |
Users | Nein | Liste der eingeladenen Personen |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung", "DateStart":"2019-07-08 22:00","DateEnd":"2019-07-08 23:00", "Users":["user1@demo.de","user2@demo.de"]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer zur Organisation hinzufügen
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
POST URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Command | Ja | Befehlsname: CreateUser |
Email | Ja | Email Adresse des Benutzers |
DisplayName | Ja | Anzeigenamen des Benutzers |
UserName | Nur wenn Windows Authentifizierung (bei OnPremise) | BenutzerId |
OrgRoleId | Ja | Rolle in Organisation: 1 - Admin 2 - Mitglied 3 - Gast 4 - Externer |
AuthProvider | Nein (Nur bei SSO verwendet) | Id des Identity Providers |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"CreateUser","Email":"apiTester01@webhook.de","DisplayName":"Api Tester01","OrgRoleId":2}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer aus Organisation entfernen
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
POST URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Command | Ja | Befehlsname: RemoveUser |
Email | Ja | Email Adresse des Benutzers |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"RemoveUser","Email":"apiTester01@webhook.de"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer in Organisation deaktivieren
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
POST URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Command | Ja | Befehlsname: DeactivateUser |
Email | Ja | Email Adresse des Benutzers |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"DeactivateUser","Email":"apiTester01@webhook.de"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Raum erstellen
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
POST URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Command | Ja | Befehlsname: CreateRoom |
RoomId | (Return) | Id des Raumes |
Name | Ja | Name des Raumes |
Description | Nein | Beschreibung des Raumes |
TemplateId | Nein | Id des Raumtemplates |
Users | Nein | Liste der Raummitglieder |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"CreateRoom","Name":"webhook room from template6","Description":"neuer webhook room desc","TemplateId":"03852566-669e-4991-9491-12', "Users":[{"Email":"remtester@mail.de","GroupId":2,"IsAdmin":"true"}]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Raum archivieren
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
POST URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen > Raum Einstellungen
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Command | Ja | Befehlsname: ArchiveRoom |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"ArchiveRoom"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer zum Raum hinzufügen
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
POST URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen > Raum Einstellungen
Raum Einstellungen > Integrationen > WebHook > Neuen Webhook hinzufügen > Raum Einstellungen
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Command | Ja | Befehlsname: GrantRoomAccess |
Users | Ja | Liste der Raummitglieder |
RoomId | Nein | Raum API Id |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"GrantRoomAccess", "Users":[{"Email":"remtester@mail.de","GroupId":2,"IsAdmin":"true"}]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer aus Raum entfernen
(Diese Funktion steht nur in der Enterprise-Version zur Verfügung!)
POST URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen > Raum Einstellungen
Raum Einstellungen > Integrationen > WebHook > Neuen Webhook hinzufügen > Raum Einstellungen
Parameter
Parameter
|
Pflichtfeld
|
Beschreibung
|
Command | Ja | Befehlsname: RevokeRoomAccess |
Users | Ja | Liste der Raummitglieder |
RoomId | Nein | Raum API Id |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"RevokeRoomAccess","Users":["remtester@mail.te"]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5