\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename taler-bank.info @documentencoding UTF-8 @ifinfo @*Generated by Sphinx 3.4.3.@* @end ifinfo @settitle Taler Bank Manual @defindex ge @paragraphindent 0 @exampleindent 4 @finalout @dircategory CATEGORY @direntry * MENU ENTRY: (taler-bank.info). DESCRIPTION @end direntry @definfoenclose strong,`,' @definfoenclose emph,`,' @c %**end of header @copying @quotation GNU Taler 0.9.0, Jul 06, 2022 GNU Taler team Copyright @copyright{} 2014-2022 Taler Systems SA (GPLv3+ or GFDL 1.3+) @end quotation @end copying @titlepage @title Taler Bank Manual @insertcopying @end titlepage @contents @c %** start of user preamble @c %** end of user preamble @ifnottex @node Top @top Taler Bank Manual @insertcopying @end ifnottex @c %**start of body @anchor{taler-bank-manual doc}@anchor{0} @menu * Introduction:: * Headless Testing API Reference:: @detailmenu --- The Detailed Node Listing --- Introduction * About GNU Taler:: * About this manual:: @end detailmenu @end menu @node Introduction,Headless Testing API Reference,Top,Top @anchor{taler-bank-manual gnu-taler-bank-manual}@anchor{1}@anchor{taler-bank-manual introduction}@anchor{2} @chapter Introduction @menu * About GNU Taler:: * About this manual:: @end menu @node About GNU Taler,About this manual,,Introduction @anchor{taler-bank-manual about-gnu-taler}@anchor{3} @section About GNU Taler GNU Taler is an open protocol for an electronic payment system with a free software reference implementation. GNU Taler offers secure, fast and easy payment processing using well understood cryptographic techniques. GNU Taler allows customers to remain anonymous, while ensuring that merchants can be held accountable by governments. Hence, GNU Taler is compatible with anti-money-laundering (AML) and know-your-customer (KYC) regulation, as well as data protection regulation (such as GDPR). @node About this manual,,About GNU Taler,Introduction @anchor{taler-bank-manual about-this-manual}@anchor{4} @section About this manual This manual documents how the demonstrator bank interoperates with the other GNU Taler components. The demonstrator bank implements a simple closed banking system for the purpose of illustrating how GNU Taler works in the Taler demo. It could also be used as a starting point for a local/regional currency. Finally, “real” banks might use it as a reference implementation for a tight integration with the GNU Taler wallet. @node Headless Testing API Reference,,Introduction,Top @anchor{taler-bank-manual headless-testing-api-reference}@anchor{5} @chapter Headless Testing API Reference The demonstrator bank offers the following APIs to allow automated testing. These APIs should be switched off during a production deployment. @anchor{taler-bank-manual bank-register}@anchor{6} @anchor{taler-bank-manual post--register}@anchor{7} @deffn {HTTP Post} POST /register This API provides programmatic user registration at the bank. @strong{Request} The body of this request must have the format of a @ref{8,,BankRegistrationRequest}. @strong{Response} @table @asis @item 200 OK@footnote{http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1}: The new user has been correctly registered. @item 409 Conflict@footnote{http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.10}: The username requested by the client is not available anymore. @item 400 Bad request@footnote{http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1}: Unacceptable characters were given for the username. See @indicateurl{https://docs.djangoproject.com/en/2.2/ref/contrib/auth/#django.contrib.auth.models.User.username} for the accepted character set. @end table @end deffn @strong{Details} @example interface BankRegistrationRequest @{ // Username to use for registration; max length is 150 chars. username: string; // Password to associate with the username. Any characters and // any length are valid; next releases will enforce a minimum length // and a safer characters choice. password: string; @} @end example @anchor{8}@w{ } @anchor{taler-bank-manual tsref-type-BankRegistrationRequest}@w{ } @c %**end of body @bye