taler-docs

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

patch-management-instances-INSTANCE.rst (3851B)


      1 .. http:patch:: /management/instances/$INSTANCE
      2 .. http:patch:: [/instances/$INSTANCE]/private
      3 
      4   Update the configuration of a merchant instance.  PATCH operations against
      5   an instance are authenticated by checking that an authorization is provided
      6   that matches either the credential required by the instance being modified
      7   OR the ``admin`` instance, depending on the access path used.
      8 
      9   **Required permission:** ``instances-token-write``
     10 
     11   **Request**
     12 
     13   The request must be a `InstanceReconfigurationMessage`.
     14   Removing an existing ``payto_uri`` deactivates
     15   the account (it will no longer be used for future contracts).
     16 
     17   **Response:**
     18 
     19   :http:statuscode:`204 No content`:
     20     The backend has successfully created the instance.
     21   :http:statuscode:`400 Bad Request`:
     22     The request body is malformed or a parameter is invalid.
     23     Returned with ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` or
     24     ``TALER_EC_GENERIC_PARAMETER_MISSING``.
     25   :http:statuscode:`404 Not found`:
     26     This instance is unknown and thus cannot be reconfigured.
     27   :http:statuscode:`409 Conflict`:
     28     The instance configuration requires a purge before it can be changed.
     29     Returned with ``TALER_EC_MERCHANT_PRIVATE_PATCH_INSTANCE_PURGE_REQUIRED``.
     30   :http:statuscode:`500 Internal Server Error`:
     31     The server experienced an internal failure.
     32     Returned with ``TALER_EC_GENERIC_DB_STORE_FAILED``.
     33 
     34   **Details:**
     35 
     36   .. ts:def:: InstanceReconfigurationMessage
     37 
     38     interface InstanceReconfigurationMessage {
     39 
     40       // Merchant name corresponding to this instance.
     41       name: string;
     42 
     43       // Merchant email for customer contact and password reset.
     44       email?: string;
     45 
     46       // Merchant phone number for password reset (2-FA)
     47       // @since **v21**.
     48       phone_number?: string;
     49 
     50       // Merchant public website.
     51       website?: string;
     52 
     53       // Merchant logo.
     54       logo?: ImageDataUrl;
     55 
     56       // The merchant's physical address (to be put into contracts).
     57       address: Location;
     58 
     59       // The jurisdiction under which the merchant conducts its business
     60       // (to be put into contracts).
     61       jurisdiction: Location;
     62 
     63       // Use STEFAN curves to determine default fees?
     64       // If false, no fees are allowed by default.
     65       // Can always be overridden by the frontend on a per-order basis.
     66       use_stefan: boolean;
     67 
     68       // If the frontend does NOT specify a payment deadline, how long should
     69       // offers we make be valid by default?
     70       // A value of "forever" is not allowed.
     71       // Optional @since **v22** (before the setting was mandatory).
     72       // If not provided, the previous setting will now simply be preserved.
     73       default_pay_delay?: RelativeTime;
     74 
     75       // If the frontend does NOT specify a refund deadline, how long should
     76       // refunds be allowed by default? Added on top of the payment deadline.
     77       // A value of "forever" is not allowed.
     78       // @since **v22**
     79       default_refund_delay?: RelativeTime;
     80 
     81       // If the frontend does NOT specify an execution date, how long should
     82       // we tell the exchange to wait to aggregate transactions before
     83       // executing the wire transfer?  This delay is added on top of
     84       // the refund deadline and afterwards subject to rounding
     85       // via the ``default_wire_transfer_rounding_interval``.
     86       // A value of "forever" is not allowed.
     87       // Optional @since **v22** (before the setting was mandatory).
     88       // If not provided, the previous setting will now simply be preserved.
     89       default_wire_transfer_delay?: RelativeTime;
     90 
     91       // How far should the wire deadline (if computed with the help of
     92       // the ``default_wire_transfer_delay``) be rounded up to compute
     93       // the ultimate wire deadline?
     94       // @since **v22**, defaults to no rounding if not given.
     95       default_wire_transfer_rounding_interval?: RoundingInterval;
     96     }