Track Order
const express = require("express");
const axios = require("axios");
const app = express();
const PORT = 3000;
// Shopify API credentials
const SHOPIFY_STORE = "your-store.myshopify.com";
const API_KEY = "your_api_key";
const PASSWORD = "your_api_password";
app.get("/track-order", async (req, res) => {
const { order_number, email } = req.query;
try {
const response = await axios.get(`https://${SHOPIFY_STORE}/admin/api/2023-07/orders.json`, {
auth: {
username: API_KEY,
password: PASSWORD,
},
params: {
email: email,
name: `#${order_number}`,
},
});
if (response.data.orders.length > 0) {
const order = response.data.orders[0];
res.json({
status: order.financial_status,
estimated_delivery: order.fulfillments.length > 0 ? order.fulfillments[0].tracking_number : "Not yet shipped",
});
} else {
res.status(404).json({ error: "Order not found" });
}
} catch (error) {
res.status(500).json({ error: "Error fetching order" });
}
});
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));