71 lines
3.0 KiB
HTML
71 lines
3.0 KiB
HTML
|
|
<script type="text/javascript">
|
|||
|
|
RED.nodes.registerType("woocommerce-order", {
|
|||
|
|
category: "WooCommerce",
|
|||
|
|
color: "#7f54b3",
|
|||
|
|
defaults: {
|
|||
|
|
name: { value: "" },
|
|||
|
|
config: { type: "woocommerce-config", required: true },
|
|||
|
|
operation: { value: "list" }
|
|||
|
|
},
|
|||
|
|
inputs: 1,
|
|||
|
|
outputs: 1,
|
|||
|
|
icon: "font-awesome/fa-shopping-cart",
|
|||
|
|
label: function () {
|
|||
|
|
return this.name || ("WC Order " + this.operation);
|
|||
|
|
},
|
|||
|
|
labelStyle: function () {
|
|||
|
|
return this.name ? "node_label_italic" : "";
|
|||
|
|
},
|
|||
|
|
oneditprepare: function () {
|
|||
|
|
$("#node-input-config").val(this.config ? this.config.id : "");
|
|||
|
|
},
|
|||
|
|
oneditsave: function () {
|
|||
|
|
this.operation = $("#node-select-operation").val();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<script type="text/x-red" data-template-name="woocommerce-order">
|
|||
|
|
<div class="form-row">
|
|||
|
|
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
|||
|
|
<input type="text" id="node-input-name" placeholder="WooCommerce Order">
|
|||
|
|
</div>
|
|||
|
|
<div class="form-row">
|
|||
|
|
<label for="node-input-config"><i class="fa fa-server"></i> Config</label>
|
|||
|
|
<input type="text" id="node-input-config">
|
|||
|
|
</div>
|
|||
|
|
<div class="form-row">
|
|||
|
|
<label for="node-select-operation"><i class="fa fa-wrench"></i> Operation</label>
|
|||
|
|
<select id="node-select-operation">
|
|||
|
|
<option value="list">List Orders</option>
|
|||
|
|
<option value="get">Get Order</option>
|
|||
|
|
<option value="updateStatus">Update Status</option>
|
|||
|
|
<option value="addNote">Add Note</option>
|
|||
|
|
<option value="getNotes">Get Notes</option>
|
|||
|
|
</select>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-tips" style="color:#888; font-size:11px; margin-top:10px;">
|
|||
|
|
<b>List filters</b>: msg.status (processing, completed, on-hold, etc.),
|
|||
|
|
msg.after (ISO 8601 date), msg.before, msg.customer (ID), msg.product (ID),
|
|||
|
|
msg.limit (per_page), msg.page<br>
|
|||
|
|
<b>Update Status</b>: msg.orderId + msg.status<br>
|
|||
|
|
<b>Add Note</b>: msg.orderId + msg.note (+ optional msg.customerNote=true)
|
|||
|
|
</div>
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<script type="text/x-red" data-help-name="woocommerce-order">
|
|||
|
|
<p>WooCommerce order operations: list, get, updateStatus, addNote, getNotes.</p>
|
|||
|
|
<h3>Operations</h3>
|
|||
|
|
<ul>
|
|||
|
|
<li><b>list</b> – List orders with filters (status, after, before, customer, product)</li>
|
|||
|
|
<li><b>get</b> – Get single order by msg.orderId</li>
|
|||
|
|
<li><b>updateStatus</b> – Update order status (msg.orderId + msg.status)</li>
|
|||
|
|
<li><b>addNote</b> – Add order note (msg.orderId + msg.note)</li>
|
|||
|
|
<li><b>getNotes</b> – Get order notes (msg.orderId)</li>
|
|||
|
|
</ul>
|
|||
|
|
<h3>Order Object Fields</h3>
|
|||
|
|
<p><code>billing</code> (first_name, last_name, email, company, address, phone),
|
|||
|
|
<code>line_items</code>, <code>total</code>, <code>currency</code>,
|
|||
|
|
<code>number</code>, <code>date_created</code>, <code>meta_data</code></p>
|
|||
|
|
</script>
|