summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMS <ms@taler.net>2020-05-18 10:56:59 +0200
committerMS <ms@taler.net>2020-05-18 10:56:59 +0200
commitb4e641db6d18897018f198834e731574b2770084 (patch)
treeccd78c750900a3a9a9806ddd575f38376067b333
parent66a657b3220b1dbf0d0718d7f2c908755448f935 (diff)
downloaddocs-b4e641db6d18897018f198834e731574b2770084.tar.gz
docs-b4e641db6d18897018f198834e731574b2770084.tar.bz2
docs-b4e641db6d18897018f198834e731574b2770084.zip
update API
-rw-r--r--libeufin/api-sandbox.rst196
1 files changed, 28 insertions, 168 deletions
diff --git a/libeufin/api-sandbox.rst b/libeufin/api-sandbox.rst
index ee298d85..015b8d59 100644
--- a/libeufin/api-sandbox.rst
+++ b/libeufin/api-sandbox.rst
@@ -1,189 +1,49 @@
+
Sandbox API
###########
-Entities
-========
-
-Bank Account
- ...
-
-EBICS Host
-
-EBICS Subscriber
- ...
-
-EBICS Partner
- ...
-
-
-
HTTP API
========
+..
+ Payments.
-.. http:post:: /ebicsweb
+.. http:post:: /admin/payments
+
+ Adds a new payment to the book.
- Submit an EBICS request to the sandbox.
+..
+ Host management.
+.. http:post:: /admin/ebics/hosts
+
+ Creates a new Ebics host.
-.. http:post:: /admin/customers
+.. http:get:: /admin/ebics/hosts
+
+ Shows the list of all the hosts existing
+ in the system.
- Create a new customer. A customer identifies a human that
- may own multiple bank accounts.
+..
+ Subscriber management.
- When creating a customer, one EBICS subscriber is automatically
- created for the customer.
+.. http:post:: /admin/ebics/subscribers
- In the future, we might add an API to create multiple additional subscribers for
- a customer.
+ Creates a new subscriber.
- When creating a new customer, an ID will be assigned automatically.
+.. http:get:: /admin/ebics/subscribers
- .. code-block:: tsref
+ Shows the list of all the subscribers existing
+ in the system.
- interface CustomerCreationRequest {
- // human-readable name for the customer
- name: string;
- }
+.. http:post:: /admin/ebics/bank-accounts
-.. http:get:: /admin/customers/:id
+ Associates a new bank account to an existing subscriber.
- Get information about a customer.
+..
+ Main EBICS service.
- .. ts:def:: CustomerInfo
+.. http:post:: /ebicsweb
- interface CustomerInfo {
- ebicsInfo?: CustomerEbicsInfo;
- finTsInfo?: CustomerFinTsInfo;
- }
-
- .. ts:def:: CustomerEbicsInfo
-
- interface CustomerEbicsInfo {
- ebicsHostId: string;
- ebicsParterId: string;
- ebicsUserId: string;
-
- // Info for the customer's "main subscriber"
- subscriberInitializationState: "NEW" | "PARTIALLY_INITIALIZED_INI" | "PARTIALLY_INITIALIZED_HIA" | "READY" | "INITIALIZED";
- }
-
- .. ts:def:: CustomerFinTsInfo
-
- // TODO
-
-.. http:post:: /admin/customers/:id/ebics/keyletter
-
- Accept the information from the customer's ("virtual") INI-Letter and HIA-Letter
- and change the key's state as required.
-
- .. code-block:: tsref
-
- interface KeyLetterRequest {
-
- ini: {
- // The user ID that participates in a EBICS subscriber.
- userId: string;
-
- // The customer ID specific to the bank (therefore not
- // participating in a EBICS subscriber).
- customerId: string;
-
- // Human name of the user
- name: string;
-
- // As per specification, this value is:
- // "Date of processing of the corresponding EBICS order". DD.MM.YYYY format.
- date: string;
-
- // As per specification, this value is:
- // "Time of processing of the corresponding EBICS order". HH:MM:SS format.
- time: string;
-
- // Identification token of the bank. Not required to obey to any particular standard.
- recipient: string;
-
- // Electronic signature version. Admitted values: A005, A006.
- version: string;
-
- // Length in bits of the key exponent.
- public_exponent_length: number;
- // RSA key exponent in hexadecimaml notation.
- public_exponent: string;
-
- // Length in bits of the key modulus.
- public_modulus_length: number;
- // RSA key modulus in hexadecimaml notation.
- public_modulus: string;
-
- // RSA key hash.
- //
- // A005, A005 versions require hash type SHA-256.
- hash: string;
- }
-
- hia: {
- // The user ID that participates in a EBICS subscriber.
- userId: string;
-
- // The customer ID specific to the bank (therefore not
- // participating in a EBICS subscriber).
- customerId: string;
-
- // Human name of the user
- name: string;
-
- // As per specification, this value is:
- // "Date of processing of the corresponding EBICS order". DD.MM.YYYY format.
- date: string;
-
- // As per specification, this value is:
- // "Time of processing of the corresponding EBICS order". HH:MM:SS format.
- time: string;
-
- // Identification token of the bank. Not required to obey to any particular standard.
- recipient: string;
-
- ////////////////////////////////////////////////////
- // Identification and Authentication key details. //
- ////////////////////////////////////////////////////
-
- // Identification and authentication signature version.
- // Admitted value: X002.
- ia_version: string;
-
- // length of the exponent, in bits.
- ia_public_exponent_length: number;
- // RSA key exponent in hexadecimaml notation.
- ia_public_exponent: string;
-
- // length of the modulus, in bits.
- ia_public_modulus_length: number;
- // RSA key modulus in hexadecimaml notation.
- ia_public_modulus: string;
-
- // SHA-256 hash of the identification and authentication key.
- ia_hash: string;
-
- /////////////////////////////
- // Encryption key details. //
- /////////////////////////////
-
- // Encryption version. Admitted value: E002.
- enc_version: string;
-
- // length of the exponent, in bits.
- enc_public_exponent_length: number;
- // RSA key exponent in hexadecimaml notation.
- enc_public_exponent: string;
-
- // length of the modulus, in bits.
- enc_public_modulus_length: number;
- // RSA key modulus in hexadecimaml notation.
- enc_public_modulus: string;
-
- // SHA-256 hash of the encryption key.
- enc_hash: string;
- }
- }
+ Serves all the Ebics requests.