Orders API
Manage and track customer orders.
Methods
getOrder
Get an order by ID.
const order = await easy.getOrder("ord_123");
Parameters
orderId(string, required): The ID of the order
Returns
Promise<ApiResponse<OrderData>>;
getOrders
List all orders with optional filtering.
// Get all orders with pagination
const orders = await easy.getOrders({
limit: 50,
offset: 0,
});
// Get specific orders by ID
const specificOrders = await easy.getOrders({
ids: ["ord_123", "ord_456"],
});
Parameters
params(object, optional)ids(string[], optional): Filter by specific order IDslimit(number, optional): Maximum number of orders to returnoffset(number, optional): Number of orders to skip
Returns
Promise<ApiResponse<OrderData[]>>;
updateOrderTags
Update order tags/metadata.
const updated = await easy.updateOrderTags("ord_123", {
status: "fulfilled",
tracking_number: "1Z999AA10123456784",
shipped_at: new Date().toISOString(),
});
Parameters
orderId(string, required): The ID of the ordertags(object, required): Metadata to update
Returns
Promise<ApiResponse<OrderData>>;
getCustomerOrders
Get all orders for a specific customer.
const orders = await easy.getCustomerOrders("cust_123", {
limit: 10,
offset: 0,
});
Parameters
customerId(string, required): The ID of the customerparams(object, optional): Pagination parameters
Returns
Promise<ApiResponse<OrderData[]>>;
Example: Order Fulfillment Workflow
import { createClient } from "@easylabs/node";
const easy = await createClient({
apiKey: process.env.EASY_API_KEY!,
});
// Get order details
const order = await easy.getOrder("ord_123");
// Process fulfillment
const fulfilled = await easy.updateOrderTags(order.data.id, {
status: "processing",
warehouse: "warehouse-1",
picked_at: new Date().toISOString(),
});
// Update with shipping info
const shipped = await easy.updateOrderTags(order.data.id, {
status: "shipped",
tracking_number: "1Z999AA10123456784",
carrier: "UPS",
shipped_at: new Date().toISOString(),
});
console.log("Order fulfilled and shipped:", shipped.data.order_number);
Type Definitions
OrderData
interface OrderData {
id: string;
order_number: string;
customer_id: string;
total_cents: number;
currency: string;
state: "PENDING" | "PROCESSING" | "COMPLETED" | "CANCELED";
line_items: LineItem[];
created_at: string;
updated_at: string;
metadata?: Record<string, unknown>;
tags?: Record<string, unknown>;
}
LineItem
interface LineItem {
price_id: string;
quantity: number;
unit_amount: number;
total_amount: number;
}