gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-docs] branch master updated: docs


From: gnunet
Subject: [taler-docs] branch master updated: docs
Date: Wed, 24 Jun 2020 14:38:29 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new e248817  docs
e248817 is described below

commit e248817bfa27291c9104c7acd92e46f13fc6b52b
Author: Florian Dold <florian.dold@gmail.com>
AuthorDate: Wed Jun 24 18:08:25 2020 +0530

    docs
---
 libeufin/api-nexus.rst |  3 --
 libeufin/iso20022.rst  | 84 ++++++++++++++++++++++++++++++++++++++------------
 2 files changed, 65 insertions(+), 22 deletions(-)

diff --git a/libeufin/api-nexus.rst b/libeufin/api-nexus.rst
index d63fbd0..9c752de 100644
--- a/libeufin/api-nexus.rst
+++ b/libeufin/api-nexus.rst
@@ -327,9 +327,6 @@ to the real bank.
 
    Make a passphrase-encrypted backup of this connection.
 
-..
-  not implemented.
-
 .. http:post:: {nexusBase}/bank-connections/{connid}/accounts/fetch
 
    Update accounts that are accessible via this bank connection.
diff --git a/libeufin/iso20022.rst b/libeufin/iso20022.rst
index bc9f590..304bd0d 100644
--- a/libeufin/iso20022.rst
+++ b/libeufin/iso20022.rst
@@ -7,35 +7,81 @@ validation subset) of the schema.
 
 Documentation for message fields can be viewed at 
https://www.iso20022.org/standardsrepository
 
+The primary syntax for ISO 20022 messages is XML.  To avoid LibEuFin clients
+having to deal with XML, we define a mapping from ISO 20022 messages into JSON.
+
+The specifics of this mapping are:
+
+ * The JSON should be "idiomatic" and easy to process
+ * When possible, the highly nested structures of ISO 20022 should be flattened
+ * It must be possible round-trip between the LibEuFin JSON and ISO 20022
+   XML messages. The mapping of message types is not 1-to-1, as some ISO 20022 
messages are
+   very similar and can be mapped to the same JSON structure.
+ * JSON-mapped messages are not explicitly versioned.  Instead, changes
+   are made in a backwards-compatible way, possibly preserving old versions
+   of message elements in the same schema.
+
 
 Cash Management (camt)
 ======================
 
-camt.052: Bank to Customer Account Report
------------------------------------------
+LibEuFin combines camt.052, camt.053 and camt.054, as they essentially
+have the same structure and serve the same purpose:  Reporting transactions
+on a customer's bank account.
+
+.. code-block:: typescript
+
+   interface CashManagementResponseMessage {
+     // ISO: MessageIdentification
+     messageId: string;
+
+     messageType: "report" | "statement" | "notification";
+
+     // ISO: CreationDateTime
+     creationDateTime: string;
+
+     entries: Entry[];
+
+   }
+
+   interface Entry {
+     transactions: Transaction[];
+   }
+
+   interface Transaction {
+     creditDebitIndicator: "credit" | "debit";
+     amount: string;
+     currency: string;
+
+     bookingDate?: string;
+     valueDate?: string;
 
-* pending and booked transaction
+     accountServicerRef?: string;
 
-Schema versions:
+     bankTransactionCode: BankTransactionCode;
 
-* GLS uses camt.052.001.02
+     details: TransactionDetails[];
+   }
 
-.. code-block:: none
+   interface TransactionDetails {
+     creditDebitIndicator: "credit" | "debit";
+     amount: string;
+     currency: string;
 
-  + Document/BkToCstmrAcctRpt
-  ++ GroupHeader [1..1]
-  ++ Report [1..*]
-  +++ Account [1..1]
-  +++ Balance [1..*]
-  +++ Entry [1..*]
-  ++++ Amount [1..1]
-  ++++ Status [1..1]
-  ++++ EntryDetails [1..1]
+     // Referenced message ID
+     messageId: string;
 
+     endToEndId: string;
+     paymentIdentificationId?: string;
 
-camt.053: Bank to Customer Statement
-------------------------------------
+     bankTransactionCode: BankTransactionCode;
+   }
 
-* only booked transactions
-* only for the last day (?)
+   interface BankTransactionCode {
+     domain?: string;
+     family?: string;
+     subfamily?: string;
+     proprietaryIssuer?: string;
+     proprietaryCode?: string;
+   }
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]