FIBUdataServiceStack

<back to all web services

LoginMandantRequest

The following routes are available for this service:
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

HTTP + 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
	]
}