UNPKG

omnisend-node-sdk

Version:

🔹 Typesafe Omnisend API SDK for Node.js

406 lines (405 loc) • 15.1 kB
import type { OrdersFull, OrdersOutput, PagingLink } from "../data-contracts"; import type { HttpClient, RequestParams } from "../http-client"; export declare class Orders<SecurityDataType = unknown, SafeMode extends true | false = false> { http: HttpClient<SecurityDataType, SafeMode>; constructor(http: HttpClient<SecurityDataType, SafeMode>); /** * No description * * @tags Orders * @name GetOrdersOrderId * @summary Get order's info * @request GET:/orders/{orderID} * @secure */ getOrdersOrderId: (orderId: string, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: OrdersOutput & import("../data-contracts").Orders & { billingAddress?: { firstName?: string | undefined; lastName?: string | undefined; company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; shippingAddress?: { firstName?: string | undefined; lastName?: string | undefined; /** @default "Request timeout" */ company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; products?: { productID: string; sku?: string | undefined; variantID: string; variantTitle?: string | undefined; title: string; vendor?: string | undefined; quantity: number; price: number; discount?: number | undefined; weight?: number | undefined; imageUrl?: string | undefined; /** @default "Bad Request - invalid parameters, fields or filters" */ productUrl?: string | undefined; categoryIDs?: string[] | undefined; tags?: string[] | undefined; }[] | undefined; }; } : OrdersOutput & import("../data-contracts").Orders & { billingAddress?: { firstName?: string | undefined; lastName?: string | undefined; company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; shippingAddress?: { firstName?: string | undefined; lastName?: string | undefined; /** @default "Request timeout" */ company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; products?: { productID: string; sku?: string | undefined; variantID: string; variantTitle?: string | undefined; title: string; vendor?: string | undefined; quantity: number; price: number; discount?: number | undefined; weight?: number | undefined; imageUrl?: string | undefined; /** @default "Bad Request - invalid parameters, fields or filters" */ productUrl?: string | undefined; categoryIDs?: string[] | undefined; tags?: string[] | undefined; }[] | undefined; }>; /** * @description Replace (update) existing order. All stored order data will be overwriten with request data. This method used to replace order with all its data. * * @tags Orders * @name PutOrdersOrderId * @summary Replace order * @request PUT:/orders/{orderID} * @secure */ putOrdersOrderId: (orderId: string, data: OrdersFull, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: { orderID: string; /** * email or/and phone are required * @format email */ email?: string | undefined; /** email or/and phone are required */ phone?: string | undefined; }; } : { orderID: string; /** * email or/and phone are required * @format email */ email?: string | undefined; /** email or/and phone are required */ phone?: string | undefined; }>; /** * @description Update order status. * * @tags Orders * @name PatchOrdersOrderId * @summary Update order status * @request PATCH:/orders/{orderID} * @secure */ patchOrdersOrderId: (orderId: string, data: { trackingCode?: string; courierTitle?: string; /** @format uri */ courierUrl?: string; /** Please view description for available statuses. You need to map your status with our statuses. */ paymentStatus?: string; /** * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. (example: 2017-05-30T14:11:12Z) * @format date-time */ canceledDate?: string; cancelReason?: string; /** Please view description for available statuses. You need to map your status with our statuses. */ fulfillmentStatus?: string; cartID?: string; }, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: { orderID: string; /** * email or/and phone are required * @format email */ email?: string | undefined; /** email or/and phone are required */ phone?: string | undefined; }; } : { orderID: string; /** * email or/and phone are required * @format email */ email?: string | undefined; /** email or/and phone are required */ phone?: string | undefined; }>; /** * @description **Curl example:** ```php curl -X DELETE "https://api.omnisend.com/v3/orders/4686288" ``` * * @tags Orders * @name DeleteOrdersOrderId * @summary Delete order * @request DELETE:/orders/{orderID} * @secure */ deleteOrdersOrderId: (orderId: string, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: void; } : void>; /** * @description **Sorting:** | **Parameter** | **Sort order** | **Description** | | --- | ---| --- | | createdAt | DESC | sort by order creation date - newest first | | updatedAt | DESC | sort by order update date - newest first | | orderSum | DESC | sort by order total sum - biggest on top | * * @tags Orders * @name GetOrders * @summary List orders * @request GET:/orders * @secure */ getOrders: (query?: { sort?: string; /** * Email address. * @format email */ email?: string; /** Phone number. */ phone?: string; contactID?: string; cartID?: string; /** * Update date from. Format: YYYY-MM_DD * @format date-time */ dateFrom?: string; /** * Update date to. Format: YYYY-MM-DD * @format date-time */ dateTo?: string; paymentStatus?: string; fulfillmentStatus?: string; /** * Number of results to skip. Default is 0. * @min 0 * @default 0 */ offset?: number; /** * Number of results to fetch. Default is 100, max 250. * @min 1 * @max 250 * @default 100 */ limit?: number; }, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: { orders?: (OrdersOutput & import("../data-contracts").Orders & { billingAddress?: { firstName?: string | undefined; lastName?: string | undefined; company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; shippingAddress?: { firstName?: string | undefined; lastName?: string | undefined; /** @default "Request timeout" */ company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; products?: { productID: string; sku?: string | undefined; variantID: string; variantTitle?: string | undefined; title: string; vendor?: string | undefined; quantity: number; price: number; discount?: number | undefined; weight?: number | undefined; imageUrl?: string | undefined; /** @default "Bad Request - invalid parameters, fields or filters" */ productUrl?: string | undefined; categoryIDs?: string[] | undefined; tags?: string[] | undefined; }[] | undefined; })[] | undefined; paging?: PagingLink | undefined; }; } : { orders?: (OrdersOutput & import("../data-contracts").Orders & { billingAddress?: { firstName?: string | undefined; lastName?: string | undefined; company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; shippingAddress?: { firstName?: string | undefined; lastName?: string | undefined; /** @default "Request timeout" */ company?: string | undefined; phone?: string | undefined; country?: string | undefined; countryCode?: string | undefined; state?: string | undefined; stateCode?: string | undefined; city?: string | undefined; address?: string | undefined; address2?: string | undefined; postalCode?: string | undefined; } | undefined; products?: { productID: string; sku?: string | undefined; variantID: string; variantTitle?: string | undefined; title: string; vendor?: string | undefined; quantity: number; price: number; discount?: number | undefined; weight?: number | undefined; imageUrl?: string | undefined; /** @default "Bad Request - invalid parameters, fields or filters" */ productUrl?: string | undefined; categoryIDs?: string[] | undefined; tags?: string[] | undefined; }[] | undefined; })[] | undefined; paging?: PagingLink | undefined; }>; /** * @description While posting new order `email` or/and `phone` or/and `contactID` must be provided. * * @tags Orders * @name PostOrders * @summary Create new order * @request POST:/orders * @secure */ postOrders: (data: { orderID: string; /** * email or/and phone or contactID are required * @format email */ email?: string; /** email or/and phone or contactID are required */ phone?: string; /** email or/and phone or contactID are required */ contactID?: string; } & OrdersFull, params?: RequestParams) => Promise<SafeMode extends true ? { success: false; error?: string | undefined; } | { success: true; data: { orderID: string; /** * email or/and phone are required * @format email */ email?: string | undefined; /** email or/and phone are required */ phone?: string | undefined; }; } : { orderID: string; /** * email or/and phone are required * @format email */ email?: string | undefined; /** email or/and phone are required */ phone?: string | undefined; }>; }