taler-docs

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

post-management-global-fees.rst (2829B)


      1 .. http:post:: /management/global-fees
      2 
      3   Provides global fee configuration for a timeframe.
      4 
      5   **Request:**
      6 
      7   The request must be a `GlobalFeesRequest` message.
      8 
      9   **Response:**
     10 
     11   :http:statuscode:`204 No content`:
     12     The configuration update has been processed successfully. The body is empty.
     13   :http:statuscode:`403 Forbidden`:
     14     The signature is invalid. Returned with an error code
     15     of ``TALER_EC_EXCHANGE_MANAGEMENT_GLOBAL_FEE_SIGNATURE_INVALID``.
     16   :http:statuscode:`409 Conflict`:
     17     The exchange has previously received a conflicting configuration message.
     18     Returned with an error code of
     19     ``TALER_EC_EXCHANGE_MANAGEMENT_GLOBAL_FEE_MISMATCH``.
     20   :http:statuscode:`413 Request entity too large`:
     21     The uploaded body is to long, it exceeds the size limit.
     22     Returned with an error code of
     23     ``TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT``.
     24   :http:statuscode:`500 Internal Server Error`:
     25     The server experienced an internal error.
     26     This response comes with a standard `ErrorDetail` response.
     27     Possible error codes include
     28     ``TALER_EC_GENERIC_DB_FETCH_FAILED`` or
     29     ``TALER_EC_GENERIC_DB_STORE_FAILED``.
     30 
     31   **Details:**
     32 
     33   .. ts:def:: GlobalFeesRequest
     34 
     35     interface GlobalFeesRequest {
     36 
     37       // Signature of `TALER_GlobalFeesPS`.
     38       master_sig: EddsaSignature;
     39 
     40       // What date (inclusive) does these fees go into effect?
     41       fee_start: Timestamp;
     42 
     43       // What date (exclusive) does this fees stop going into effect?
     44       fee_end: Timestamp;
     45 
     46       // Account history fee, charged when a user wants to
     47       // obtain a reserve/account history.
     48       history_fee: Amount;
     49 
     50       // Annual fee charged for having an open account at the
     51       // exchange.  Charged to the account.  If the account
     52       // balance is insufficient to cover this fee, the account
     53       // is automatically deleted/closed. (Note that the exchange
     54       // will keep the account history around for longer for
     55       // regulatory reasons.)
     56       account_fee: Amount;
     57 
     58       // Purse fee, charged only if a purse is abandoned
     59       // and was not covered by the account limit.
     60       purse_fee: Amount;
     61 
     62       // How long will the exchange preserve the account history?
     63       // After an account was deleted/closed, the exchange will
     64       // retain the account history for legal reasons until this time.
     65       history_expiration: RelativeTime;
     66 
     67       // Non-negative number of concurrent purses that any
     68       // account holder is allowed to create without having
     69       // to pay the purse_fee.
     70       purse_account_limit: Integer;
     71 
     72       // How long does an exchange keep a purse around after a purse
     73       // has expired (or been successfully merged)?  A 'GET' request
     74       // for a purse will succeed until the purse expiration time
     75       // plus this value.
     76       purse_timeout: RelativeTime;
     77 
     78     }