Skip to content

System – Vollständige API-Referenz ​

Fach-API für Mandant, Benutzer, Rollen, Sperren, E-Mail-Konten und Hintergrundjobs. Basis ist https://core-backend.reybex.com/api (Staging: https://io-staging-partner.reybex.com/api). Authentifizierung wie im API: --header "authorization: Basic $TOKEN".

Der Integrationsbenutzer ist die Anmeldung aller Fach-APIs. Belege, Artikel und FiBu stehen in den jeweiligen Modul-Seiten.

Der schreibende Weg des Benutzers ist POST /api/user/. Der Körper ist der Benutzer selbst, ohne Umschlag. Leere Objekte werden zu null.

1. Grundlagen ​

ObjektRolle
CompanyMandant
UserAnmeldung
RoleRolle. ROLE_API hängt die API an einen API-Benutzer
DomainLockerSperre eines Datensatzes
EmailAccountPostfach
BackgroundJobHintergrundlauf

Die Zahlen in den Beispielen sind Beispiel-Ids eines Mandanten. 8 ist eine fachliche Rolle. ROLE_API setzt userType apiUser selbst.

userType standardUser ist der Standard. apiUser ergänzt die Rolle ROLE_API. returnUser ist der Retourenbenutzer.

1.1 Suchschlüssel ​

ZielSuchschlüssel
Landcode, sonst name
Rolleid
Lager am Benutzercode, sonst name

1.2 Antwort- und Fehlerformat ​

Speichern liefert den Benutzer. Lesen kapselt data und meta mit requiredFields der Feldrechte.

SituationKörper
Benutzer nicht gefundenHTTP 404
Passwort und Wiederholung weichen abmessage.password.newpassword
Benutzer kopieren aus einem anderen Mandantender Quellbenutzer muss dem Mandanten gehören
Fehlende AnmeldungHTTP 401

2. Benutzer ​

POST /api/user/ legt an, wenn keine id im Körper steht. Benutzername und E-Mail werden bei einer Neuanlage geprüft.

newPassword und renewPassword müssen gleich sein. Dann wird password gesetzt. Ohne Passwort und mit isNewUser true vergibt die API ein Passwort.

2.1 Felder ​

FeldBedeutung
usernameAnmeldung
firstname, surnameName
emailE-Mail
languageSprache, zum Beispiel de
enabledAktiv. Standard true
userTypestandardUser, apiUser oder returnUser
userRolesListe der Rollen-Ids
newPassword, renewPasswordPasswort, beide gleich
isDeleteLogisch gelöscht

2.2 Pflichtfelder ​

Auflösung, wenn ein Pflichtfeld fehlt ​

Die API setzt Pflicht-Referenzen nicht von selbst. Fehlt ein Feld, in dieser Reihenfolge füllen. Der erste Treffer gilt.

  1. Angabe – Wert aus dem Auftrag für dieses Feld.
  2. Vorlage – das Passwort nicht aus einem bestehenden Benutzer übernehmen. Rechte kopiert POST /api/user/copyUser. Ist eine Vorlage genannt, deren id an copyUser geben.
  3. Standard – Wert aus der Tabelle.
  4. Domäne – GET /api/role/ und die Id der fachlichen Rolle in userRoles setzen. ROLE_API kommt über userType apiUser.
  5. Stopp – Benutzername oder E-Mail fehlt. Benutzer nicht anlegen.
FeldPflichtVorlageStandardDomäne
usernamejanicht übernehmen——
emailja———
userTypenein—apiUser für eine Schnittstelle—
languageneinlanguagede—
newPasswordneinnicht übernehmenbei isNewUser true vergibt die API eines—
userRolesneinüber copyUserROLE_API bei apiUserrole

2.3 API-Benutzer ​

json
{
  "username": "schnittstelle",
  "firstname": "API",
  "surname": "Nordlicht",
  "email": "api@nordlicht.example",
  "language": "de",
  "enabled": true,
  "userType": "apiUser",
  "userRoles": [8],
  "newPassword": "ein-langes-passwort",
  "renewPassword": "ein-langes-passwort",
  "isNewUser": true
}

8 ist eine fachliche Rolle dieses Mandanten. ROLE_API kommt dazu.

Lesen: GET /api/user/{id}. Der eigene Benutzer: GET /api/user/?isMyUser=true. Transaktionen: GET /api/user/transactions.

Passwort später: POST /api/user/changePassword.

Kopieren im selben Mandanten: POST /api/user/copyUser.

Löschen ist logisch und sperrt die Anmeldung: DELETE /api/user/ mit { "ids": [501] }. Antwort { "ids": [501] }.

Sitzungen beenden: POST /api/user/invalidateSessions. Angemeldete Benutzer: GET /api/user/loggedUsersList.

3. Mandant, Rolle, Sperre ​

Mandant lesen: GET /api/company/{id}. Speichern: POST /api/company/. Hausbank: POST /api/companyBank/.

Rollen: GET /api/role/{id} und POST /api/role/. Rollen mit Benutzern: GET /api/role/rolesAndUsers.

