API-Dokumentation

Bestandsimport

Der Bestand einer Bank kann in einem Schritt in die Portfolioüberwachung aufgenommen werden statt mit einer Suche je Unternehmen. Sie bereiten eine CSV-Datei vor, der Import ordnet jede Zeile über ihre Registerkennung zu, zeigt Zeile für Zeile, was er tun würde, und fügt die Unternehmen erst hinzu, wenn Sie bestätigen. Im Dashboard liegt der Import auf der Portfolioseite unter der Schaltfläche Import book, die auch eine Vorlage zum Herunterladen anbietet.

Namen sind nie Identität

Jede Zeile wird allein über ihre Registerkennung zugeordnet, also über eine LEI oder eine Registernummer. Die Namensspalte steht neben dem Namen, den das Register führt, damit eine falsche Nummer sofort auffällt, und sie wird nie verwendet, um ein Unternehmen zu finden. Eine Zeile, die nur einen Namen nennt, fügt nichts hinzu. Eine Nummer, die mehr als ein Unternehmen bedeuten kann, wird als mehrdeutig zurückgemeldet und nie geraten.

Die Datei

Die erste Zeile ist die Kopfzeile. identifier_type und identifier sind Pflicht, die übrigen Spalten sind optional.

text
identifier_type,identifier,name,currency,limit_amount,drawn_amount
lei,549300UDG16DOYUPR330,thyssenkrupp AG,EUR,50000000,20000000
de_register,HRB 728059 Ulm,VARTA AKTIENGESELLSCHAFT,,,
us_cik,0000012927,BOEING CO,USD,25000000,
  • Die Datei ist durch Kommas getrennt. Eine Kopfzeile mit Semikolons, wie sie deutsche Tabellenkalkulationen exportieren, wird mit Semikolons gelesen. Die Zeilen dürfen so enden, wie jede Tabellenkalkulation sie beendet.
  • Speichern Sie den Bestand als CSV. Eine als Unicode-Text gespeicherte Datei oder jede Datei mit einem Steuerzeichen wird als Ganzes mit dem Grund abgelehnt, und nichts darin wird gelesen.
  • Höchstens 2.000 Zeilen und 1.000.000 Zeichen je Datei. Ein größerer Bestand wird aufgeteilt und in Teilen importiert; ein zweimal importierter Teil fügt nichts doppelt hinzu.
  • currency, limit_amount und drawn_amount sind die Kreditdaten des Engagements. Es sind Ihre eigenen Zahlen zum Lesen des Bestands, und sie werden nie bewertet. Ein Betrag besteht aus Ziffern mit höchstens zwei Nachkommastellen und ohne Tausendertrennzeichen, zum Beispiel 25000000.50 oder 25000000,50, und ist kleiner als 1.000.000.000.000.000; ein Betrag braucht seine Währung, einen dreistelligen ISO-Code.
  • Diese Zahlen gelten für Unternehmen, die der Import hinzufügt. Ein Unternehmen, das bereits im Bestand ist, behält seine Konditionen; Sie ändern sie über Edit terms in seiner Zeile.

Kennungsarten

KennungsartRegister
leiLegal Entity Identifier, 20 Zeichen
de_registerdeutsches Handelsregister, mit Registerart, Nummer und Registergericht in einer Zelle, zum Beispiel HRB 275806 München
uk_crnUnternehmensnummer von Companies House (Vereinigtes Königreich)
us_cikCentral Index Key der US-Börsenaufsicht SEC
ch_uidSchweizer Unternehmens-Identifikationsnummer (UID)
fr_sirenfranzösische SIREN
dk_cvrdänische CVR-Nummer
no_orgnrnorwegische Organisationsnummer
be_kbobelgische Unternehmensnummer
cz_icotschechische Identifikationsnummer (IČO)
sk_icoslowakische Identifikationsnummer (IČO)
euidEuropean Unique Identifier
es_rm_hojaBlatt des spanischen Handelsregisters
lv_regnrlettische Registrierungsnummer
ee_regestnischer Registercode
au_acnaustralische Gesellschaftsnummer (ACN)
au_abnaustralische Unternehmensnummer (ABN)
us_rssdRSSD-Kennung der US-Notenbank
us_crdCRD-Nummer der FINRA (USA)
de_mastrNummer im Marktstammdatenregister

