api-overview.rst (5502B)
1 .. 2 This file is part of GNU TALER. 3 Copyright (C) 2014-2023 Taler Systems SA 4 5 TALER is free software; you can redistribute it and/or modify it under the 6 terms of the GNU Affero General Public License as published by the Free Software 7 Foundation; either version 2.1, or (at your option) any later version. 8 9 TALER is distributed in the hope that it will be useful, but WITHOUT ANY 10 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. 12 13 You should have received a copy of the GNU Affero General Public License along with 14 TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> 15 16 @author Florian Dold 17 @author Benedikt Muller 18 @author Sree Harsha Totakura 19 @author Marcello Stanisci 20 @author Christian Grothoff 21 22 ======== 23 Overview 24 ======== 25 26 .. rubric:: Taler Exchange Public API 27 28 * **Summary**: Public API for the payment service provider component of GNU Taler. 29 * **Providers**: GNU Taler Exchange 30 * **Consumers**: Wallet, Merchant 31 * :doc:`Docs <api-exchange>` 32 33 .. rubric:: Taler Exchange Management API 34 35 * **Summary**: Management API for the payment service provider component of GNU Taler. 36 * **Providers**: GNU Taler Exchange 37 * **Consumers**: Exchange tooling (``taler-exchange-offline``), Auditor 38 * :doc:`Docs <api-exchange>` 39 40 .. rubric:: Taler Merchant Backend Public API 41 42 * **Summary**: Allows communication between merchants and users' wallets. 43 * **Providers**: GNU Taler Merchant backend 44 * **Consumers**: Wallet 45 * :doc:`Docs <api-merchant>` 46 47 .. rubric:: Taler Merchant Backend Private API 48 49 * **Summary**: Allows the merchant to manage Taler-based payments and related functionality. 50 * **Providers**: GNU Taler Merchant backend 51 * **Consumers**: Merchant's shop Website backend, Merchant PoS app, Merchant Backoffice UI 52 * :doc:`Docs <api-merchant>` 53 54 .. rubric:: Taler Wallet Core API 55 56 * **Summary**: API to access functionality of the Taler Wallet service running locally on user's devices. 57 * **Providers**: wallet-core 58 * **Consumers**: UIs for the GNU Taler wallet 59 60 .. rubric:: Core Bank API 61 62 * **Summary**: Protocol to manage a simple core bank with optional regional 63 currency support. Allows access to a bank account by the owner of the 64 account. The owner can access the account balance, transaction list, and initate 65 payments. 66 * **Providers**: LibEuFin bank, Taler Fakebank (partial) 67 * **Consumers**: Cashier App, bank-ui 68 * :doc:`Docs <api-corebank>` 69 70 .. rubric:: Taler Bank Integration API 71 72 * **Summary**: Offered by banks to provide the wallet/user with more information about ongoing withdrawals of Taler digital cash. 73 * **Providers**: Taler fakebank, LibEuFin bank, Banks (that provide extra Taler support) 74 * **Consumers**: Taler Wallet 75 * :doc:`Docs <api-bank-integration>` 76 77 .. rubric:: Taler Wire Gateway API 78 79 * **Summary**: Allows the Taler Exchange to query incoming transactions and initiate payments with a protocol that abstracts away details of the underlying banking system. 80 81 * **Providers**: Taler fakebank, LibEuFin Nexus, Depoloymerization wire gateway 82 83 * **Consumers**: GNU Taler Exchange, Wire Auditor 84 85 * :doc:`Docs <api-bank-wire>` 86 87 .. rubric:: Taler Bank Revenue API 88 89 * **Summary**: Offered by banks to provide clients the ability to download credit transaction histories. 90 * **Providers**: Taler fakebank, LibEuFin bank, Banks (that provide extra Taler support) 91 * **Consumers**: Taler Merchant, GNU Anastasis 92 * :doc:`Docs <api-bank-revenue>` 93 94 95 .. rubric:: Taler Sync API 96 97 * **Summary**: Encrypted Data blob storage and retrieval API with payments for storage handled by GNU Taler payments. 98 99 * **Providers**: GNU Taler Sync service 100 101 * **Consumers**: Taler Wallet 102 103 * :doc:`Docs <api-sync>` 104 105 .. rubric:: Taler Auditor API 106 107 * **Summary**: Reporting of certain transactions or potential problems directly to the auditor. 108 * **Providers**: GNU Taler Auditor service 109 * **Consumers**: GNU Taler Merchant, eventually Taler Wallet 110 * :doc:`Docs <api-auditor>` 111 112 .. rubric:: Taldir API 113 114 * **Summary**: Looking up of Taler mailboxes associated with particular Internet service addresses. 115 * **Providers**: GNU TalDir service 116 * **Consumers**: GNU Taler Wallet 117 * :doc:`Docs <api-taldir>` 118 119 .. rubric:: Taler Mailbox API 120 121 * **Summary**: Tansmission of encrypted payment messages between Taler wallets. 122 * **Providers**: GNU Taler Mailbox service 123 * **Consumers**: GNU Taler Wallet 124 * :doc:`Docs <api-mailbox>` 125 126 .. rubric:: Anastasis Provider Public API 127 128 * **Summary**: Backup for secret splitting backup and recovery with GNU Anastasis providers. 129 * **Providers**: GNU Anastasis providers 130 * **Consumers**: Anastasis core client implementations (C implementation, TypeScript implementation) 131 132 .. rubric:: Anastasis Reducer API 133 134 * **Summary**: API used to step through the backup and recovery process of GNU Anastasis. 135 * **Providers**: Anastasis core client implementations (C implementation, TypeScript implementation) 136 * **Consumers**: Anastasis UIs (CLI, GTK, anastasis-webui) 137 138 .. rubric:: LibEuFin Nexus API 139 140 * **Summary**: API used to configure and access LibEuFin nexus, a generic server that supports multiple protocols to access a bank account. 141 142 * **Providers**: LibEuFin Nexus service 143 144 * **Consumers**: ``libeufin-cli``, (future) LibEuFin Web UI 145 146 .. rubric:: EBICS 147 148 * **Summary**: Allows businesses/banks/consumers to exchange data with a bank's core banking system. 149 * **Consumers**: LibEuFin Nexus 150 * **Providers**: libeufin-bank, Banks