feat: Konto-Nummern in der Kurzbefehl-Anleitung

Fuer den Datei-Kurzbefehl braucht man die account_id, und die stand nirgends
in der Oberflaeche – man haette sie ueber die API nachschlagen muessen. Jetzt
listet die Anleitung Name und Nummer je Konto, markierbar zum Kopieren.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-22 22:18:16 +02:00
co-authored by Claude Opus 5
parent 3b034dc001
commit f3d80eb6bc
3 changed files with 14 additions and 4 deletions
+3 -2
View File
@@ -497,10 +497,11 @@
"fileGuideTitle": "Kontoauszug vom Handy einlesen", "fileGuideTitle": "Kontoauszug vom Handy einlesen",
"fileGuideIntro": "Revolut und Raiffeisen lassen die CSV auch am Telefon exportieren. Ein zweiter Kurzbefehl nimmt sie aus dem Teilen-Menü entgegen. Voraussetzung: Du hast für dieses Konto schon einmal am Rechner eingelesen – Certain verwendet dann dieselbe Spaltenzuordnung.", "fileGuideIntro": "Revolut und Raiffeisen lassen die CSV auch am Telefon exportieren. Ein zweiter Kurzbefehl nimmt sie aus dem Teilen-Menü entgegen. Voraussetzung: Du hast für dieses Konto schon einmal am Rechner eingelesen – Certain verwendet dann dieselbe Spaltenzuordnung.",
"fileStep1": "Neuer Kurzbefehl → oben auf den Namen tippen → „Im Teilen-Menü anzeigen“ einschalten, Eingabetyp: Dateien", "fileStep1": "Neuer Kurzbefehl → oben auf den Namen tippen → „Im Teilen-Menü anzeigen“ einschalten, Eingabetyp: Dateien",
"fileStep2": "Suche nach „Liste“ → „Aus Liste wählen“ für das Konto (die Konto-Nummern findest du über die Adresse /api/quick/accounts)", "fileStep2": "Für jedes Konto einen eigenen Kurzbefehl (z. B. „Certain: Revolut CHF“) – einfacher als eine Auswahl im Kurzbefehl. Die Nummer trägst du unten fest ein.",
"fileStep3": "Suche nach „URL“ → „Inhalte von URL abrufen“. Methode POST, Header X-Certain-Token wie oben, Anfragetext „Formular“ mit file = Kurzbefehleingabe und account_id = das gewählte Konto:", "fileStep3": "Suche nach „URL“ → „Inhalte von URL abrufen“. Methode POST, Header X-Certain-Token wie oben, Anfragetext „Formular“ mit file = Kurzbefehleingabe und account_id = das gewählte Konto:",
"fileStep4": "„Mitteilung anzeigen“ – dann siehst du „14 gebucht · 512 schon vorhanden“", "fileStep4": "„Mitteilung anzeigen“ – dann siehst du „14 gebucht · 512 schon vorhanden“",
"fileGuideNote": "Gebucht wird sofort, weil ein Auszug hunderte Zeilen hat. Das ist ungefährlich: Bereits vorhandene Buchungen werden erkannt und übersprungen, und der ganze Stapel lässt sich im Import-Verlauf mit einem Klick zurücknehmen." "fileGuideNote": "Gebucht wird sofort, weil ein Auszug hunderte Zeilen hat. Das ist ungefährlich: Bereits vorhandene Buchungen werden erkannt und übersprungen, und der ganze Stapel lässt sich im Import-Verlauf mit einem Klick zurücknehmen.",
"accountIds": "Konto-Nummern für account_id"
}, },
"inbox": { "inbox": {
"title": "Eingang", "title": "Eingang",
+3 -2
View File
@@ -497,10 +497,11 @@
"fileGuideTitle": "Import a statement from your phone", "fileGuideTitle": "Import a statement from your phone",
"fileGuideIntro": "Revolut and Raiffeisen let you export the CSV on the phone too. A second shortcut takes it from the share sheet. Prerequisite: you have imported for this account on a computer once – Certain then reuses that column mapping.", "fileGuideIntro": "Revolut and Raiffeisen let you export the CSV on the phone too. A second shortcut takes it from the share sheet. Prerequisite: you have imported for this account on a computer once – Certain then reuses that column mapping.",
"fileStep1": "New shortcut → tap its name → enable “Show in Share Sheet”, input type: Files", "fileStep1": "New shortcut → tap its name → enable “Show in Share Sheet”, input type: Files",
"fileStep2": "Search for “List” → “Choose from List” for the account (account ids are at /api/quick/accounts)", "fileStep2": "One shortcut per account (e.g. “Certain: Revolut CHF”) – simpler than a picker inside the shortcut. Enter the number below as a fixed value.",
"fileStep3": "Search for “URL” → “Get Contents of URL”. Method POST, header X-Certain-Token as above, request body “Form” with file = Shortcut Input and account_id = the chosen account:", "fileStep3": "Search for “URL” → “Get Contents of URL”. Method POST, header X-Certain-Token as above, request body “Form” with file = Shortcut Input and account_id = the chosen account:",
"fileStep4": "“Show Notification” – you then see “14 booked · 512 already present”", "fileStep4": "“Show Notification” – you then see “14 booked · 512 already present”",
"fileGuideNote": "It books straight away because a statement has hundreds of rows. That is safe: existing bookings are recognised and skipped, and the whole batch can be undone with one click in the import history." "fileGuideNote": "It books straight away because a statement has hundreds of rows. That is safe: existing bookings are recognised and skipped, and the whole batch can be undone with one click in the import history.",
"accountIds": "Account numbers for account_id"
}, },
"inbox": { "inbox": {
"title": "Captured", "title": "Captured",
+8
View File
@@ -173,6 +173,14 @@ export default function Geraetemarken() {
</li> </li>
<li>{t("tokens.fileStep4")}</li> <li>{t("tokens.fileStep4")}</li>
</ol> </ol>
<p className="muted small" style={{ marginBottom: 4 }}>
<strong>{t("tokens.accountIds")}</strong>
</p>
<ul className="muted small selectable" style={{ paddingLeft: "1.2em", margin: 0 }}>
{konten.map((k) => (
<li key={k.id}>{k.name}: <strong>{k.id}</strong></li>
))}
</ul>
<p className="muted small">{t("tokens.fileGuideNote")}</p> <p className="muted small">{t("tokens.fileGuideNote")}</p>
</details> </details>
<button className="btn sm ghost" style={{ marginTop: "var(--sp-2)" }} <button className="btn sm ghost" style={{ marginTop: "var(--sp-2)" }}