2020-04-23 17:56:53 -07:00
import {
INodeProperties ,
2020-08-10 05:44:18 -07:00
} from 'n8n-workflow' ;
2020-04-23 17:56:53 -07:00
2021-12-03 00:44:16 -08:00
export const orderOperations : INodeProperties [ ] = [
2020-04-23 17:56:53 -07:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'order' ,
] ,
} ,
} ,
options : [
{
name : 'Create' ,
value : 'create' ,
description : 'Create an order' ,
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete an order' ,
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get an order' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Get all orders' ,
} ,
{
name : 'Update' ,
value : 'update' ,
description : 'Update an order' ,
} ,
] ,
default : 'create' ,
description : 'The operation to perform.' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2020-04-23 17:56:53 -07:00
2021-12-03 00:44:16 -08:00
export const orderFields : INodeProperties [ ] = [
2020-04-23 17:56:53 -07:00
2020-08-10 05:44:18 -07:00
/* -------------------------------------------------------------------------- */
/* order:create */
/* -------------------------------------------------------------------------- */
2020-04-23 17:56:53 -07:00
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
operation : [
'create' ,
] ,
resource : [
'order' ,
] ,
} ,
} ,
default : { } ,
options : [
{
displayName : 'Billing Address' ,
name : 'billingAddressUi' ,
placeholder : 'Add Billing Address' ,
type : 'fixedCollection' ,
2022-04-22 09:29:51 -07:00
default : { } ,
2020-04-23 17:56:53 -07:00
typeOptions : {
multipleValues : false ,
} ,
options : [
{
name : 'billingAddressValues' ,
displayName : 'Billing Address' ,
values : [
{
displayName : 'First Name' ,
name : 'firstName' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Last Name' ,
name : 'lastName' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Company' ,
name : 'company' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Country' ,
name : 'country' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Address Line 1' ,
name : 'address1' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Address Line 2' ,
name : 'address2' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'City' ,
name : 'city' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Province' ,
name : 'province' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Zip Code' ,
name : 'zip' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Phone' ,
name : 'phone' ,
type : 'string' ,
default : '' ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Discount Codes' ,
name : 'discountCodesUi' ,
placeholder : 'Add Discount Code' ,
type : 'fixedCollection' ,
2022-04-22 09:29:51 -07:00
default : { } ,
2020-04-23 17:56:53 -07:00
typeOptions : {
multipleValues : true ,
} ,
options : [
{
name : 'discountCodesValues' ,
displayName : 'Discount Code' ,
values : [
{
displayName : 'Amount' ,
name : 'amount' ,
type : 'string' ,
default : '' ,
description : ` The amount that's deducted from the order total. ` ,
} ,
{
displayName : 'Code' ,
name : 'code' ,
type : 'string' ,
default : '' ,
description : 'When the associated discount application is of type code' ,
} ,
{
displayName : 'Type' ,
name : 'type' ,
type : 'options' ,
options : [
{
name : 'Fixed Amount' ,
value : 'fixedAmount' ,
description : ` Applies amount as a unit of the store's currency. ` ,
} ,
{
name : 'Percentage' ,
value : 'percentage' ,
description : ` Applies a discount of amount as a percentage of the order total. ` ,
} ,
{
name : 'Shipping' ,
value : 'shipping' ,
description : ` Applies a free shipping discount on orders that have a shipping rate less than or equal to amount. ` ,
} ,
] ,
default : 'fixedAmount' ,
description : 'When the associated discount application is of type code' ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
default : '' ,
description : ` The customer's email address. ` ,
} ,
{
displayName : 'Fulfillment Status' ,
name : 'fulfillmentStatus' ,
type : 'options' ,
options : [
{
name : 'Fulfilled' ,
value : 'fulfilled' ,
description : 'Every line item in the order has been fulfilled.' ,
} ,
{
name : 'Null' ,
value : 'null' ,
description : 'None of the line items in the order have been fulfilled.' ,
} ,
{
name : 'Partial' ,
value : 'partial' ,
description : 'At least one line item in the order has been fulfilled.' ,
} ,
{
name : 'Restocked' ,
value : 'restocked' ,
description : 'Every line item in the order has been restocked and the order canceled.' ,
} ,
] ,
default : '' ,
description : ` The order's status in terms of fulfilled line items ` ,
} ,
{
displayName : 'Inventory Behaviour' ,
name : 'inventoryBehaviour' ,
type : 'options' ,
options : [
{
name : 'Bypass' ,
value : 'bypass' ,
description : 'Do not claim inventory.' ,
} ,
{
name : 'Decrement Ignoring Policy' ,
value : 'decrementIgnoringPolicy' ,
description : ` Ignore the product's inventory policy and claim inventory. ` ,
} ,
{
name : 'Decrement Obeying Policy' ,
value : 'decrementObeyingPolicy' ,
description : ` Follow the product's inventory policy and claim inventory, if possible. ` ,
} ,
] ,
default : 'bypass' ,
description : ` The behaviour to use when updating inventory. ` ,
} ,
{
displayName : 'Location ID' ,
name : 'locationId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getLocations' ,
} ,
default : '' ,
description : 'The ID of the physical location where the order was processed.' ,
} ,
{
displayName : 'Note' ,
name : 'note' ,
type : 'string' ,
typeOptions : {
alwaysOpenEditWindow : true ,
} ,
default : '' ,
description : 'An optional note that a shop owner can attach to the order.' ,
} ,
{
displayName : 'Send Fulfillment Receipt' ,
name : 'sendFulfillmentReceipt' ,
type : 'boolean' ,
default : false ,
description : 'Whether to send a shipping confirmation to the customer.' ,
} ,
{
displayName : 'Send Receipt' ,
name : 'sendReceipt' ,
type : 'boolean' ,
default : false ,
description : 'Whether to send an order confirmation to the customer.' ,
} ,
{
displayName : 'Shipping Address' ,
name : 'shippingAddressUi' ,
placeholder : 'Add Shipping' ,
type : 'fixedCollection' ,
2022-04-22 09:29:51 -07:00
default : { } ,
2020-04-23 17:56:53 -07:00
typeOptions : {
multipleValues : false ,
} ,
options : [
{
name : 'shippingAddressValues' ,
displayName : 'shipping Address' ,
values : [
{
displayName : 'First Name' ,
name : 'firstName' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Last Name' ,
name : 'lastName' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Company' ,
name : 'company' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Country' ,
name : 'country' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Address Line 1' ,
name : 'address1' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Address Line 2' ,
name : 'address2' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'City' ,
name : 'city' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Province' ,
name : 'province' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Zip Code' ,
name : 'zip' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Phone' ,
name : 'phone' ,
type : 'string' ,
default : '' ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Source Name' ,
name : 'sourceName' ,
type : 'string' ,
default : '' ,
2022-04-22 09:29:51 -07:00
description : 'Where the order originated. Can be set only during order creation, and is not writeable afterwards.' ,
2020-04-23 17:56:53 -07:00
} ,
{
displayName : 'Tags' ,
name : 'tags' ,
type : 'string' ,
default : '' ,
description : 'Tags attached to the order, formatted as a string of comma-separated values.' ,
} ,
{
displayName : 'Test' ,
name : 'test' ,
type : 'boolean' ,
2022-04-22 09:29:51 -07:00
default : false ,
2020-04-23 17:56:53 -07:00
description : 'Whether this is a test order.' ,
} ,
] ,
} ,
{
displayName : 'Line Items' ,
name : 'limeItemsUi' ,
placeholder : 'Add Line Item' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : true ,
} ,
displayOptions : {
show : {
resource : [
'order' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
default : { } ,
options : [
{
displayName : 'Line Item' ,
name : 'lineItemValues' ,
values : [
{
displayName : 'Product ID' ,
name : 'productId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getProducts' ,
} ,
default : '' ,
description : 'The ID of the product that the line item belongs to' ,
} ,
{
displayName : 'Variant ID' ,
name : 'variantId' ,
type : 'string' ,
default : '' ,
description : 'The ID of the product variant.' ,
} ,
{
displayName : 'Title' ,
name : 'title' ,
type : 'string' ,
default : '' ,
description : 'The title of the product.' ,
} ,
{
displayName : 'Grams' ,
name : 'grams' ,
type : 'string' ,
default : '' ,
description : 'The weight of the item in grams.' ,
} ,
{
displayName : 'Quantity' ,
name : 'quantity' ,
type : 'number' ,
typeOptions : {
minValue : 1 ,
} ,
default : 1 ,
description : 'The number of items that were purchased.' ,
} ,
{
displayName : 'Price' ,
name : 'price' ,
type : 'string' ,
default : '' ,
} ,
] ,
} ,
] ,
} ,
2020-08-10 05:44:18 -07:00
/* -------------------------------------------------------------------------- */
/* order:delete */
/* -------------------------------------------------------------------------- */
2020-04-23 17:56:53 -07:00
{
displayName : 'Order ID' ,
name : 'orderId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'order' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
required : true ,
} ,
2020-08-10 05:44:18 -07:00
/* -------------------------------------------------------------------------- */
/* order:get */
/* -------------------------------------------------------------------------- */
2020-04-23 17:56:53 -07:00
{
displayName : 'Order ID' ,
name : 'orderId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'order' ,
] ,
operation : [
'get' ,
] ,
} ,
} ,
required : true ,
} ,
{
displayName : 'Options' ,
name : 'options' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
operation : [
'get' ,
] ,
resource : [
'order' ,
] ,
} ,
} ,
default : { } ,
options : [
{
displayName : 'Fields' ,
name : 'fields' ,
type : 'string' ,
default : '' ,
2022-04-22 09:29:51 -07:00
description : 'Fields the order will return, formatted as a string of comma-separated values. By default all the fields are returned.' ,
2020-04-23 17:56:53 -07:00
} ,
] ,
} ,
2020-08-10 05:44:18 -07:00
/* -------------------------------------------------------------------------- */
/* order:getAll */
/* -------------------------------------------------------------------------- */
2020-04-23 17:56:53 -07:00
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
resource : [
'order' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
default : false ,
description : 'If all results should be returned or only up to a given limit.' ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
resource : [
'order' ,
] ,
operation : [
'getAll' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 250 ,
} ,
default : 50 ,
description : 'How many results to return.' ,
} ,
{
displayName : 'Options' ,
name : 'options' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
operation : [
'getAll' ,
] ,
resource : [
'order' ,
] ,
} ,
} ,
options : [
{
displayName : 'Attribution App ID' ,
name : 'attributionAppId' ,
type : 'string' ,
default : '' ,
description : 'Show orders attributed to a certain app, specified by the app ID. Set as current to show orders for the app currently consuming the API.' ,
} ,
{
displayName : 'Created At Min' ,
name : 'createdAtMin' ,
type : 'dateTime' ,
default : '' ,
description : 'Show orders created at or after date ' ,
} ,
{
displayName : 'Created At Max' ,
name : 'createdAtMax' ,
type : 'dateTime' ,
default : '' ,
description : 'Show orders created at or before date' ,
} ,
{
displayName : 'Financial Status' ,
name : 'financialStatus' ,
type : 'options' ,
options : [
{
name : 'Any' ,
value : 'any' ,
description : 'Show orders of any financial status.' ,
} ,
{
name : 'Authorized' ,
value : 'authorized' ,
description : 'Show only authorized orders' ,
} ,
{
name : 'Paid' ,
value : 'paid' ,
description : 'Show only paid orders' ,
} ,
{
name : 'Partially Paid' ,
value : 'partiallyPaid' ,
description : 'Show only partially paid orders' ,
} ,
{
name : 'Partially Refunded' ,
value : 'partiallyRefunded' ,
description : 'Show only partially refunded orders' ,
} ,
{
name : 'Pending' ,
value : 'pending' ,
description : 'Show only pending orders' ,
} ,
{
name : 'Refunded' ,
value : 'refunded' ,
description : 'Show only refunded orders' ,
} ,
{
name : 'Voided' ,
value : 'voided' ,
description : 'Show only voided orders' ,
} ,
{
name : 'Unpaid' ,
value : 'unpaid' ,
description : 'Show authorized and partially paid orders.' ,
} ,
] ,
default : 'any' ,
description : 'Filter orders by their financial status.' ,
} ,
{
displayName : 'Fulfillment Status' ,
name : 'fulfillmentStatus' ,
type : 'options' ,
options : [
{
name : 'Any' ,
value : 'any' ,
description : 'Show orders of any fulfillment status.' ,
} ,
{
name : 'Partial' ,
value : 'partial' ,
description : 'Show partially shipped orders.' ,
} ,
{
name : 'Shipped' ,
value : 'shipped' ,
description : 'Show orders that have been shipped. Returns orders with fulfillment_status of fulfilled.' ,
} ,
{
name : 'Unshipped' ,
value : 'unshipped' ,
description : 'Show orders that have not yet been shipped. Returns orders with fulfillment_status of null.' ,
} ,
{
name : 'Unfulfilled' ,
value : 'unfulfilled' ,
description : 'Returns orders with fulfillment_status of null or partial.' ,
} ,
] ,
default : 'any' ,
description : 'Filter orders by their fulfillment status.' ,
} ,
{
displayName : 'Fields' ,
name : 'fields' ,
type : 'string' ,
default : '' ,
2022-04-22 09:29:51 -07:00
description : 'Fields the orders will return, formatted as a string of comma-separated values. By default all the fields are returned.' ,
2020-04-23 17:56:53 -07:00
} ,
{
displayName : 'IDs' ,
name : 'ids' ,
type : 'string' ,
default : '' ,
description : 'Retrieve only orders specified by a comma-separated list of order IDs.' ,
} ,
{
displayName : 'Processed At Max' ,
name : 'processedAtMax' ,
type : 'dateTime' ,
default : '' ,
description : 'Show orders imported at or before date' ,
} ,
{
displayName : 'Processed At Min' ,
name : 'processedAtMin' ,
type : 'dateTime' ,
default : '' ,
description : 'Show orders imported at or after date' ,
} ,
{
displayName : 'Status' ,
name : 'status' ,
type : 'options' ,
options : [
{
name : 'Any' ,
value : 'any' ,
description : 'Show orders of any status, including archived orders.' ,
} ,
{
name : 'Cancelled' ,
value : 'Cancelled' ,
description : 'Show only canceled orders.' ,
} ,
{
name : 'Closed' ,
value : 'closed' ,
description : 'Show only closed orders.' ,
} ,
{
name : 'Open' ,
value : 'open' ,
description : 'Show only open orders.' ,
} ,
] ,
default : 'open' ,
description : 'Filter orders by their status.' ,
} ,
{
displayName : 'Since ID' ,
name : 'sinceId' ,
type : 'string' ,
default : '' ,
description : 'Show orders after the specified ID.' ,
} ,
{
displayName : 'Updated At Max' ,
name : 'updatedAtMax' ,
type : 'dateTime' ,
default : '' ,
description : 'Show orders last updated at or after date' ,
} ,
{
displayName : 'Updated At Min' ,
name : 'updatedAtMin' ,
type : 'dateTime' ,
default : '' ,
description : 'Show orders last updated at or before date' ,
} ,
] ,
} ,
2020-08-10 05:44:18 -07:00
/* -------------------------------------------------------------------------- */
/* order:update */
/* -------------------------------------------------------------------------- */
2020-04-23 17:56:53 -07:00
{
displayName : 'Order ID' ,
name : 'orderId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'order' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
required : true ,
} ,
{
displayName : 'Update Fields' ,
name : 'updateFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
operation : [
'update' ,
] ,
resource : [
'order' ,
] ,
} ,
} ,
default : { } ,
options : [
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
default : '' ,
description : ` The customer's email address. ` ,
} ,
{
displayName : 'Location ID' ,
name : 'locationId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getLocations' ,
} ,
default : '' ,
description : 'The ID of the physical location where the order was processed.' ,
} ,
{
displayName : 'Note' ,
name : 'note' ,
type : 'string' ,
typeOptions : {
alwaysOpenEditWindow : true ,
} ,
default : '' ,
description : 'An optional note that a shop owner can attach to the order.' ,
} ,
{
displayName : 'Shipping Address' ,
name : 'shippingAddressUi' ,
placeholder : 'Add Shipping' ,
type : 'fixedCollection' ,
2022-04-22 09:29:51 -07:00
default : { } ,
2020-04-23 17:56:53 -07:00
typeOptions : {
multipleValues : false ,
} ,
options : [
{
name : 'shippingAddressValues' ,
displayName : 'shipping Address' ,
values : [
{
displayName : 'First Name' ,
name : 'firstName' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Last Name' ,
name : 'lastName' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Company' ,
name : 'company' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Country' ,
name : 'country' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Address Line 1' ,
name : 'address1' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Address Line 2' ,
name : 'address2' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'City' ,
name : 'city' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Province' ,
name : 'province' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Zip Code' ,
name : 'zip' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Phone' ,
name : 'phone' ,
type : 'string' ,
default : '' ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Source Name' ,
name : 'sourceName' ,
type : 'string' ,
default : '' ,
2022-04-22 09:29:51 -07:00
description : 'Where the order originated. Can be set only during order creation, and is not writeable afterwards.' ,
2020-04-23 17:56:53 -07:00
} ,
{
displayName : 'Tags' ,
name : 'tags' ,
type : 'string' ,
default : '' ,
description : 'Tags attached to the order, formatted as a string of comma-separated values.' ,
} ,
] ,
} ,
2021-12-03 00:44:16 -08:00
] ;