taler-docs

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

get-private-incoming.rst (3822B)


      1 .. http:get:: [/instances/$INSTANCE]/private/incoming
      2 
      3   Obtain a list of expected incoming wire transfers the backend is
      4   anticipating.
      5   Since protocol **v20**.
      6 
      7   **Required permission:** ``transfers-read``
      8 
      9   **Request:**
     10 
     11   :query payto_uri: *Optional*. Full payto://-URI to filter for transfers to the given bank account (subject and amount MUST NOT be given in the payto:// URI).  Note that the URI must be URL-encoded.
     12 
     13   :query before: *Optional*. Filter for transfers executed before the given timestamp.
     14 
     15   :query after: *Optional*. Filter for transfers executed after the given timestamp.
     16 
     17   :query limit: *Optional*. At most return the given number of results. Negative for descending in execution time, positive for ascending in execution time. Default is ``-20``.
     18 
     19   :query offset: *Optional*. Starting ``expected_transfer_serial_id`` for an iteration.
     20 
     21   :query verified: *Optional*. Filter transfers by verification status (YES: reconcilation worked, NO: reconciliation failed, ALL: default)
     22 
     23   :query confirmed: *Optional*. Filter transfers that were confirmed (YES: credit confirmed, NO: credit still pending, ALL: default)
     24 
     25 
     26   **Response:**
     27 
     28   :http:statuscode:`200 OK`:
     29     The body of the response is a `ExpectedTransferListResponse`.
     30   :http:statuscode:`400 Bad Request`:
     31     The authorization header token is malformed.
     32     Returned with ``TALER_EC_GENERIC_PARAMETER_MALFORMED``.
     33   :http:statuscode:`401 Unauthorized`:
     34     The request is unauthorized.
     35     Returned with ``TALER_EC_MERCHANT_GENERIC_UNAUTHORIZED``.
     36   :http:statuscode:`404 Not found`:
     37     The instance is unknown.
     38     Returned with ``TALER_EC_MERCHANT_GENERIC_INSTANCE_UNKNOWN``.
     39   :http:statuscode:`500 Internal Server Error`:
     40     The server experienced an internal failure.
     41     Returned with ``TALER_EC_GENERIC_DB_FETCH_FAILED``.
     42 
     43   **Details:**
     44 
     45   .. ts:def:: ExpectedTransferListResponse
     46 
     47     interface ExpectedTransferListResponse {
     48        // List of all the expected incoming transfers that fit the
     49        // filter that we know.
     50        incoming : ExpectedTransferEntry[];
     51     }
     52 
     53   .. ts:def:: ExpectedTransferEntry
     54 
     55     interface ExpectedTransferEntry {
     56       // How much should be wired to the merchant (minus fees).
     57       expected_credit_amount?: Amount;
     58 
     59       // Raw wire transfer identifier identifying the wire transfer (a base32-encoded value).
     60       wtid: WireTransferIdentifierRawP;
     61 
     62       // Full payto://-URI of the bank account that received the wire transfer.
     63       payto_uri: string;
     64 
     65       // Base URL of the exchange that made the wire transfer.
     66       exchange_url: string;
     67 
     68       // Serial number identifying the expected transfer in the backend.
     69       // Used for filtering via ``offset``.
     70       expected_transfer_serial_id: Integer;
     71 
     72       // Expected time of the execution of the wire transfer
     73       // by the exchange, according to the exchange.
     74       execution_time?: Timestamp;
     75 
     76       // True if we checked the exchange's answer and are happy with
     77       // the reconciation data.
     78       // False if we have an answer and are unhappy, missing if we
     79       // do not have an answer from the exchange.
     80       // Does not imply that the wire transfer was settled (for
     81       // that, see ``confirmed``).
     82       validated: boolean;
     83 
     84       // True if the merchant uses the POST /transfers API to confirm
     85       // that this wire transfer took place (and it is thus not
     86       // something merely claimed by the exchange).
     87       // (a matching entry exists in /private/transfers)
     88       confirmed: boolean;
     89 
     90       // Last HTTP status we received from the exchange, 0 for
     91       // none (incl. timeout)
     92       last_http_status: Integer;
     93 
     94       // Last Taler error code we got from the exchange.
     95       last_ec: ErrorCode;
     96 
     97       // Last error detail we got back from the exchange.
     98       last_error_detail?: string;
     99     }