namespace Csob.Client; /// /// Central registry of ČSOB PSD2 resource path templates (relative to CSOB_API_BASE_URL). /// /// Paths follow the Czech Open Banking Standard (COBS) as implemented by ČSOB. The account-scoped /// AISP paths and the PISP /my/payments/.../sign/{signId} authorization flow are confirmed /// against the ČSOB developer portal; the remaining COBS resources use the same /my/ prefix. /// Keep every path here so a portal-specific correction is a single-file change. /// public static class CsobApiPaths { // ----- AISP (Account Information) ----- public const string Accounts = "/my/accounts"; public static string Account(string id) => $"/my/accounts/{Esc(id)}"; public static string Balance(string accountId) => $"/my/accounts/{Esc(accountId)}/balance"; public static string Transactions(string accountId) => $"/my/accounts/{Esc(accountId)}/transactions"; public static string AwaitingTransactions(string accountId) => $"/my/accounts/{Esc(accountId)}/transactions/awaiting"; public static string AccountStandingOrders(string accountId) => $"/my/accounts/{Esc(accountId)}/standingorders"; public static string AccountStandingOrder(string accountId, string standingOrderId) => $"/my/accounts/{Esc(accountId)}/standingorders/{Esc(standingOrderId)}"; public static string AccountDirectDebits(string accountId) => $"/my/accounts/{Esc(accountId)}/directdebits"; // ----- PISP (Payment Initiation) ----- public const string Payments = "/my/payments"; public static string Payment(string id) => $"/my/payments/{Esc(id)}"; public static string PaymentStatus(string id) => $"/my/payments/{Esc(id)}/status"; public static string PaymentSign(string id, string signId) => $"/my/payments/{Esc(id)}/sign/{Esc(signId)}"; public const string StandingOrders = "/my/standingorders"; public static string StandingOrder(string id) => $"/my/standingorders/{Esc(id)}"; public static string StandingOrderStatus(string id) => $"/my/standingorders/{Esc(id)}/status"; public static string StandingOrderSign(string id, string signId) => $"/my/standingorders/{Esc(id)}/sign/{Esc(signId)}"; public const string DirectDebits = "/my/directdebits"; public static string DirectDebit(string id) => $"/my/directdebits/{Esc(id)}"; public static string DirectDebitStatus(string id) => $"/my/directdebits/{Esc(id)}/status"; public static string DirectDebitSign(string id, string signId) => $"/my/directdebits/{Esc(id)}/sign/{Esc(signId)}"; // ----- Common (Consents) ----- public const string Consents = "/consents"; public static string Consent(string id) => $"/consents/{Esc(id)}"; private static string Esc(string segment) => Uri.EscapeDataString(segment); }