summaryrefslogtreecommitdiff
path: root/man/libeufin-nexus.1
diff options
context:
space:
mode:
Diffstat (limited to 'man/libeufin-nexus.1')
-rw-r--r--man/libeufin-nexus.1185
1 files changed, 89 insertions, 96 deletions
diff --git a/man/libeufin-nexus.1 b/man/libeufin-nexus.1
index dd8b58cc..1203126a 100644
--- a/man/libeufin-nexus.1
+++ b/man/libeufin-nexus.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "LIBEUFIN-NEXUS" "1" "Sep 24, 2023" "0.9" "GNU Taler"
+.TH "LIBEUFIN-NEXUS" "1" "Nov 27, 2023" "0.9" "GNU Taler"
.SH NAME
libeufin-nexus \- service to interface to various bank access APIs
.SH SYNOPSIS
@@ -37,18 +37,11 @@ libeufin-nexus \- service to interface to various bank access APIs
[\fB–version\fP]
COMMAND [ARGS…]
.sp
-Commands: serve, superuser, parse\-camt, reset\-tables
+Subcommands: \fBdbinit\fP, \fBebics\-setup\fP, \fBebics\-submit\fP, \fBebics\-fetch\fP
.SH DESCRIPTION
.sp
\fBlibeufin\-nexus\fP is a program that provides a service to interface to
-various bank access APIs, using JSON as the response format.
-It maintains state in its own private database.
-You interact with it through HTTP
-requests either over the network or via a Unix domain socket.
-Related program \fBlibeufin\-cli\fP is the preferred front end
-for that mode of operation.
-There is also a mode where \fBlibeufin\-nexus\fP accepts commands directly,
-useful for doing administrative tasks.
+various bank access APIs
.sp
Its options are as follows:
.INDENT 0.0
@@ -61,111 +54,111 @@ Print version information.
.UNINDENT
.sp
The interaction model is as follows:
-.INDENT 0.0
-.IP \(bu 2
-Configure the nexus with command \fBsuperuser\fP\&.
-.IP \(bu 2
-Start the HTTP server with command \fBserve\fP\&.
-Let this run in a shell, writing logs to stderr.
-.IP \(bu 2
-Interact with \fBlibeufin\-nexus\fP\&.
-.IP \(bu 2
-When finished, interrupt the \fBserve\fP process and clean up with command
-\fBreset\-tables\fP\&.
-.UNINDENT
+.sp
+In order to operate any EBICS communication with \fBlibeufin\-nexus\fP, it is necessary to setup EBICS access via the \fBebics\-setup\fP subcommand. Setting the access means to share the client keys with the bank and downloading the bank keys. After a successful setup, the subcommands \fBebics\-submit\fP and \fBebics\-fetch\fP can be run to respectively send payments and download the bank account history.
.sp
The following sections describe each command in detail.
-.SS superuser
+.SS ebics\-setup
.sp
-This command adds a superuser, or changes the password.
-It takes argument \fBUSERNAME\fP\&.
-Option \fB\-\-password TEXT\fP specifies the password.
-If omitted, \fBlibeufin\-nexus\fP will query interactively for it.
+This command creates the client keys, if they aren’t found already on the disk, and sends them to the bank if they were not sent yet. In case of sending, it ejects the PDF document that contains the keys fingerprints, so that the user can send it to the bank to confirm their keys. The process continues by checking if the bank keys exist already on disk, and proceeds with downloading them in case they are not. It checks then if the bank keys were accepted by the user; if yes, the setup terminates, otherwise it interactively asks the user to mark the keys as accepted. By accepting the bank keys, the setup terminates successfully.
.sp
-For example:
+Its options are as follows:
.INDENT 0.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-$ libeufin\-nexus superuser joe
-.ft P
-.fi
-.UNINDENT
+.TP
+\fB\-h\fP | \fB–help\fP
+Prints short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB–check\-full\-config\fP
+Checks the configuration of all the three subcommands and returns.
+.TP
+\fB–force\-keys\-resubmission\fP
+Resubmits the client keys. If no keys were found, it creates and submits them.
+.TP
+\fB–auto\-accept\-keys\fP
+Accepts the bank keys without interactively asking the user.
+.TP
+\fB–generate\-registration\-pdf\fP
+Generates the PDF with the client keys fingerprints, if the keys have the submitted state. That’s useful in case the PDF went lost after the first submission and the user needs a new PDF.
.UNINDENT
+.SS dbinit
.sp
-This creates superuser \fBjoe\fP and interactively queries for the password.
-.SS parse\-camt
-.sp
-This command parses a camt file and displays the result to stdout.
-It takes argument \fBFILENAME\fP, which names a file in CAMT format.
-Parsing may also display log information to stderr.
-The normal log level is \fBDEBUG\fP\&.
-To change it, use \fB\-\-log\-level LEVEL\fP, where \fBLEVEL\fP is one of:
-\fBERROR\fP, \fBWARN\fP, \fBINFO\fP, \fBDEBUG\fP, \fBTRACE\fP\&.
+This subcommand defines the database schema for Nexus. It is mandatory to run this command before invoking the \fBebics\-submit\fP or \fBebics\-fetch\fP subcommands.
.sp
-For example:
+Its options are as follows:
.INDENT 0.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-$ libeufin\-nexus parse\-camt camt53\-gls\-style\-0.xml
-{
- \(dqtransactions\(dq : [ {
- \(dqamount\(dq : \(dqEUR:2.35\(dq,
- \(dqcreditDebitIndicator\(dq : \(dqDBIT\(dq,
- ...
- } ]
-}
-.ft P
-.fi
-.UNINDENT
+.TP
+\fB\-h\fP | \fB–help\fP
+Print short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB\-r\fP | \fB–reset\fP
+If present, deletes any database table (WARNING: potential data loss)
.UNINDENT
-.SS serve
+.SS ebics\-submit
.sp
-This command starts the HTTP server, listening on port 5001.
-To use a different port, use option \fB\-\-port INT\fP\&.
-To listen, instead, on a Unix domain socket,
-use option \fB\-\-with\-unix\-socket PATH\fP\&.
-When both \fB\-\-port\fP and \fB\-\-with\-unix\-socket\fP are given,
-\fB\-\-with\-unix\-socket\fP takes precedence.
+This subcommand submits any initiated payment that was not already sent to the bank. In the current version, initiated payments may come from a cash\-out operation or from a bounced incoming payment. ebics\-submit is Taler friendly, therefore bounced payments are those that do not contain a valid subject to start a Taler withdrawal. Cash\-out operations come from a tightly integrated bank that offers their customers to convert their currency to the currency whose the EBICS subscriber bank account is tied to.
.sp
-The process runs in the foreground, writing its logs to standard error.
-The normal log level is \fBDEBUG\fP\&.
-To change it, use \fB\-\-log\-level LEVEL\fP, where \fBLEVEL\fP is one of:
-\fBERROR\fP, \fBWARN\fP, \fBINFO\fP, \fBDEBUG\fP, \fBTRACE\fP\&.
-.sp
-Before invoking \fBserve\fP, the following environment variable needs to be set:
+Its options are as follows:
.INDENT 0.0
.TP
-.B \fBLIBEUFIN_NEXUS_DB_CONNECTION\fP
-This specifies the database \fBlibeufin\-nexus\fP uses to maintain state.
-Currently, both Sqlite and PostgreSQL are supported.
-(Only one needs to be specified.)
-Examples:
-.INDENT 7.0
-.IP \(bu 2
-\fBjdbc:sqlite:/tmp/libeufin\-nexus.db\fP
-.IP \(bu 2
-\fBjdbc:postgresql://localhost:5432/libeufindb?user=Foo&password=secret\fP
-.UNINDENT
+\fB\-h\fP | \fB–help\fP
+Print short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB–transient\fP
+This flag, enabled by default, causes the command to check the database and submit only once, and then return.
+.TP
+\fB–debug\fP
+With this flag, it is possible to pass via STDIN a raw pain.001 document to be submitted to the bank. This method turns ebics\-submit to run in transient mode and it does NOT affect the database.
+.TP
+\fB–ebics\-extra\-log\fP
+Enables (verbose) logging of EBICS 3 messages to STDERR. It logs only EBICS 3 messages from the initialisation phase of an upload order.
.UNINDENT
+.SS ebics\-fetch
.sp
-Normally, the \fBserve\fP command runs until interrupted.
-When run in a shell, you can use \fBControl\-C\fP for that.
-.SS reset\-tables
-.sp
-This command drops all the tables in the internal database.
-(The next time the tables are needed, \fBlibeufin\-nexus\fP creates them
-again, automatically.)
-.sp
-It should only be used when the nexus is quiescent.
+This subcommand downloads banking records via EBICS and stores them into the database. By default, it downloads \fBcamt.054\fP notifications. Along the download, ebics\-fetch would bounce incoming payments that do not have a valid Taler subject, or as well those with an already existing valid subject. Valid incoming payments are then stored in the database so that they can trigger Taler withdrawals. Along this process, ebics\-submit would as well reconcile initiated outgoing payments with any outgoing transactions that shows up in the downloaded records. Any option starting with \fB\-\-only\fP would only be useful with a defined log directory (STATEMENTS_LOG_DIRECTORY) in the configuration.
+.INDENT 0.0
+.TP
+\fB\-h\fP | \fB–help\fP
+Print short help on options.
+.TP
+\fB\-c\fP | \fB–config\fP ‌\fIFILENAME\fP
+Specifies the configuration file.
+.TP
+\fB–transient\fP
+This flag, enabled by default, causes the command to perform one download and return.
+.TP
+\fB–only\-statements\fP
+It downloads statements (instead of notifications) in the form of camt.053 documents. It does NOT affect the database.
+.TP
+\fB–only\-ack\fP
+It downloads payment submissions acknowledgements (instead of notifications) in the form of pain.002 documents. It MAY affect the database by setting the state of submitted payments.
+.TP
+\fB–only\-reports\fP
+It downloads only intraday reports (instead of notifications) in the form of camt.052 documents. It does NOT affect the database.
+.TP
+\fB–only\-logs\fP
+It downloads the subscriber activity via EBICS HAC in the form of pain.002 documents. It does NOT affect the database.
+.TP
+\fB–pinned\-start\fP
+Only supported in –transient mode, this option lets specify the earliest timestamp of the downloaded documents. The latest timestamp is always the current time.
+.TP
+\fB–debug\fP
+With this flag, ebics\-fetch accepts XML documents from STDIN. In this case, it prints on the console the result and exits, without affecting the database. The results are the stringified objects that the application itself uses to represent the business details.
+.UNINDENT
.SH SEE ALSO
+.sp
+libeufin\-nexus.conf(5)
.SH BUGS
.sp
-Report bugs by using \fI\%https://bugs.taler.net\fP or by sending electronic
-mail to <\fI\%taler@gnu.org\fP>.
+Report bugs by using \fI\%https://bugs.taler.net\fP or by sending electronic mail to <\fI\%taler@gnu.org\fP>.
.SH AUTHOR
GNU Taler contributors
.SH COPYRIGHT