taler-docs

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

post-management-wire.rst (2294B)


      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:`403 Forbidden`:
     14     The master signature is invalid.
     15   :http:statuscode:`409 Conflict`:
     16     The exchange has a more recent request related to this wire method (replay detected).
     17 
     18   **Details:**
     19 
     20   .. ts:def:: WireSetupRequest
     21 
     22     interface WireSetupRequest {
     23 
     24       // Full ``payto://`` URL identifying the account and wire method
     25       payto_uri: string;
     26 
     27       // Signature using the exchange's offline key
     28       // over a `TALER_MasterWireDetailsPS`
     29       // with purpose ``TALER_SIGNATURE_MASTER_WIRE_DETAILS``.
     30       master_sig_wire: EddsaSignature;
     31 
     32       // Signature using the exchange's offline key over a
     33       // `TALER_MasterAddWirePS`
     34       // with purpose ``TALER_SIGNATURE_MASTER_WIRE_ADD``.
     35       master_sig_add: EddsaSignature;
     36 
     37       // When does the wire method become active?
     38       // Should be the time when the signature was created,
     39       // using the (monotonic!) local time of the system
     40       // with the offline master public key. Note that
     41       // even if the time is in the future, the wire method will
     42       // become active immediately! Used ONLY to detect replay attacks.
     43       validity_start: Timestamp;
     44 
     45       // Base URL of a conversion service.
     46       // Only given if available.
     47       conversion_url?: string;
     48 
     49       // Base URL of a open banking gateway service.
     50       // Only given if available.
     51       open_banking_gateway?: string;
     52 
     53       // Base URL of a wire transfer gateway service.
     54       // Only given if available.
     55       wire_transfer_gateway?: string;
     56 
     57       // Restrictions imposed on crediting the account.
     58       credit_restrictions: AccountRestriction[];
     59 
     60       // Restrictions imposed on debiting the account.
     61       debit_restrictions: AccountRestriction[];
     62 
     63       // Display label wallets should use to show this
     64       // bank account.
     65       // @since protocol **v19**.
     66       bank_label?: string;
     67 
     68       // *Signed* integer with the display priority for
     69       // this bank account.
     70       // @since protocol **v19**.
     71       priority?: Integer;
     72 
     73     }