将当前页面内容以 Markdown 格式复制到剪贴板
订单操作
订单操作 API 允许您对现有订单执行特定操作,就像您可以在 Web 应用中的“编辑订单”屏幕中所做的那样。
注意:目前仅提供部分操作,其他操作将在稍后推出。
向客户发送订单详情
此端点允许您触发一封电子邮件,将订单的详细信息发送给客户。如果订单尚未设置账单邮件地址,您可以指定一个收件人。但是,如果订单已经存在账单邮件地址,则会返回错误,除非您也指定使用 force_email_update 参数来覆盖现有的邮件地址。
POST /wp-json/wc/v3/orders/<id>/actions/send_order_details
- cURL
- JavaScript
- PHP
- Python
- Ruby
- JSON Response
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
{
"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 接口相同。
POST /wp-json/wc/v3/orders/<id>/actions/send_email
- cURL
- JavaScript
- PHP
- Python
- Ruby
- JSON Response
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
{
"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 端点 的回复中嵌入获取这些数据。
GET /wp-json/wc/v3/orders/<id>/actions/email_templates
- cURL
- JavaScript
- PHP
- Python
- Ruby
- JSON Response
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
[
{
"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."
}
]