当我和我的邮递员
它只返回10个结果,在woocommerce中,我有2000个ordersHow,我能得到那2000个订单吗?我如何才能获得所有WooCommerce API订单
2 个回复
SO网友:Marc
默认情况下,将分页该API端点,并且“每页数量”设置为10。您可以在此处看到该端点的所有默认值https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-orders
如果此端点的工作方式类似于WP\\u Query,则需要将per\\u page参数设置为-1。否则,您将需要发出多个请求,每次都增加页码,直到收到所有订单为止
SO网友:babita
这肯定会显示所有订单
enter code here
const WooCommerceRestApi = require("@woocommerce/woocommerce-rest-api").default;
const api = new WooCommerceRestApi({
url: process.env.NEXT_PUBLIC_WORDPRESS_SITE_URL,
consumerKey: process.env.CONSUMER_KEY,
consumerSecret: process.env.CONSUMER_SECRET,
version: "wc/v3"
});
export default async function handler(req, res){
const responseData = {
success:false,
orders: []
}
const { perPage} = req?.query ?? {};
try {
const {data} = await api.get(
\'orders\',
{
per_page:perPage||100
}
);
responseData.success = true;
responseData.orders = data;
res.json( responseData);
} catch ( error ){
responseData.error = error.message;
res.status(500).json(responseData);
}
}