Sperren: GET /api/domainLocker/{id}. Lösen: GET /api/domainLocker/unlock. Alle: GET /api/domainLocker/unlockAll. Mehrere löschen: POST /api/domainLocker/deleteDomainLockers.

Feldrechte: POST /api/company/listPropertyAccess und POST /api/company/updatePropertyAccess.

Druckprotokoll: GET /api/printLog/printLogList. Hintergrundjobs: GET /api/backgroundJob/. Abbrechen: POST /api/backgroundJob/cancel. Datei: GET /api/backgroundJob/download/{id}.

Audit: GET /api/sysAuditLog/{id}.

3.1 Mandantenkopie, Drucker, Archiv ​

Übernahme in den Kindmandanten: POST /api/crossTenant/copyDomainsToChildTenants. Transfer-Einträge: POST /api/crossTenant/createDomainTransferEntries. Filter der kopierten Felder: POST /api/crossTenantPropertyCopyFilter/.

Drucker: POST /api/sysPrinter/. Standard: POST /api/sysPrinter/setDefaultPrinter. Zuweisen: POST /api/sysPrinter/assignPrinter.

Archiv: GET /api/archivedDocument/{id}. Übergeben: POST /api/archivedDocument/transferDocuments. FiBu-Beleg archivieren: POST /api/archivedDocument/archiveFinHead.

Transaktionsrecht: POST /api/transactionRight/. Menü: POST /api/drawerMenu/.

4. E-Mail-Konto ​

POST /api/emailAccount/ speichert das Konto. Prüfen: POST /api/emailAccount/testConnection. Office 365: POST /api/emailAccount/office365 liefert die Anmelde-URL, GET /api/emailAccount/office365 holt das Token.

Senden: POST /api/email/sendEmail. Test: POST /api/email/sendCheckEmail.

Workflow: POST /api/emailWorkflow/. Senden: POST /api/emailWorkflow/sendEmailWorkflow mit ids. Antwort { "success": true }. Der Aufruf gilt für den angemeldeten Mandanten. Vorlage: POST /api/emailTemplate/.

4.1 Dateien, Schalter, Mandantendaten ​

Konfiguration lesen: GET /api/configuration/{id} liefert den ersten Konfigurationssatz. Die Id im Pfad wählt ihn nicht aus.

Schalter des Mandanten: GET /api/featureFlag. Ein Mandant: GET /api/featureFlag/{tenantId}. Umschalten global: POST /api/featureFlag/global/toggle mit feature und enabled. Für einen Mandanten: POST /api/featureFlag/tenant/toggle mit feature, enabled und tenantId.

Datei am Host, nicht unter /api: GET /fileUploader/show/{id}, Vorschau GET /fileUploader/showPreview/{id}, Bild GET /fileUploader/showAsImage/{id}, externe Datei GET /fileUploader/showExternal/{filename}. Löschen DELETE /fileUploader/delete, wiederherstellen GET /fileUploader/restore, prüfen GET /fileUploader/validate.

Unter /api/common/: hochladen POST /api/common/ufile, lesen GET /api/common/ufile/{id}, löschen DELETE /api/common/ufile. Externe Datei POST /api/common/externalFile und DELETE /api/common/externalFile. Anhänge GET /api/common/getAttachments. Übersetzung GET /api/common/localizationByCode und POST /api/common/localizationByCode. Entschlüsseln GET /api/common/fileDecrypt/{id}. ZLP nach PDF GET /api/common/zlpToPdf/{id}.

GET /api/companyData/ zählt die Mandantendaten. Kopie in die Staging-Datenbank: GET /api/companyData/copyTenantDataToStagingDb mit customerTenantId, Antwort { "success": true } oder false. Verkaufte Artikel rechnen: GET /api/companyData/calculateSoldMaterial, Antwort { "success": true }. Bestandsliste: GET /api/companyData/updateStockListForCompany mit tenantId. Löschen: DELETE /api/companyData/ mit dem Passwort des angemeldeten Benutzers und targetDomain. Falsches Passwort: user.password.wrong. Kein Benutzer: user.is.not.set. Kein Mandant: company.is.not.set. Ziel fehlt: company.delete.target.not.defined. Kein Admin: company.dont.allow.to.delete.data.or.not.admin.

5. Weitere Beispiele ​

5.1 Schnittstelle anmelden ​

  1. API-Benutzer anlegen, Abschnitt API-Benutzer.
  2. GET /api/user/transactions prüft die freigegebenen Transaktionen.
  3. Diesen Benutzer im API als Basic-Token verwenden.

6. Endpoint-Katalog ​

