@vansite/ts-sharetribe-flex-sdk
Version:
This is a TypeScript SDK for Sharetribe Flex API. It reduces the complexity of the API and provides a more user-friendly interface.
92 lines (91 loc) • 3.95 kB
TypeScript
/**
* @fileoverview Client for managing transactions in the Sharetribe Marketplace API.
*
* Use this to:
* - Query your own transactions
* - Initiate new orders/inquiries
* - Transition transactions (accept, complete, cancel, etc.)
* - Perform speculative transitions (dry-run)
*
* All operations require authentication.
*
* @see https://www.sharetribe.com/api-reference/marketplace.html#transactions
*/
import type { AxiosResponse } from "axios";
import MarketplaceApi from "./index";
import { ExtraParameter, TransactionsInitiateParameter, TransactionsInitiateSpeculativeParameter, TransactionsQueryParameter, TransactionsResponse, TransactionsShowParameter, TransactionsTransitionParameter, TransactionsTransitionSpeculativeParameter } from "../../types";
/**
* Transactions API client (current user)
*/
declare class Transactions {
readonly authRequired = true;
private readonly axios;
private readonly endpoint;
private readonly headers;
constructor(api: MarketplaceApi);
/**
* Fetch a single transaction by ID
*
* @template P
* @param {P & TransactionsShowParameter} params
* @returns {Promise<AxiosResponse<TransactionsResponse<"show", P>>>}
*/
show<P extends TransactionsShowParameter>(params: P): Promise<AxiosResponse<TransactionsResponse<"show", P, {
expand: true;
}>>>;
/**
* Query your own transactions
*
* @template P
* @param {P & TransactionsQueryParameter} params
* @returns {Promise<AxiosResponse<TransactionsResponse<"query", P>>>}
*/
query<P extends TransactionsQueryParameter>(params?: P): Promise<AxiosResponse<TransactionsResponse<"query", P>>>;
/**
* Initiate a new transaction (e.g. place an order)
*
* @template P
* @template EP
* @param {P & TransactionsInitiateParameter} params
* @param {EP} [extraParams]
* @returns {Promise<AxiosResponse<TransactionsResponse<"initiate", P, EP>>>}
*/
initiate<P extends TransactionsInitiateParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"initiate", P, EP>>>;
/**
* Initiate a transaction speculatively (dry-run)
*
* @template P
* @template EP
* @param {P & TransactionsInitiateSpeculativeParameter} params
* @param {EP} [extraParams]
* @returns {Promise<AxiosResponse<TransactionsResponse<"initiateSpeculative", P, EP>>>}
*/
initiateSpeculative<P extends TransactionsInitiateSpeculativeParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"initiateSpeculative", P, EP>>>;
/**
* Transition a transaction to a new state
*
* @template P
* @template EP
* @param {P & TransactionsTransitionParameter} params
* @param {EP} [extraParams]
* @returns {Promise<AxiosResponse<TransactionsResponse<"transition", P, EP>>>}
*
* @example
* await sdk.transactions.transition({
* id: "tx-abc123",
* transition: "transition/confirm-payment"
* });
*/
transition<P extends TransactionsTransitionParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"transition", P, EP>>>;
/**
* Perform a speculative transition (dry-run)
*
* @template P
* @template EP
* @param {P & TransactionsTransitionSpeculativeParameter} params
* @param {EP} [extraParams]
* @returns {Promise<AxiosResponse<TransactionsResponse<"transitionSpeculative", P, EP>>>}
*/
transitionSpeculative<P extends TransactionsTransitionSpeculativeParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"transitionSpeculative", P, EP>>>;
}
export default Transactions;