api-overview.rst (5897B)
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, Cyclos adapter, Depolymerization adapters 82 83 * **Consumers**: GNU Taler Exchange, Wire Auditor 84 85 * :doc:`Docs <api-bank-wire>` 86 87 .. rubric:: Taler Wire Transfer Gateway API 88 89 * **Summary**: Allows Taler clients to prepared wire transfers, enabling recurring wire transfers and optimized transfer flow. 90 91 * **Providers**: LibEuFin Nexus, Cyclos adapter, Depolymerization adapters. 92 93 * **Consumers**: Taler Wallet 94 95 * :doc:`Docs <api-bank-wire-transfer>` 96 97 .. rubric:: Taler Bank Revenue API 98 99 * **Summary**: Offered by banks to provide clients the ability to download credit transaction histories. 100 * **Providers**: Taler fakebank, LibEuFin bank, LibEuFin Nexus, Cyclos adapter, Depolymerization adapters, Banks (that provide extra Taler support) 101 * **Consumers**: Taler Merchant, GNU Anastasis 102 * :doc:`Docs <api-bank-revenue>` 103 104 105 .. rubric:: Taler Sync API 106 107 * **Summary**: Encrypted Data blob storage and retrieval API with payments for storage handled by GNU Taler payments. 108 109 * **Providers**: GNU Taler Sync service 110 111 * **Consumers**: Taler Wallet 112 113 * :doc:`Docs <api-sync>` 114 115 .. rubric:: Taler Auditor API 116 117 * **Summary**: Reporting of certain transactions or potential problems directly to the auditor. 118 * **Providers**: GNU Taler Auditor service 119 * **Consumers**: GNU Taler Merchant, eventually Taler Wallet 120 * :doc:`Docs <api-auditor>` 121 122 .. rubric:: Taldir API 123 124 * **Summary**: Looking up of Taler mailboxes associated with particular Internet service addresses. 125 * **Providers**: GNU TalDir service 126 * **Consumers**: GNU Taler Wallet 127 * :doc:`Docs <api-taldir>` 128 129 .. rubric:: Taler Mailbox API 130 131 * **Summary**: Tansmission of encrypted payment messages between Taler wallets. 132 * **Providers**: GNU Taler Mailbox service 133 * **Consumers**: GNU Taler Wallet 134 * :doc:`Docs <api-mailbox>` 135 136 .. rubric:: Anastasis Provider Public API 137 138 * **Summary**: Backup for secret splitting backup and recovery with GNU Anastasis providers. 139 * **Providers**: GNU Anastasis providers 140 * **Consumers**: Anastasis core client implementations (C implementation, TypeScript implementation) 141 142 .. rubric:: Anastasis Reducer API 143 144 * **Summary**: API used to step through the backup and recovery process of GNU Anastasis. 145 * **Providers**: Anastasis core client implementations (C implementation, TypeScript implementation) 146 * **Consumers**: Anastasis UIs (CLI, GTK, anastasis-webui) 147 148 .. rubric:: LibEuFin Nexus API 149 150 * **Summary**: API used to configure and access LibEuFin nexus, a generic server that supports multiple protocols to access a bank account. 151 152 * **Providers**: LibEuFin Nexus service 153 154 * **Consumers**: ``libeufin-cli``, (future) LibEuFin Web UI 155 156 .. rubric:: EBICS 157 158 * **Summary**: Allows businesses/banks/consumers to exchange data with a bank's core banking system. 159 * **Consumers**: LibEuFin Nexus 160 * **Providers**: libeufin-bank, Banks