Skip to main content

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 IDs
    • limit (number, optional): Maximum number of orders to return
    • offset (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 order
  • tags (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 customer
  • params (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;
}