taler-docs

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

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