summaryrefslogtreecommitdiff
path: root/api-overview.rst
blob: 281591f65fe7f08f8497a80bcd58c660ec831630 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
===========================
Taler Project API Ecosystem
===========================

This page 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.

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 <core/api-exchange>`

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 <core/api-exchange>`

Taler Merchant Backend Public API
=================================

**Summary**: Allows communication between merchants and users' wallets.

**Providers**: GNU Taler Merchant backend

**Consumers**: Wallet

:doc:`Docs <core/api-merchant>`

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 <core/api-merchant>`

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 Exchange fakebank, LibEuFin demobank, Banks (that provide extra Taler support)

**Consumers**: Taler Wallet

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

**Consumers**: Cashier App, demobank-ui

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 Exchange fakebank, LibEuFin Nexus, (deprecated) PyBank

**Consumers**: GNU Taler Exchange, Wire Auditor (?)

x-taler-bank API
================

**Summary**: Protocol for testing/examples to access a bank account (transactions, payment initiation)

**Providers**: Taler Fakebank (?)

**Consumers**: ??

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

Taler Auditor API
=================

TBD.

Taldir API
==========

TBD.

Taler Mailbox API
=================

TBD.

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