taler-docs

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

resolve-transaction-reference.rst (1551B)


      1 .. ts:op:: resolveTransactionReference
      2   :read-only:
      3 
      4   Resolve a stable transaction ID, a wallet-local identifier, or an
      5   external withdrawal reference to a stable transaction ID.
      6 
      7   **Request:**
      8 
      9     The request ``args`` must be a `ResolveTransactionReferenceRequest`
     10     object.
     11 
     12   **Response:**
     13 
     14     On success, the result is a `ResolveTransactionReferenceResponse`
     15     object.
     16 
     17   **Expected errors:**
     18 
     19     The caller can handle the following errors inline:
     20     ``WALLET_TRANSACTION_NOT_FOUND``, ``WALLET_CORE_API_BAD_REQUEST``.
     21 
     22   **Details:**
     23 
     24     Three kinds of references are accepted:
     25 
     26     * a stable transaction ID (`TransactionIdStr`), which is returned
     27       unchanged;
     28     * a wallet-local identifier of the form ``#<type>:<localIdent>``,
     29       as reported in the transaction's ``localTransactionId`` field.
     30       Local identifiers are deliberately not portable: importing or
     31       merging a wallet can assign different local identifiers;
     32     * an external, bank-generated withdrawal reference (such as an
     33       LSD 0006 withdrawal-transfer-result reference) that contains
     34       the reserve public key of a withdrawal.  The reference must
     35       match exactly one withdrawal transaction, otherwise the request
     36       fails with ``WALLET_TRANSACTION_NOT_FOUND``.
     37 
     38 .. ts:def:: ResolveTransactionReferenceRequest
     39 
     40   interface ResolveTransactionReferenceRequest {
     41     transactionReference: string;
     42   }
     43 
     44 .. ts:def:: ResolveTransactionReferenceResponse
     45 
     46   interface ResolveTransactionReferenceResponse {
     47     transactionId: TransactionIdStr;
     48   }