taler-docs

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

api-mailbox.rst (2639B)


      1 ..
      2   This file is part of GNU TALER.
      3   Copyright (C) 2022 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 3.0, 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 Christian Grothoff
     17 
     18 .. _api-mailbox:
     19 
     20 ===================
     21 Mailbox RESTful API
     22 ===================
     23 
     24 This is the API documentation for the GNU Taler Mailbox service which allows Taler
     25 wallets to securely send push and pull payment requests to other wallets
     26 without having to interact with the respective messaging service.
     27 
     28 Clients (wallets) are expected to generate mailbox keys that uniquely identify
     29 a mailbox as well as encryption keys that can be used to encrypt messages for
     30 the mailbox (e.g. `HPKE <https://www.rfc-editor.org/rfc/rfc9180.html>`_).
     31 Mailboxes must be registered along with their public key information.
     32 Registration may incur costs depending on the mailbox service provider used.
     33 
     34 The API specified here follows the :ref:`general conventions <http-common>`
     35 for all details not specified in the individual requests.
     36 The `glossary <https://docs.taler.net/taler-developer-manual.html#developer-glossary>`_
     37 defines all specific terms used in this section.
     38 
     39 
     40 
     41 ---------------
     42 Version History
     43 ---------------
     44 
     45 The current protocol version is **v0**.
     46 
     47 * Wallet-core uses this API to exchange push and pull payment requests after
     48   mailbox initialization.
     49 
     50 **Version history:**
     51 
     52 * ``v0``: Initial version.
     53 
     54 **Upcoming versions:**
     55 
     56 * None anticipated.
     57 
     58 **Ideas for future version:**
     59 
     60 * ``vXXX``: marker for features not yet targeted for release
     61 
     62 
     63 .. include:: tos.rst
     64 
     65 -------------------------
     66 Configuration information
     67 -------------------------
     68 
     69 .. include:: mailbox/get-config.rst
     70 
     71 ---------------------------------
     72 Mailbox registration and metadata
     73 ---------------------------------
     74 
     75 .. include:: mailbox/get-info-H_MAILBOX.rst
     76 
     77 
     78 .. include:: mailbox/post-register.rst
     79 
     80 ----------------
     81 Sending messages
     82 ----------------
     83 
     84 .. include:: mailbox/post-H_MAILBOX.rst
     85 
     86 ------------------
     87 Receiving messages
     88 ------------------
     89 
     90 .. include:: mailbox/get-H_MAILBOX.rst
     91 
     92 .. include:: mailbox/delete-ADDRESS.rst