taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 61243af3e14d887dc5b256065568a7e4aadbb921
parent 3756b879510857a32f79a8c3418c907e146eca5f
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Sat, 20 May 2023 18:43:49 +0200

integrate libeufin APIs into core APIs

Diffstat:
Rlibeufin/api-nexus.rst -> core/api-bank-nexus.rst | 0
Rlibeufin/api-sandbox-future.rst -> core/api-bank-sandbox-future.rst | 0
Rlibeufin/api-sandbox.rst -> core/api-bank-sandbox.rst | 0
Rcore/api-wire.rst -> core/api-bank-wire.rst | 0
Acore/api-bank.rst | 36++++++++++++++++++++++++++++++++++++
Mcore/api-common.rst | 94+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mcore/index.rst | 6+-----
Dlibeufin/api-common.rst | 95-------------------------------------------------------------------------------
Mlibeufin/index.rst | 3---
9 files changed, 131 insertions(+), 103 deletions(-)

diff --git a/libeufin/api-nexus.rst b/core/api-bank-nexus.rst diff --git a/libeufin/api-sandbox-future.rst b/core/api-bank-sandbox-future.rst diff --git a/libeufin/api-sandbox.rst b/core/api-bank-sandbox.rst diff --git a/core/api-wire.rst b/core/api-bank-wire.rst diff --git a/core/api-bank.rst b/core/api-bank.rst @@ -0,0 +1,36 @@ +.. + This file is part of GNU TALER. + Copyright (C) 2014-2023 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Affero General Public License as published by the Free Software + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License along with + TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + + @author Florian Dold + @author Benedikt Muller + @author Sree Harsha Totakura + @author Marcello Stanisci + @author Christian Grothoff + +============== +Bank Protocols +============== + + +.. toctree:: + :maxdepth: 2 + + api-bank-wire + api-bank-merchant + api-bank-integration + api-bank-access + +.. toctree:: + :hidden: diff --git a/core/api-common.rst b/core/api-common.rst @@ -373,6 +373,100 @@ Objects // JavaScript objects, no further restrictions. type Object = object; + +Contact details +^^^^^^^^^^^^^^^ + +.. ts:def:: EmailAddress + + type EmailAddress = string; + +.. ts:def:: PhoneNumber + + type PhoneNumber = string; + +Phone numbers should start with the ``+`` symbol and the country code. + +Ratios and Fees +^^^^^^^^^^^^^^^ + +.. ts:def:: LibeufinNumber + + type LibeufinNumber = number; + +**Note:** this quantity is normally enforced to have at most +two decimal digits. The reason is to preserve the 2-decimal +digits policy of the `Amount` type, as `LibeufinNumber` is used +to multiply `Amount`. + +Amounts +^^^^^^^ + +.. ts:def:: Amount + + type Amount = string; + +Amounts have the ``$currency:X.Y`` format, where the +fractional part is optional and may contain at most two +digits. + +Permissions +^^^^^^^^^^^ + +This type epresses which permissions for a subject +apply on a resource. + +.. ts:def:: LibeufinPermission + + interface LibeufinPermission { + subjectType: string; + subjectId: string; + resourceType: string; + resourceId: string; + permissionName: string + } + + +Fetch params +^^^^^^^^^^^^ + +.. _fetch-params: + +.. ts:def:: FetchParams + + interface FetchParams { + + // Because transactions are delivered by banks in "batches", + // then every batch can have different qualities. This value + // lets the request specify which type of batch ought to be + // returned. Currently, the following two type are supported: + // + // 'report': typically includes only non booked transactions. + // 'statement': typically includes only booked transactions. + level: "report" | "statement" | "all"; + + // This type indicates the time range of the query. + // It allows the following values: + // + // 'latest': retrieves the last transactions from the bank. + // If there are older unread transactions, those will *not* + // be downloaded. + // + // 'all': retrieves all the transactions from the bank, + // until the oldest. + // + // 'previous-days': currently *not* implemented, it will allow + // the request to download transactions from + // today until N days before. + // + // 'since-last': retrieves all the transactions since the last + // time one was downloaded. + // + rangeType: "latest" | "all" | "previous-days" | "since-last"; + }; + + + Keys ^^^^ diff --git a/core/index.rst b/core/index.rst @@ -41,11 +41,7 @@ interfaces between the core components of Taler. api-sync api-taldir api-mailbox - api-wire - api-bank-merchant - api-bank-integration - api-bank-access - api-challenger + api-bank .. toctree:: :hidden: diff --git a/libeufin/api-common.rst b/libeufin/api-common.rst @@ -1,95 +0,0 @@ -==================================== -Common LibEuFin HTTP API Conventions -==================================== - - -Contact details -^^^^^^^^^^^^^^^ - -.. ts:def:: EmailAddress - - type EmailAddress = string; - -.. ts:def:: PhoneNumber - - type PhoneNumber = string; - -Phone numbers should start with the ``+`` symbol and the country code. - -Ratios and Fees -^^^^^^^^^^^^^^^ - -.. ts:def:: LibeufinNumber - - type LibeufinNumber = number; - -**Note:** this quantity is normally enforced to have at most -two decimal digits. The reason is to preserve the 2-decimal -digits policy of the `Amount` type, as `LibeufinNumber` is used -to multiply `Amount`. - -Amounts -^^^^^^^ - -.. ts:def:: Amount - - type Amount = string; - -Amounts have the ``$currency:X.Y`` format, where the -fractional part is optional and may contain at most two -digits. - -Permissions -^^^^^^^^^^^ - -This type epresses which permissions for a subject -apply on a resource. - -.. ts:def:: LibeufinPermission - - interface LibeufinPermission { - subjectType: string; - subjectId: string; - resourceType: string; - resourceId: string; - permissionName: string - } - - -Fetch params -^^^^^^^^^^^^ - -.. _fetch-params: - -.. ts:def:: FetchParams - - interface FetchParams { - - // Because transactions are delivered by banks in "batches", - // then every batch can have different qualities. This value - // lets the request specify which type of batch ought to be - // returned. Currently, the following two type are supported: - // - // 'report': typically includes only non booked transactions. - // 'statement': typically includes only booked transactions. - level: "report" | "statement" | "all"; - - // This type indicates the time range of the query. - // It allows the following values: - // - // 'latest': retrieves the last transactions from the bank. - // If there are older unread transactions, those will *not* - // be downloaded. - // - // 'all': retrieves all the transactions from the bank, - // until the oldest. - // - // 'previous-days': currently *not* implemented, it will allow - // the request to download transactions from - // today until N days before. - // - // 'since-last': retrieves all the transactions since the last - // time one was downloaded. - // - rangeType: "latest" | "all" | "previous-days" | "since-last"; - }; diff --git a/libeufin/index.rst b/libeufin/index.rst @@ -8,9 +8,6 @@ LibEuFin is a project providing free software tooling for European FinTech. concepts bank-transport-ebics - api-common - api-nexus - api-sandbox ebics sepa iso20022