taler-docs

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

post-management-wire.rst (3080B)


      1 .. http:post:: /management/wire
      2 
      3   This request will be used to enable a wire method (exchange bank account).
      4 
      5   **Request:**
      6 
      7   The request must be a `WireSetupRequest`.
      8 
      9   **Response:**
     10 
     11   :http:statuscode:`204 No content`:
     12     The wire method was successfully enabled.
     13   :http:statuscode:`400 Bad Request`:
     14     The payto URI or another parameter is malformed.
     15     This response comes with a standard `ErrorDetail` response with
     16     a code of ``TALER_EC_GENERIC_PAYTO_URI_MALFORMED`` or
     17     ``TALER_EC_GENERIC_PARAMETER_MALFORMED``.
     18   :http:statuscode:`403 Forbidden`:
     19     A master signature is invalid. Return with error codes of:
     20     - ``TALER_EC_EXCHANGE_MANAGEMENT_WIRE_ADD_SIGNATURE_INVALID``
     21     - ``TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DETAILS_SIGNATURE_INVALID``
     22   :http:statuscode:`409 Conflict`:
     23     The exchange has a more recent request related to this wire method (replay detected).
     24     Returned with an error code of
     25     ``TALER_EC_EXCHANGE_MANAGEMENT_WIRE_MORE_RECENT_PRESENT``.
     26   :http:statuscode:`413 Request entity too large`:
     27     The uploaded body is to long, it exceeds the size limit.
     28     Returned with an error code of
     29     ``TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT``.
     30 
     31 
     32   **Details:**
     33 
     34   .. ts:def:: WireSetupRequest
     35 
     36     interface WireSetupRequest {
     37 
     38       // Full ``payto://`` URL identifying the account and wire method
     39       payto_uri: string;
     40 
     41       // Signature using the exchange's offline key
     42       // over a `TALER_MasterWireDetailsPS`
     43       // with purpose ``TALER_SIGNATURE_MASTER_WIRE_DETAILS``.
     44       master_sig_wire: EddsaSignature;
     45 
     46       // Signature using the exchange's offline key over a
     47       // `TALER_MasterAddWirePS`
     48       // with purpose ``TALER_SIGNATURE_MASTER_WIRE_ADD``.
     49       master_sig_add: EddsaSignature;
     50 
     51       // When does the wire method become active?
     52       // Should be the time when the signature was created,
     53       // using the (monotonic!) local time of the system
     54       // with the offline master public key. Note that
     55       // even if the time is in the future, the wire method will
     56       // become active immediately! Used ONLY to detect replay attacks.
     57       validity_start: Timestamp;
     58 
     59       // Base URL of a conversion service.
     60       // Only given if available.
     61       conversion_url?: string;
     62 
     63       // Base URL of a open banking gateway service.
     64       // Only given if available.
     65       // @since protocol **v34**.
     66       open_banking_gateway?: string;
     67 
     68       // Base URL of a wire transfer gateway service.
     69       // Only given if available.
     70       // @since protocol **v34**.
     71       wire_transfer_gateway?: string;
     72 
     73       // Restrictions imposed on crediting the account.
     74       credit_restrictions: AccountRestriction[];
     75 
     76       // Restrictions imposed on debiting the account.
     77       debit_restrictions: AccountRestriction[];
     78 
     79       // Display label wallets should use to show this
     80       // bank account.
     81       // @since protocol **v19**.
     82       bank_label?: string;
     83 
     84       // *Signed* integer with the display priority for
     85       // this bank account.
     86       // @since protocol **v19**.
     87       priority?: Integer;
     88 
     89     }