summaryrefslogtreecommitdiff
path: root/libeufin/api-nexus.rst
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-05-18 19:29:11 +0200
committerChristian Grothoff <christian@grothoff.org>2020-05-18 19:29:11 +0200
commitc6014d72d0db9f199a6462c9841ffa4785985d45 (patch)
treee2ee15e7e372c6bb9dcd7ee306065911563686f0 /libeufin/api-nexus.rst
parent66b09780c1911e90c5b702f0374ef71dfbaa9f8a (diff)
parent16466dd547243332ad1284827f34369442e1bc3c (diff)
downloaddocs-c6014d72d0db9f199a6462c9841ffa4785985d45.tar.gz
docs-c6014d72d0db9f199a6462c9841ffa4785985d45.tar.bz2
docs-c6014d72d0db9f199a6462c9841ffa4785985d45.zip
Merge branch 'master' of git+ssh://git.taler.net/docs
Diffstat (limited to 'libeufin/api-nexus.rst')
-rw-r--r--libeufin/api-nexus.rst79
1 files changed, 56 insertions, 23 deletions
diff --git a/libeufin/api-nexus.rst b/libeufin/api-nexus.rst
index bc3dacce..681811aa 100644
--- a/libeufin/api-nexus.rst
+++ b/libeufin/api-nexus.rst
@@ -48,7 +48,7 @@ Users Management
**Details:**
- .. ts:def:: CreateUserRequest
+ .. ts:def:: User
interface User {
@@ -82,7 +82,7 @@ Bank Account Management
holder: string;
}
-.. http:post:: <nexus>/bank-accounts/<my-acct>/prepared-payments/submit
+.. http:post:: <nexus>/bank-accounts/prepared-payments/submit
Ask nexus to submit one prepare payment at the bank.
@@ -96,7 +96,22 @@ Bank Account Management
uuid: string;
// Specify the bank transport to use for the submission.
- transport?: string;
+ transport?: Transport;
+ }
+
+
+ .. ts:def:: Transport
+
+ interface Transport {
+
+ // Transport type: 'ebics', 'local', 'fints' (forthcoming).
+ // It must match one of the types actually implemented by
+ // nexus.
+ type: string;
+
+ // A mnemonic identifier given by the user to one particular
+ // transport instance.
+ name: string;
}
:status 404 Not Found: the unique identifier **or**
@@ -176,10 +191,9 @@ Bank Account Management
uuid: string;
}
-.. http:post:: <nexus>/bank-accounts/<my-acct>/collected-transactions
+.. http:post:: <nexus>/bank-accounts/collected-transactions
- Ask the default transport to download the latest transactions
- related to ``my-acct`` and store them locally.
+ Nexus will download bank transactions from the given transport.
**Request:**
@@ -188,7 +202,7 @@ Bank Account Management
interface CollectedTransaction {
// Optional field to specify the bank transport to
// use for such operation.
- bankTransport?: string;
+ bankTransport?: Transport;
// dashed date (YYYY-MM-DD) of the earliest payment
// in the result. Optional, defaults to "earliest
// possible" date.
@@ -251,27 +265,37 @@ to the real bank.
Activate a new bank transport for the requesting user.
**Request:**
- Object of the type `BankTransport`
-
- **Response:**
-
- :status 409 Conflict: The ``name`` field exists already for
- the requesting user.
-
- **Details:**
.. ts:def:: BankTransport
interface BankTransport {
- // Mnemonic identifier for the transport bein created.
- name: string;
+ transport: Transport;
- // Restore a previous transport.
+ // Restore a previous transport. Take precedence
+ // over the 'new' field.
backup?: TransportBackup;
+
+ // Data to create a fresh bank transport without
+ // restoring any backup.
+ data?: TransportNew;
+ }
+
+
+ .. ts:def:: TransportNew
+
+ interface TransportNew {
+
+ // This type is strictly dependent on
+ // the transport being created. For Ebics,
+ // it will contain the required fields (as strings):
+ // 'ebicsURL', 'userID', 'partnerID', 'hostID', and
+ // the optional 'systemID'.
+
+ // Other transport types, like 'local' (used for testing
+ // purposes skipping any interaction with the bank service)
+ // and 'fints' are all work in progress!
- // Type of the transport (ebics, fints, native, ..)
- type: string;
}
@@ -279,16 +303,25 @@ to the real bank.
interface TransportBackup {
- // The information needed in this type depend entirely
- // on which transport is being restored.
+ // The information needed in this type depend entirely
+ // on which transport is being restored.
}
-.. http:post:: <nexus>/bank-transports/<transport-name>/sendMSG.
+ **Response:**
+
+ :status 409 Conflict: The ``name`` field exists already for
+ the requesting user.
+
+.. http:post:: <nexus>/bank-transports/sendMSG.
Perform the ``MSG`` operation offered by ``transport-name``
**without** affecting the nexus database.
+ **Request:**
+
+ A `Transport` object.
+
**Response:**
:status 404 Not Found: ``transport-name`` doesn't exist for