diff options
-rw-r--r-- | api-overview.rst | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/api-overview.rst b/api-overview.rst new file mode 100644 index 00000000..281591f6 --- /dev/null +++ b/api-overview.rst @@ -0,0 +1,186 @@ +=========================== +Taler Project API Ecosystem +=========================== + +This page describes the APIs used in the GNU Taler project. +It includes both APIs that are pre-existing as well as APIs specific +to the project. + +Taler Exchange Public API +========================= + +**Summary**: Public API for the payment service provider component of GNU Taler. + +**Providers**: GNU Taler Exchange + +**Consumers**: Wallet, Merchant + +:doc:`Docs <core/api-exchange>` + +Taler Exchange Management API +============================= + +**Summary**: Management API for the payment service provider component of GNU Taler. + +**Providers**: GNU Taler Exchange + +**Consumers**: Exchange tooling (``taler-exchange-offline``), Auditor + +:doc:`Docs <core/api-exchange>` + +Taler Merchant Backend Public API +================================= + +**Summary**: Allows communication between merchants and users' wallets. + +**Providers**: GNU Taler Merchant backend + +**Consumers**: Wallet + +:doc:`Docs <core/api-merchant>` + +Taler Merchant Backend Private API +================================== + +**Summary**: Allows the merchant to manage Taler-based payments and related functionality. + +**Providers**: GNU Taler Merchant backend + +**Consumers**: Merchant's shop Website backend, Merchant PoS app, Merchant +Backoffice UI + +:doc:`Docs <core/api-merchant>` + +Taler Wallet Core API +===================== + +**Summary**: API to access functionality of the Taler Wallet service running +locally on user's devices. + +**Providers**: wallet-core + +**Consumers**: UIs for the GNU Taler wallet + +Taler Bank Integration API +========================== + +**Summary**: Offered by banks to provide the wallet/user with more information +about ongoing withdrawals of Taler digital cash. + +**Providers**: Taler Exchange fakebank, LibEuFin demobank, Banks (that provide extra Taler support) + +**Consumers**: Taler Wallet + +Taler Bank Access API +===================== + +**Summary**: Protocol to manage access to a bank account by the owner of the account. +Allows access to account balance, transaction list, payment initiation. + +**Providers**: LibEuFin demobank + +**Consumers**: Cashier App, demobank-ui + +Taler Bank Circuits API +======================= + +**Summary**: Allows management of bank user accounts in a regional +currency bank deployment. + +**Providers**: LibEuFin Sandbox demobank + +**Consumers**: demobank-ui + +Taler Wire Gateway API +====================== + +**Summary**: Allows the Taler Exchange to query incoming transactions +and initiate payments with a protocol that abstracts away details of the underlying +banking system. + +**Providers**: Taler Exchange fakebank, LibEuFin Nexus, (deprecated) PyBank + +**Consumers**: GNU Taler Exchange, Wire Auditor (?) + +x-taler-bank API +================ + +**Summary**: Protocol for testing/examples to access a bank account (transactions, payment initiation) + +**Providers**: Taler Fakebank (?) + +**Consumers**: ?? + +Taler Sync API +============== + +**Summary**: Encrypted Data blob storage and retrieval API with payments for +storage handled by GNU Taler payments. + +**Providers**: GNU Taler Sync service + +**Consumers**: Taler Wallet + +Taler Auditor API +================= + +TBD. + +Taldir API +========== + +TBD. + +Taler Mailbox API +================= + +TBD. + +Anastasis Provider Public API +============================= + +**Summary**: Backup for secret splitting backup and recovery with GNU Anastasis providers. + +**Providers**: GNU Anastasis providers + +**Consumers**: Anastasis core client implementations (C implementation, TypeScript implementation) + +Anastasis Reducer API +===================== + +**Summary**: API used to step through the backup and recovery process of GNU Anastasis. + +**Providers**: Anastasis core client implementations (C implementation, TypeScript implementation) + +**Consumers**: Anastasis UIs (CLI, GTK, anastasis-webui) + +LibEuFin Nexus API +================== + +**Summary**: API used to configure and access LibEuFin nexus, a generic server +that supports multiple protocols to access a bank account. + +**Providers**: LibEuFin Nexus service + +**Consumers**: ``libeufin-cli``, (future) LibEuFin Web UI + +LibEuFin Sandbox API +==================== + +**Summary** API used to configure the LibEuFin sandbox, a simulator +for various protocols related to core banking that would typically offered +by banks. + +**Providers**: LibEuFin Sandbox service + +**Consumers**: ``libeufin-cli``, (future) LibEuFin Web UI + +EBICS +===== + +**Summary**: Allows businesses/banks/consumers to exchange data with a bank's +core banking system. + +**Consumers**: LibEuFin Nexus + +**Providers**: LibEuFin Sandbox, Banks |