Eine deutsche Registernummer ohne Registergericht ist mehrdeutig, weil es dieselbe Nummer an mehreren Gerichten gibt, deshalb wird die Zeile keinem von ihnen zugeordnet.

Eine Kennung, die eine Zahl ist, etwa eine CIK, eine RSSD-Kennung, eine SIREN oder eine Schweizer UID, wird als ihre Ziffern gelesen, gern mit Leerzeichen, Punkten, Schrägstrichen oder Bindestrichen dazwischen, und eine Schweizer UID darf mit CHE beginnen. Ein Buchstabe oder ein anderes Zeichen darin macht die Zeile ungültig, statt still entfernt zu werden, denn ein O statt einer Null träfe sonst ein anderes Unternehmen.

Was jede Zeile zurückmeldet

ErgebnisBedeutung
addDie Kennung trifft genau ein Unternehmen, das nicht im Bestand Ihres Teams ist; der Import fügt es hinzu.
reactivateDas Unternehmen war im Bestand und wurde herausgenommen; der Import nimmt es wieder auf.
in_bookDas Unternehmen ist bereits im Bestand. Es ändert sich nichts.
duplicateDasselbe Unternehmen steht schon in einer früheren Zeile der Datei.
ambiguousDie Kennung kann mehr als ein Unternehmen bedeuten, etwa eine deutsche Registernummer ohne Registergericht.
unresolvedKein Unternehmen führt diese Kennung in den Registerdaten.
invalidDie Zeile ist nicht lesbar wegen einer fehlenden Kennung, einer unbekannten Kennungsart, eines Buchstabens oder Zeichens in einer Kennung, die eine Zahl ist (etwa us_cik,32O193), einer Kennung mit mehr als 64 Zeichen oder einer Zahl, die kein einfacher Betrag ist.

Jede Zeile, die kein add ist, nennt ihren Grund in einfachen Worten. Der Import geht in den Bestand Ihres eigenen Teams, und die Vorschau nennt dieses Team.

Erst die Vorschau, dann die Bestätigung

Die Vorschau schreibt nichts. Im Dashboard bestätigen Sie die Vorschau mit einem Klick, und der Import läuft dann erneut gegen den Bestand, wie er in diesem Moment ist; das Ergebnis kann von der Vorschau also nur dort abweichen, wo sich der Bestand zwischenzeitlich geändert hat. Jedes hinzugefügte Unternehmen wird mit der hinzufügenden Person im Prüfprotokoll festgehalten, seine Registereinträge werden beobachtet, und der Import stößt eine Neuberechnung des Bestands an.

Über die API und MCP

  • POST /v1/portfolio/import zeigt die Vorschau eines Imports. Senden Sie {"csv": "..."} und lesen Sie dieselben Ergebnisse, die das Dashboard zeigt. dry_run ist auf /v1 immer true, die API bleibt also lesend, und übernommen wird ein Import im Dashboard. Die Zeilen kommen seitenweise in Dateireihenfolge. limit (Standard und Höchstwert 100) und offset wählen die Seite, während counts und total immer die ganze Datei umfassen. Eine Datei, die sich gar nicht lesen lässt, etwa eine ohne die beiden Kennungsspalten, beantwortet die API mit einer 422, deren Body das Problem benennt.
  • Das MCP-Werkzeug portfolio_import_preview sendet dieselbe Anfrage und liefert die Zeilen ebenso seitenweise. Eine als Ganzes abgelehnte Datei meldet es als Werkzeugfehler mit demselben Grund.

Konditionen der Bank

Einige Überwachungssignale lesen Eingaben, die nur Ihre Bank hat, und ihre Zeilen zeigen Awaiting bank input, bis Sie sie liefern. Das sind die Beteiligten einer Transaktion (etwa ein Garant, eine Akkreditivbank oder ein Abnehmer), der Registereintrag eines Projekts und die aufsichtlichen Slotting-Einstufungen eines Projektfinanzierungsengagements. Sie erfassen sie über Edit terms in der Zeile des Engagements auf der Portfolioseite. Eine gespeicherte Angabe wird bei der nächsten Neuberechnung bewertet, die das Speichern anstößt, und die Zeile verlässt Awaiting bank input, sobald ihre Eingabe vorliegt. Die Kreditdaten werden nie bewertet, eine Änderung nur an ihnen stößt daher keine Neuberechnung an. Gespeicherte Konditionen, die das Formular nicht bearbeitet, werden darin aufgeführt und unverändert zurückgespeichert.