omnisend-node-sdk
Version:
🔹 Typesafe Omnisend API SDK for Node.js
406 lines (405 loc) • 15.1 kB
TypeScript
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;
}>;
}