taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

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