title: "订单操作 #" post_status: publish comment_status: open taxonomy: category: - woocommerce-rest-api post_tag: - Wp Api V3 - Includes - Source
订单操作
订单操作 API 允许您对现有订单执行特定操作,类似于在网页应用的编辑订单界面中可进行的操作。
注意:目前仅部分操作可用,其他操作将在后续推出。
发送订单详情给客户
此端点允许您向客户发送包含其订单详情的电子邮件。如果订单尚未设置账单邮箱,您可以指定收件邮箱。但如果订单已有账单邮箱,除非您同时指定使用 force_email_update 参数覆盖现有邮箱,否则将返回错误。
HTTP 请求
POST
/wp-json/wc/v3/orders/<id>/actions/send_order_details
curl -X POST https://example.com/wp-json/wc/v3/orders/723/actions/send_order_details \
-u consumer_key:consumer_secret \
-d '{
"email": "somebody@example.com",
"force_email_update": true
}'
const data = {
email: "somebody@example.com",
force_email_update: true
};
WooCommerce.post("orders/723/actions/send_order_details", data)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error.response.data);
});
<?php
$data = [
'email' => 'somebody@example.com',
'force_email_update' => true,
];
print_r($woocommerce->post('orders/723/actions/send_order_details', $data));
?>
data = {
"email": "somebody@example.com",
"force_email_update": true
}
print(wcapi.post("orders/723/actions/send_order_details", data).json())
data = {
"email": "somebody@example.com",
"force_email_update": true
}
woocommerce.post("orders/723/actions/send_order_details", data).parsed_response
JSON 响应示例:
{
"message": "Billing email updated to somebody@example.com. Order details sent to somebody@example.com, via REST API."
}
{
"code": "woocommerce_rest_missing_email",
"message": "Order does not have an email address.",
"data": {
"status": 400
}
}
向客户发送订单通知邮件
此端点允许您向客户触发关于其订单状态的邮件。这类似于 send_order_details 端点,但允许您根据与订单相关的邮件模板来指定发送哪个模板。例如,一个处于保留状态的订单有 customer_on_hold_order 模板可用。一个已完成且部分退款的订单则同时有 customer_completed_order 和 customer_refunded_order 模板可用。指定 customer_invoice 模板与使用 send_order_details 端点相同。
HTTP 请求
POST
/wp-json/wc/v3/orders/<id>/actions/send_email
curl -X POST https://example.com/wp-json/wc/v3/orders/723/actions/send_email \
-u consumer_key:consumer_secret \
-d '{
"template_id": "customer_completed_order",
"email": "somebody@example.com",
"force_email_update": true
}'
const data = {
template_id: "customer_completed_order",
email: "somebody@example.com",
force_email_update: true
};
WooCommerce.post("orders/723/actions/send_email", data)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error.response.data);
});
<?php
$data = [
'template_id' => 'customer_completed_order',
'email' => 'somebody@example.com',
'force_email_update' => true,
];
print_r($woocommerce->post('orders/723/actions/send_email', $data));
?>
data = {
"template_id": "customer_completed_order",
"email": "somebody@example.com",
"force_email_update": true
}
print(wcapi.post("orders/723/actions/send_email", data).json())
data = {
"template_id": "customer_completed_order",
"email": "somebody@example.com",
"force_email_update": true
}
woocommerce.post("orders/723/actions/send_email", data).parsed_response
JSON 响应示例:
{
"message": "Billing email updated to somebody@example.com. Email template "Completed order" sent to somebody@example.com, via REST API."
}
{
"code": "woocommerce_rest_invalid_email_template",
"message": "customer_completed_order is not a valid template for this order.",
"data": {
"status": 400
}
}
获取订单可用的电子邮件模板
此端点允许您检索指定订单可用的电子邮件模板列表。您也可以在 orders 端点 的响应中获取此数据。
HTTP request
GET
/wp-json/wc/v3/orders/<id>/actions/email_templates
curl -X GET https://example.com/wp-json/wc/v3/orders/723/actions/email_templates \
-u consumer_key:consumer_secret
WooCommerce.get("orders/723/actions/email_templates")
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error.response.data);
});
<?php
print_r($woocommerce->get('orders/723/actions/email_templates'));
?>
print(wcapi.get("orders/723/actions/email_templates").json())
woocommerce.post("orders/723/actions/email_templates").parsed_response
JSON response examples:
[
{
"id": "customer_completed_order",
"title": "Completed order",
"description": "Order complete emails are sent to customers when their orders are marked completed and usually indicate that their orders have been shipped."
},
{
"id": "customer_invoice",
"title": "Order details",
"description": "Order detail emails can be sent to customers containing their order information and payment links."
}
]