| GET, POST | /auth/LoginMandant |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class mandlogin(IMandnr, IPrimaryKey, ITableBaseErstelltAenderung):
mandnr: Optional[int] = None
_erstellt: Optional[datetime.datetime] = None
_aenderung: Optional[datetime.datetime] = None
bnr: Optional[int] = None
passw: Optional[str] = None
email: Optional[str] = None
passw_m_d5: Optional[str] = None
kurzbezeichnung: Optional[str] = None
img_sec: Optional[int] = None
auth_email: Optional[str] = None
auth_token: Optional[str] = None
beraternr: Optional[int] = None
ber_mandant_nr: Optional[int] = None
dbnr: Optional[int] = None
ver: Optional[Decimal] = None
altern: Optional[str] = None
updatedatei: Optional[str] = None
zugriffdat: Optional[datetime.datetime] = None
version: Optional[Decimal] = None
pwberater__a_l_t: Optional[str] = None
pwberater: Optional[str] = None
post: Optional[int] = None
name: Optional[str] = None
strasse: Optional[str] = None
ort: Optional[str] = None
briefkasten: Optional[int] = None
mustermandant: Optional[int] = None
einzug: Optional[int] = None
konto: Optional[int] = None
blz: Optional[int] = None
bank: Optional[str] = None
plz: Optional[str] = None
land: Optional[str] = None
b_mid: Optional[int] = None
bernrind: Optional[int] = None
speicherzeit: Optional[int] = None
kne: Optional[str] = None
berater_zugriffsrechte_ids: Optional[str] = None
plus_digifibu: Optional[int] = None
ersterlogin: Optional[datetime.datetime] = None
letzterlogin: Optional[datetime.datetime] = None
abrechnung: Optional[int] = None
gesamtrecht: Optional[int] = None
datev_wj: Optional[str] = None
skr_typ: Optional[int] = None
skontozuordnung: Optional[str] = None
gutschein: Optional[int] = None
briefkasten_arbeitsanweisung: Optional[str] = None
kontakt_telefon: Optional[str] = None
kontakt_email: Optional[str] = None
demo: Optional[int] = None
demo_reg_am: Optional[datetime.datetime] = None
demo_gueltig_bis: Optional[datetime.datetime] = None
fibu_ext_login: Optional[str] = None
is_skonto_immer: Optional[int] = None
is_kne_nur_personen: Optional[int] = None
is_ust_erfassung: Optional[int] = None
mail_user: Optional[str] = None
mail_adresse: Optional[str] = None
mail_passwort: Optional[str] = None
mail_passwort_aes: Optional[str] = None
steuernummer: Optional[str] = None
steuerid: Optional[str] = None
ustva_typ: Optional[int] = None
ustva_fertig: Optional[int] = None
elster_steuernummer: Optional[str] = None
fakt_uni1_bez: Optional[str] = None
fakt_uni2_bez: Optional[str] = None
fakt_uni1_regex: Optional[str] = None
fakt_uni2_regex: Optional[str] = None
fakt_text: Optional[str] = None
sepa_gl_id: Optional[str] = None
umstellung: Optional[int] = None
hardlock: Optional[str] = None
mahngebuer: Optional[str] = None
mahnzins: Optional[str] = None
mahntage: Optional[str] = None
freigabe10: Optional[int] = None
plusbearbeitung: Optional[int] = None
iban_zugferd: Optional[str] = None
universal: Optional[str] = None
fremd__i_d: Optional[str] = None
frei_feld: Optional[str] = None
kuerzel: Optional[str] = None
buchhaltungstyp: Optional[str] = None
freigabe: Optional[datetime.datetime] = None
mobil: Optional[str] = None
hashtags: Optional[str] = None
sstelle: Optional[str] = None
sstelle_stamm: Optional[str] = None
beraternummer_export: Optional[str] = None
fibu_interface: Optional[str] = None
# @Ignore()
mandant: Optional[int] = None
# @Ignore()
primary_key: Optional[int] = None
# @Ignore()
bd_anzahl1: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class zugriffsrechte(IMandnr, IPrimaryKey, INutzerid, ITableBaseErstelltAenderung, IPKindex):
id: Optional[int] = None
_erstellt: Optional[datetime.datetime] = None
_aenderung: Optional[datetime.datetime] = None
mandnr: Optional[int] = None
passw_m_d5: Optional[str] = None
name: Optional[str] = None
vorname: Optional[str] = None
e_mail: Optional[str] = None
e_mail_tax: Optional[str] = None
auth_token: Optional[str] = None
auth_email: Optional[str] = None
rechte: Optional[int] = None
gruppe: Optional[int] = None
aktiv: Optional[int] = None
admin: Optional[int] = None
anlagedatum: Optional[datetime.datetime] = None
guid: Optional[str] = None
pers_typ: Optional[int] = None
hardlock: Optional[str] = None
stundensatz: Optional[Decimal] = None
freigabeberechtigter: Optional[int] = None
vertretung: Optional[int] = None
genehmiger: Optional[int] = None
eintritt: Optional[datetime.datetime] = None
austritt: Optional[datetime.datetime] = None
abteilung_guid: Optional[str] = None
negativurlaub: Optional[bool] = None
alturlaub: Optional[bool] = None
bundesland: Optional[int] = None
bild: Optional[bytes] = None
mobil: Optional[str] = None
geburtstag: Optional[datetime.datetime] = None
privatsspaehre: Optional[int] = None
intern: Optional[int] = None
strasse: Optional[str] = None
plz: Optional[str] = None
ort: Optional[str] = None
is_acc: Optional[bool] = None
email_abruf: Optional[str] = None
email_abruf_tax: Optional[str] = None
recht_taetigkeittyp: Optional[str] = None
rechte_acc: Optional[str] = None
bemerkung: Optional[str] = None
is_main_mail: Optional[int] = None
two_factor_method: Optional[int] = None
two_factor_enabled: Optional[int] = None
two_factor_secret: Optional[str] = None
two_factor_backup_codes: Optional[str] = None
two_factor_enabled_date: Optional[datetime.datetime] = None
two_factor_failed_attempts: Optional[int] = None
two_factor_last_failure: Optional[datetime.datetime] = None
two_factor_is_lockedout: Optional[int] = None
default_ja: Optional[int] = None
default_fibu: Optional[int] = None
default_lohn: Optional[int] = None
default_acc: Optional[int] = None
default_vw: Optional[int] = None
rechte_intern_mandanten: Optional[bool] = None
pk_index: Optional[int] = None
# @Ignore()
mandant: Optional[int] = None
# @Ignore()
primary_key: Optional[int] = None
# @Ignore()
nutzerid: Optional[int] = None
# @Flags()
class Role(IntEnum):
NONE = 0
MANDANT = 1
BERATER = 2
BENUTZER = 4
WEB_CLIENT = 8
STEUERBERATER = 16
EXTERN_BERATER = 32
MFA = 64
MFA_BERATER = 128
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LoginMandantResponse:
start: datetime.datetime = datetime.datetime(1, 1, 1)
loginmand_ende: datetime.datetime = datetime.datetime(1, 1, 1)
ende: datetime.datetime = datetime.datetime(1, 1, 1)
mandlogin: Optional[mandlogin] = None
zugriffsrechte: Optional[zugriffsrechte] = None
token: Optional[str] = None
mfa_token: Optional[str] = None
rolle: Optional[Role] = None
show_support_button: bool = False
passwort_abgelaufen: Optional[bool] = None
neues_passwort_gesetzt: Optional[bool] = None
error_msg: Optional[str] = None
anmeldeversuche: Optional[int] = None
configs: Optional[List[str]] = None
class Oem(IntEnum):
FIBUDATA = 0
SPECTRUM = 3
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LoginMandantRequest:
mandnr: int = 0
e_mail: Optional[str] = None
password: Optional[str] = None
hardlock: Optional[List[str]] = None
oem: Optional[Oem] = None
is_web_client: Optional[int] = None
fibuscan_version: Optional[Decimal] = None
token: Optional[str] = None
einladungs_token: Optional[str] = None
mfa_code: Optional[str] = None
mfa_token: Optional[str] = None
Python LoginMandantRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /auth/LoginMandant HTTP/1.1
Host: ws4.fibudata.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Mandnr: 0,
eMail: String,
Password: String,
OEM: fibudata,
isWebClient: 0,
fibuscan_version: 0,
token: String,
einladungs_token: String,
MFACode: String,
MFAToken: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
start: 0001-01-01,
loginmand_ende: 0001-01-01,
ende: 0001-01-01,
mandlogin:
{
Mandnr: 0,
_erstellt: 0001-01-01,
_aenderung: 0001-01-01,
Bnr: 0,
Passw: String,
Email: String,
PasswMD5: String,
Kurzbezeichnung: String,
IMGSec: 0,
auth_email: String,
auth_token: String,
Beraternr: 0,
BerMandantNr: 0,
Dbnr: 0,
Ver: 0,
Altern: String,
Updatedatei: String,
Zugriffdat: 0001-01-01,
Version: 0,
Pwberater_ALT: String,
Pwberater: String,
Post: 0,
Name: String,
Strasse: String,
Ort: String,
Briefkasten: 0,
Mustermandant: 0,
Einzug: 0,
Konto: 0,
BLZ: 0,
Bank: String,
Plz: String,
Land: String,
BMid: 0,
Bernrind: 0,
Speicherzeit: 0,
Kne: String,
berater_zugriffsrechte_ids: String,
plus_digifibu: 0,
ersterlogin: 0001-01-01,
letzterlogin: 0001-01-01,
abrechnung: 0,
gesamtrecht: 0,
datev_wj: String,
skr_typ: 0,
skontozuordnung: String,
gutschein: 0,
briefkastenArbeitsanweisung: String,
kontaktTelefon: String,
kontaktEmail: String,
demo: 0,
demo_reg_am: 0001-01-01,
demo_gueltig_bis: 0001-01-01,
fibu_ext_login: String,
isSkontoImmer: 0,
is_kne_nur_personen: 0,
is_ust_erfassung: 0,
mail_user: String,
mail_adresse: String,
mail_passwort: String,
mail_passwort_aes: String,
steuernummer: String,
steuerid: String,
ustva_typ: 0,
ustva_fertig: 0,
elster_steuernummer: String,
fakt_uni1_bez: String,
fakt_uni2_bez: String,
fakt_uni1_regex: String,
fakt_uni2_regex: String,
fakt_text: String,
sepa_gl_id: String,
umstellung: 0,
hardlock: String,
mahngebuer: String,
mahnzins: String,
mahntage: String,
freigabe10: 0,
plusbearbeitung: 0,
iban_zugferd: String,
universal: String,
fremd_ID: String,
freiFeld: String,
kuerzel: String,
buchhaltungstyp: String,
freigabe: 0001-01-01,
mobil: String,
hashtags: String,
sstelle: String,
sstelle_stamm: String,
beraternummer_export: String,
fibu_interface: String,
mandant: 0,
PrimaryKey: 0,
bd_anzahl1: 0
},
zugriffsrechte:
{
ID: 0,
_erstellt: 0001-01-01,
_aenderung: 0001-01-01,
Mandnr: 0,
PasswMD5: String,
Name: String,
Vorname: String,
EMail: String,
EMail_tax: String,
auth_token: String,
auth_email: String,
Rechte: 0,
Gruppe: 0,
Aktiv: 0,
Admin: 0,
Anlagedatum: 0001-01-01,
guid: String,
pers_typ: 0,
hardlock: String,
stundensatz: 0,
freigabeberechtigter: 0,
vertretung: 0,
genehmiger: 0,
eintritt: 0001-01-01,
austritt: 0001-01-01,
abteilung_guid: String,
negativurlaub: False,
Alturlaub: False,
bundesland: 0,
bild: AA==,
mobil: String,
geburtstag: 0001-01-01,
privatsspaehre: 0,
intern: 0,
strasse: String,
plz: String,
ort: String,
isAcc: False,
email_abruf: String,
email_abruf_tax: String,
recht_taetigkeittyp: String,
rechte_acc: String,
bemerkung: String,
is_main_mail: 0,
two_factor_method: 0,
two_factor_enabled: 0,
two_factor_secret: String,
two_factor_backup_codes: String,
two_factor_enabled_date: 0001-01-01,
two_factor_failed_attempts: 0,
two_factor_last_failure: 0001-01-01,
two_factor_is_lockedout: 0,
default_ja: 0,
default_fibu: 0,
default_lohn: 0,
default_acc: 0,
default_vw: 0,
rechte_intern_mandanten: False,
PKIndex: 0,
mandant: 0,
PrimaryKey: 0,
nutzerid: 0
},
Token: String,
MFAToken: String,
rolle: 0,
showSupportButton: False,
PasswortAbgelaufen: False,
NeuesPasswortGesetzt: False,
ErrorMsg: String,
Anmeldeversuche: 0,
Configs:
[
String
]
}