summaryrefslogtreecommitdiff
path: root/api/api-bank.rst
diff options
context:
space:
mode:
Diffstat (limited to 'api/api-bank.rst')
-rw-r--r--api/api-bank.rst81
1 files changed, 81 insertions, 0 deletions
diff --git a/api/api-bank.rst b/api/api-bank.rst
new file mode 100644
index 00000000..48b7075e
--- /dev/null
+++ b/api/api-bank.rst
@@ -0,0 +1,81 @@
+..
+ This file is part of GNU TALER.
+ Copyright (C) 2014, 2015, 2016 INRIA
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU 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 Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+
+ @author Marcello Stanisci
+
+=========
+Bank API
+=========
+
+The following APIs are served from banks, in order to allow exchanges to
+deposit funds to money recipients. A typical scenario for calling this
+APIs is after a merchant has deposited coins to the exchange, and the exchange
+needs to give real money to the merchant.
+
+------------------
+Administrative API
+------------------
+
+This is `local` API, meant to make the bank communicate with trusted entities,
+namely exchanges.
+
+.. _bank-deposit:
+.. http:post:: /admin/add/incoming
+
+**Request:** The body of this request must have the format of a `BankDepositRequest`_.
+
+**Response:**
+
+:status 200 OK: The request has been correctly handled, so the funds have been transferred to the recipient's account
+
+:status 400 Bad Request: The bank replies a `BankIncomingError`_ object
+
+**Details:**
+
+.. _BankDepositRequest:
+.. code-block:: tsref
+
+ interface BankDepositRequest {
+
+ // JSON 'amount' object. The amount the caller wants to transfer
+ // to the recipient's count
+ amount: Amount;
+
+ // The id of this wire transfer
+ wtid: base32;
+
+ // The sender's account identificator
+ debit_account: number;
+
+ // The recipient's account identificator
+ credit_account: number;
+
+ }
+
+.. _BankIncomingError:
+.. code-block:: tsref
+
+ interface BankIncomingError {
+
+ // Human readable explanation of the failure.
+ reason: string
+
+ }
+
+--------
+Util API
+--------
+
+Whenever the user wants to know the bank account number of a public account,
+the following path returns a human readable HTML containing this information
+
+ `/public-accounts/details?account=accountName`