taler-docs

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

commit f82872ca7ceb404118c269d0b2b4aa47366d8d8d
parent 85ca940b44550789a65aa3972f1a6ea7f67fe126
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 16 Feb 2025 11:38:17 +0100

specify API for #9548

Diffstat:
Mcore/api-exchange.rst | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 79 insertions(+), 2 deletions(-)

diff --git a/core/api-exchange.rst b/core/api-exchange.rst @@ -1,6 +1,6 @@ .. This file is part of GNU TALER. - Copyright (C) 2014-2024 Taler Systems SA + Copyright (C) 2014-2025 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 @@ -60,7 +60,7 @@ possibly by using HTTPS. as well as the list of possible KYC requirements. This endpoint is largely for the SPA for AML officers. Merchants should use ``/keys`` which also contains the protocol version and currency. - This specification corresponds to ``current`` protocol being **v24**. + This specification corresponds to ``current`` protocol being **v25**. **Response:** @@ -6164,6 +6164,83 @@ and freeze or unfreeze accounts suspected of money laundering. } + +.. http:get:: /aml/$OFFICER_PUB/transactions-credit +.. http:get:: /aml/$OFFICER_PUB/transactions-debit + + Obtain exchange's bank account transaction history data. Shows effective + incoming wire transfers or (credit) effective outgoing (aggregated, closed) + wire transfers (debit). Note that KYC auth wire transfers, bounced incoming + wire transfers and drain outgoing wire transfers requests are excluded (as + they are not relevant for AML processes and would just distract). The + wire transfer subject is also not given as in all cases it will just + be some cryptographic data that is meaningless for humans. + + This endpoint was introduced in protocol **v25**. + + **Request:** + + *Taler-AML-Officer-Signature*: + The client must provide Base-32 encoded EdDSA signature with + ``$OFFICER_PRIV``, affirming the desire to obtain AML data. Note that + this is merely a simple authentication mechanism, the details of the + request are not protected by the signature. + + :query threshold: + *Optional*. minimum amount ("CURRENCY:VAL.FRAC") to return. All amounts + below the given threshold will be filtered. + :query limit: + *Optional*. takes value of the form ``N (-N)``, so that at + most ``N`` values strictly older (younger) than ``start`` are returned. + Defaults to ``-20`` to return the last 20 entries (before ``start``). + :query offset: + *Optional*. Row number threshold, see ``delta`` for its + interpretation. Defaults to ``INT64_MAX``, namely the biggest row id + possible in the database. + + **Response:** + + :http:statuscode:`200 OK`: + The responds will be an `ExchangeTransactionList` message. + :http:statuscode:`204 No content`: + There are no matching transactions. + :http:statuscode:`403 Forbidden`: + The signature is invalid. + :http:statuscode:`404 Not found`: + The designated AML account is not known. + :http:statuscode:`409 Conflict`: + The designated AML account is not enabled. + + .. ts:def:: ExchangeTransactionList + + interface ExchangeTransactionList { + + // Matching transaction of the exchange + details: ExchangeTransactionListEntry[]; + + } + + .. ts:def:: ExchangeTransactionListEntry + + interface ExchangeTransactionListEntry { + + // Row ID of the record. Used to filter by offset. + rowid: Integer; + + // payto://-URI of the other account. + payto_uri: string; + + // The amount involved. + amount: Amount; + + // Time when the transaction was made + execution_time: Timestamp; + + } + + + + --------------- Reserve control ---------------