.. This file is part of GNU TALER. Copyright (C) 2014-2023 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 2.1, or (at your option) any later version. TALER is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with TALER; see the file COPYING. If not, see @author Florian Dold @author Benedikt Muller @author Sree Harsha Totakura @author Marcello Stanisci @author Christian Grothoff --------------------------- Core Protocol Specification --------------------------- This chapter 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. These *protocol specification* defines the HTTP-based, predominantly RESTful interfaces between the core components of Taler. .. toctree:: :maxdepth: 2 api-common api-error api-exchange api-merchant api-auditor api-sync api-taldir api-mailbox api-wire api-bank-merchant api-bank-integration api-bank-access .. toctree:: :hidden: ======== Overview ======== * 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 ` * 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 ` * Taler Merchant Backend Public API **Summary**: Allows communication between merchants and users' wallets. **Providers**: GNU Taler Merchant backend **Consumers**: Wallet :doc:`Docs ` * 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 ` * 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 fakebank, LibEuFin demobank, Banks (that provide extra Taler support) **Consumers**: Taler Wallet :doc:`Docs ` * 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, Taler Fakebank (partial) **Consumers**: Cashier App, demobank-ui :doc:`Docs ` * 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 fakebank, LibEuFin Nexus, Depoloymerization wire gateway **Consumers**: GNU Taler Exchange, Wire Auditor :doc:`Docs ` * 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 :doc:`Docs ` * Taler Auditor API **Summary**: Reporting of certain transactions or potential problems directly to the auditor. **Providers**: GNU Taler Auditor service **Consumers**: GNU Taler Merchant, eventually Taler Wallet :doc:`Docs ` * Taldir API **Summary**: Looking up of Taler mailboxes associated with particular Internet service addresses. **Providers**: GNU TalDir service **Consumers**: GNU Taler Wallet :doc:`Docs ` * Taler Mailbox API **Summary**: Tansmission of encrypted payment messages between Taler wallets. **Providers**: GNU Taler Mailbox service **Consumers**: GNU Taler Wallet :doc:`Docs ` * 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