MethodePfadBedeutung
GET/api/user/{id}Ein Benutzer oder die Liste
POST/api/user/Benutzer speichern
DELETE/api/user/Logisch löschen, Body ids
POST/api/user/copyUserBenutzer im Mandanten kopieren
POST/api/user/changePasswordPasswort
POST/api/user/invalidateSessionsSitzungen beenden
GET/api/company/{id}Mandant
POST/api/company/Mandant speichern
GET/api/role/{id}Rolle
POST/api/role/Rolle speichern
GET/api/domainLocker/unlockEine Sperre lösen
GET/api/backgroundJob/Jobs
POST/api/backgroundJob/cancelJob abbrechen
POST/api/emailAccount/E-Mail-Konto
POST/api/emailAccount/testConnectionVerbindung
POST/api/email/sendEmailE-Mail senden
POST/api/crossTenant/copyDomainsToChildTenantsIn Kindmandanten kopieren
POST/api/sysPrinter/Drucker speichern
POST/api/sysPrinter/setDefaultPrinterStandarddrucker
POST/api/archivedDocument/transferDocumentsArchiv übergeben
POST/api/transactionRight/Transaktionsrecht
POST/api/drawerMenu/Menü
GET/api/emailWorkflow/{id}Ein Workflow
POST/api/emailWorkflow/Workflow speichern
DELETE/api/emailWorkflow/{id}Workflow löschen
GET/api/emailWorkflow/getPropertiesByDomainNameFelder einer Domäne
GET/api/emailWorkflow/getValuesByPropertyWerte eines Feldes
GET/api/emailWorkflow/emailWorkflowQueueWarteschlange
POST/api/emailWorkflow/sendEmailWorkflowSenden, ids
POST/api/emailWorkflow/deleteFromEmailSendHistoryHistorie löschen
GET/api/emailTemplate/{id}Eine Vorlage
POST/api/emailTemplate/Vorlage speichern
DELETE/api/emailTemplate/{id}Vorlage löschen
DELETE/api/emailTemplate/deleteEmailTemplateTranslationAttachmentAnhang einer Übersetzung
GET/api/configuration/{id}Erste Konfiguration
GET/api/featureFlagSchalter des Mandanten
GET/api/featureFlag/{tenantId}Schalter eines Mandanten
POST/api/featureFlag/global/toggleGlobal schalten, feature und enabled
POST/api/featureFlag/tenant/toggleMandant schalten, zusätzlich tenantId
GET/api/companyData/Daten zählen
DELETE/api/companyData/Daten löschen, Passwort und targetDomain
GET/api/companyData/copyTenantDataToStagingDbNach Staging kopieren
GET/api/companyData/calculateSoldMaterialVerkaufte Artikel rechnen
GET/api/companyData/updateStockListForCompanyBestandsliste, tenantId
POST/api/common/ufileDatei hochladen
GET/api/common/ufile/{id}Datei lesen
DELETE/api/common/ufileDatei löschen
POST/api/common/externalFileExterne Datei
DELETE/api/common/externalFileExterne Datei löschen
GET/api/common/getAttachmentsAnhänge
GET/api/common/localizationByCodeÜbersetzung lesen
POST/api/common/localizationByCodeÜbersetzung speichern
GET/api/common/fileDecrypt/{id}Datei entschlüsseln
GET/api/common/zlpToPdf/{id}ZLP nach PDF
GET/api/common/lookupNachschlagewerte
GET/api/common/salesDocTypeMaskMaske der Belegart
GET/api/common/shippingConfigurationVersandkonfiguration
POST/api/common/imageInDescBild in der Beschreibung
POST/api/common/changeAttachmentPrinted/{id}Druckkennzeichen
GET/api/common/getPropertyAccessRights/{domainClassName}Feldrechte
GET/api/common/databaseTablesTabellen
GET/api/common/databaseFieldsFelder
GET/api/common/structuredDbFieldsFelder strukturiert
GET/api/common/setServerStatusServerstatus
POST/api/common/editorjsFileUploadEditor-Datei
POST/api/common/inviteToReybexCommunityCommunity-Einladung
POST/api/common/createSwissBillSchweizer Rechnung
GET/fileUploader/show/{id}Datei anzeigen
GET/fileUploader/showPreview/{id}Vorschau
GET/fileUploader/showAsImage/{id}Als Bild
GET/fileUploader/showExternal/{filename}Externe Datei
DELETE/fileUploader/deleteDatei löschen
GET/fileUploader/restoreWiederherstellen
GET/fileUploader/validatePrüfen

7. Häufige Fehler ​

SituationUrsache
message.password.newpasswordnewPassword und renewPassword sind verschieden
HTTP 404id des Benutzers unbekannt
Kopie schlägt fehlder Quellbenutzer gehört zu einem anderen Mandanten
API antwortet 401Benutzer fehlt, ist gesperrt oder enabled ist false
ROLE_API fehltuserType ist nicht apiUser
user.password.wrongPasswort an DELETE /api/companyData/ stimmt nicht
user.is.not.setKein angemeldeter Benutzer
company.is.not.setKein Mandant
company.delete.target.not.definedtargetDomain fehlt
company.dont.allow.to.delete.data.or.not.adminDer Benutzer darf Mandantendaten nicht löschen

Nur für reybex-Partner. Nicht für Endkunden bestimmt.