diff --git a/packages/nodes-base/nodes/ActiveCampaign/ActiveCampaign.node.ts b/packages/nodes-base/nodes/ActiveCampaign/ActiveCampaign.node.ts index 55fc88617f..127d06c459 100644 --- a/packages/nodes-base/nodes/ActiveCampaign/ActiveCampaign.node.ts +++ b/packages/nodes-base/nodes/ActiveCampaign/ActiveCampaign.node.ts @@ -15,7 +15,20 @@ import { IProduct, } from './GenericFunctions'; -import { returnAllCurrencyOptions } from './currencies' +import { + contactOperations, + contactFields +} from './ContactDescription'; + +import { + dealOperations, + dealFields +} from './DealDescription'; + +import { + ecomOrderOperations, + ecomOrderFields +} from './EcomOrderDescription'; interface CustomProperty { name: string; @@ -63,7 +76,6 @@ export class ActiveCampaign implements INodeType { } ], properties: [ - // ---------------------------------- // resources // ---------------------------------- @@ -89,1600 +101,28 @@ export class ActiveCampaign implements INodeType { description: 'The resource to operate on.', }, - - // ---------------------------------- // operations // ---------------------------------- - { - displayName: 'Operation', - name: 'operation', - type: 'options', - displayOptions: { - show: { - resource: [ - 'contact', - ], - }, - }, - options: [ - { - name: 'Create', - value: 'create', - description: 'Create a contact', - }, - { - name: 'Delete', - value: 'delete', - description: 'Delete a contact', - }, - { - name: 'Get', - value: 'get', - description: 'Get data of a contact', - }, - { - name: 'Get All', - value: 'getAll', - description: 'Get data of all contact', - }, - { - name: 'Update', - value: 'update', - description: 'Update a contact', - }, - ], - default: 'create', - description: 'The operation to perform.', - }, - - { - displayName: 'Operation', - name: 'operation', - type: 'options', - displayOptions: { - show: { - resource: [ - 'deal', - ], - }, - }, - options: [ - { - name: 'Create', - value: 'create', - description: 'Create a deal', - }, - { - name: 'Delete', - value: 'delete', - description: 'Delete a deal', - }, - { - name: 'Get', - value: 'get', - description: 'Get data of a deal', - }, - { - name: 'Get All', - value: 'getAll', - description: 'Get data of all deals', - }, - { - name: 'Update', - value: 'update', - description: 'Update a deal', - }, - { - name: 'Create Note', - value: 'createNote', - description: 'Create a deal note', - }, - { - name: 'Update deal note', - value: 'updateNote', - description: 'Update a deal note', - }, - ], - default: 'create', - description: 'The operation to perform.', - }, - - { - displayName: 'Operation', - name: 'operation', - type: 'options', - displayOptions: { - show: { - resource: [ - 'ecommerceOrder', - ], - }, - }, - options: [ - { - name: 'Create', - value: 'create', - description: 'Create a order', - }, - { - name: 'Delete', - value: 'delete', - description: 'Delete a order', - }, - { - name: 'Get', - value: 'get', - description: 'Get data of a order', - }, - { - name: 'Get All', - value: 'getAll', - description: 'Get data of all orders', - }, - { - name: 'Update', - value: 'update', - description: 'Update a order', - }, - ], - default: 'create', - description: 'The operation to perform.', - }, - - + ...contactOperations, + ...dealOperations, + ...ecomOrderOperations, // ---------------------------------- // contact // ---------------------------------- - - // ---------------------------------- - // contact:create - // ---------------------------------- - { - displayName: 'Email', - name: 'email', - type: 'string', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'contact', - ], - }, - }, - description: 'The email of the contact to create', - }, - { - displayName: 'Update if exists', - name: 'updateIfExists', - type: 'boolean', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'contact', - ], - }, - }, - default: false, - description: 'Update user if it exists already. If not set and user exists it will error instead.', - }, - { - displayName: 'Additional Fields', - name: 'additionalFields', - type: 'collection', - placeholder: 'Add Field', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'contact', - ], - }, - }, - default: {}, - options: [ - { - displayName: 'First Name', - name: 'firstName', - type: 'string', - default: '', - description: 'The first name of the contact to create', - }, - { - displayName: 'Last Name', - name: 'lastName', - type: 'string', - default: '', - description: 'The last name of the contact to create', - }, - { - displayName: 'Phone', - name: 'phone', - type: 'string', - default: '', - description: 'Phone number of the contact.', - }, - { - displayName: 'Custom Properties', - name: 'customProperties', - placeholder: 'Add Custom Property', - description: 'Adds a custom property to set also values which have not been predefined.', - type: 'fixedCollection', - typeOptions: { - multipleValues: true, - }, - default: {}, - options: [ - { - name: 'property', - displayName: 'Property', - values: [ - { - displayName: 'Property Name', - name: 'name', - type: 'string', - default: '', - description: 'Name of the property to set.', - }, - { - displayName: 'Property Value', - name: 'value', - type: 'string', - default: '', - description: 'Value of the property to set.', - }, - ] - }, - ], - }, - ], - }, - - // ---------------------------------- - // contact:update - // ---------------------------------- - { - displayName: 'Contact ID', - name: 'contactId', - type: 'number', - displayOptions: { - show: { - operation: [ - 'update', - ], - resource: [ - 'contact', - ], - }, - }, - default: 0, - required: true, - description: 'ID of the contact to update.', - }, - { - displayName: 'Update Fields', - name: 'updateFields', - type: 'collection', - description: 'The fields to update.', - placeholder: 'Add Field', - displayOptions: { - show: { - operation: [ - 'update', - ], - resource: [ - 'contact', - ], - }, - }, - default: {}, - options: [ - { - displayName: 'Email', - name: 'email', - type: 'string', - default: '', - description: 'Email of the contact.', - }, - { - displayName: 'First Name', - name: 'firstName', - type: 'string', - default: '', - description: 'First name of the contact', - }, - { - displayName: 'Last Name', - name: 'lastName', - type: 'string', - default: '', - description: 'Last name of the contact', - }, - { - displayName: 'Phone', - name: 'phone', - type: 'string', - default: '', - description: 'Phone number of the contact.', - }, - { - displayName: 'Custom Properties', - name: 'customProperties', - placeholder: 'Add Custom Property', - description: 'Adds a custom property to set also values which have not been predefined.', - type: 'fixedCollection', - typeOptions: { - multipleValues: true, - }, - default: {}, - options: [ - { - name: 'property', - displayName: 'Property', - values: [ - { - displayName: 'Property Name', - name: 'name', - type: 'string', - default: '', - description: 'Name of the property to set.', - }, - { - displayName: 'Property Value', - name: 'value', - type: 'string', - default: '', - description: 'Value of the property to set.', - }, - ] - }, - ], - }, - ], - }, - - // ---------------------------------- - // contact:delete - // ---------------------------------- - { - displayName: 'Contact ID', - name: 'contactId', - type: 'number', - displayOptions: { - show: { - operation: [ - 'delete', - ], - resource: [ - 'contact', - ], - }, - }, - default: 0, - required: true, - description: 'ID of the contact to delete.', - }, - - // ---------------------------------- - // contact:get - // ---------------------------------- - { - displayName: 'Contact ID', - name: 'contactId', - type: 'number', - displayOptions: { - show: { - operation: [ - 'get', - ], - resource: [ - 'contact', - ], - }, - }, - default: 0, - required: true, - description: 'ID of the contact to get.', - }, - - // ---------------------------------- - // contact:getAll - // ---------------------------------- - { - displayName: 'Return All', - name: 'returnAll', - type: 'boolean', - displayOptions: { - show: { - operation: [ - 'getAll', - ], - resource: [ - 'contact', - ], - }, - }, - default: false, - description: 'If all results should be returned or only up to a given limit.', - }, - { - displayName: 'Limit', - name: 'limit', - type: 'number', - displayOptions: { - show: { - operation: [ - 'getAll', - ], - resource: [ - 'contact', - ], - returnAll: [ - false, - ], - }, - }, - typeOptions: { - minValue: 1, - maxValue: 500, - }, - default: 100, - description: 'How many results to return.', - }, - + ...contactFields, // ---------------------------------- // deal // ---------------------------------- - - // ---------------------------------- - // deal:create - // ---------------------------------- - { - displayName: 'Title', - name: 'title', - type: 'string', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The title of the deal', - }, - { - displayName: 'Deal\'s contact ID', - name: 'contact', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The ID of the deal\'s contact', - }, - { - displayName: 'Deal value', - name: 'value', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The value of the deal in cents', - }, - { - displayName: 'Currency', - name: 'currency', - type: 'options', - default: 'eur', - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - options: returnAllCurrencyOptions(), - description: 'The currency of the deal in 3-character ISO format', - }, - { - displayName: 'Deal pipeline ID', - name: 'group', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The pipeline ID of the deal', - }, - { - displayName: 'Deal stage ID', - name: 'stage', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The stage ID of the deal', - }, - { - displayName: 'Deal owner ID', - name: 'owner', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The owner ID of the deal', - }, - { - displayName: 'Additional Fields', - name: 'additionalFields', - type: 'collection', - placeholder: 'Add Field', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'deal', - ], - }, - }, - default: {}, - options: [ - { - displayName: 'Description', - name: 'description', - type: 'string', - default: '', - description: 'The description of the deal', - }, - - { - displayName: 'Deal percentage', - name: 'percent', - type: 'number', - default: 0, - description: 'The percentage of the deal', - }, - { - displayName: 'Deal status', - name: 'status', - type: 'number', - default: 0, - description: 'The status of the deal', - }, - ] - }, - - // ---------------------------------- - // deal:update - // ---------------------------------- - { - displayName: 'Deal ID', - name: 'dealId', - type: 'number', - displayOptions: { - show: { - operation: [ - 'update', - ], - resource: [ - 'deal', - ], - }, - }, - default: 0, - required: true, - description: 'ID of the deal to update.', - }, - { - displayName: 'Update Fields', - name: 'updateFields', - type: 'collection', - description: 'The fields to update.', - placeholder: 'Add Field', - displayOptions: { - show: { - operation: [ - 'update', - ], - resource: [ - 'deal', - ], - }, - }, - default: {}, - options: [ - { - displayName: 'Title', - name: 'title', - type: 'string', - default: '', - description: 'The title of the deal', - }, - { - displayName: 'Deal\'s contact ID', - name: 'contact', - type: 'number', - default: 0, - description: 'The ID of the deal\'s contact', - }, - { - displayName: 'Deal value', - name: 'value', - type: 'number', - default: 0, - description: 'The value of the deal in cents', - }, - { - displayName: 'Currency', - name: 'currency', - type: 'options', - options: returnAllCurrencyOptions(), - default: 'eur', - description: 'The currency of the deal in 3-character ISO format', - }, - { - displayName: 'Description', - name: 'description', - type: 'string', - default: '', - description: 'The description of the deal', - }, - { - displayName: 'Deal pipeline ID', - name: 'group', - type: 'string', - default: '', - description: 'The pipeline ID of the deal', - }, - { - displayName: 'Deal stage ID', - name: 'stage', - type: 'string', - default: '', - description: 'The stage ID of the deal', - }, - { - displayName: 'Deal owner ID', - name: 'owner', - type: 'string', - default: '', - description: 'The owner ID of the deal', - }, - { - displayName: 'Deal percentage', - name: 'percent', - type: 'number', - default: 0, - description: 'The percentage of the deal', - }, - { - displayName: 'Deal status', - name: 'status', - type: 'number', - default: 0, - description: 'The status of the deal', - }, - ] - }, - - // ---------------------------------- - // deal:delete - // ---------------------------------- - { - displayName: 'Deal ID', - name: 'dealId', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'delete', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The ID of the deal', - }, - - // ---------------------------------- - // deal:get - // ---------------------------------- - { - displayName: 'Deal ID', - name: 'dealId', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'get', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The ID of the deal', - }, - - // ---------------------------------- - // deal:getAll - // ---------------------------------- - { - displayName: 'Return All', - name: 'returnAll', - type: 'boolean', - displayOptions: { - show: { - operation: [ - 'getAll', - ], - resource: [ - 'deal', - ], - }, - }, - default: false, - description: 'If all results should be returned or only up to a given limit.', - }, - { - displayName: 'Limit', - name: 'limit', - type: 'number', - displayOptions: { - show: { - operation: [ - 'getAll', - ], - resource: [ - 'deal', - ], - returnAll: [ - false, - ], - }, - }, - typeOptions: { - minValue: 1, - maxValue: 500, - }, - default: 100, - description: 'How many results to return.', - }, - - // ---------------------------------- - // dealNote:create - // ---------------------------------- - { - displayName: 'Deal ID', - name: 'dealId', - type: 'number', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'createNote', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The ID of the deal note', - }, - { - displayName: 'Deal Note', - name: 'dealNote', - type: 'string', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'createNote', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The content of the deal note', - }, - - // ---------------------------------- - // dealNote:update - // ---------------------------------- - { - displayName: 'Deal ID', - name: 'dealId', - type: 'number', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'updateNote', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The ID of the deal note', - }, - { - displayName: 'Deal note ID', - name: 'dealNoteId', - type: 'number', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'updateNote', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The ID of the deal note', - }, - { - displayName: 'Deal Note', - name: 'dealNote', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [ - 'updateNote', - ], - resource: [ - 'deal', - ], - }, - }, - description: 'The content of the deal note', - }, + ...dealFields, // ---------------------------------- // ecommerceOrder // ---------------------------------- + ...ecomOrderFields, - // ---------------------------------- - // ecommerceOrder:create - // ---------------------------------- - { - displayName: 'External ID', - name: 'externalid', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The id of the order in the external service. ONLY REQUIRED IF EXTERNALCHECKOUTID NOT INCLUDED', - }, - { - displayName: 'External checkout ID', - name: 'externalcheckoutid', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The id of the cart in the external service. ONLY REQUIRED IF EXTERNALID IS NOT INCLUDED.', - }, - { - displayName: 'Order source', - name: 'source', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The order source code (0 - will not trigger automations, 1 - will trigger automations).', - }, - { - displayName: 'Customer Email', - name: 'email', - type: 'string', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The email address of the customer who placed the order.', - }, - { - displayName: 'Total price', - name: 'totalPrice', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The total price of the order in cents, including tax and shipping charges. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', - }, - { - displayName: 'Order currency', - name: 'currency', - type: 'options', - default: 'eur', - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - options: returnAllCurrencyOptions(), - description: 'The currency of the order (3-digit ISO code, e.g., "USD").', - }, - { - displayName: 'Connection ID', - name: 'connectionid', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The id of the connection from which this order originated.', - }, - { - displayName: 'Customer ID', - name: 'customerid', - type: 'number', - default: 0, - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The id of the customer associated with this order.', - }, - { - displayName: 'Creation Date', - name: 'externalCreatedDate', - type: 'dateTime', - default: '', - required: true, - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The date the order was placed.', - }, - { - displayName: 'Abandoning Date', - name: 'abandonedDate', - type: 'dateTime', - default: '', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The date the cart was abandoned. REQUIRED ONLY IF INCLUDING EXTERNALCHECKOUTID.', - }, - { - displayName: 'Products', - name: 'orderProducts', - type: 'collection', - typeOptions: { - multipleValues: true, - multipleValueButtonText: 'Add product', - }, - displayOptions: { - show: { - operation: [ - 'create' - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - default: {}, - description: 'All ordered products', - placeholder: 'Add product field', - options: [ - { - displayName: 'Name', - name: 'name', - type: 'string', - default: '', - description: 'The name of the product', - }, - { - displayName: 'Price', - name: 'price', - type: 'number', - default: 0, - description: 'The price of the product, in cents. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', - }, - { - displayName: 'Product Quantity', - name: 'quantity', - type: 'number', - default: 0, - description: 'The quantity ordered.', - }, - { - displayName: 'Product external ID', - name: 'externalid', - type: 'string', - default: '', - description: 'The id of the product in the external service.', - }, - { - displayName: 'Product Category', - name: 'category', - type: 'string', - default: '', - description: 'The category of the product.', - }, - { - displayName: 'SKU', - name: 'sku', - type: 'string', - default: '', - description: 'The SKU for the product.', - }, - { - displayName: 'Description', - name: 'description', - type: 'string', - default: '', - description: 'The description of the product.', - }, - { - displayName: 'Image URL', - name: 'imageUrl', - type: 'string', - default: '', - description: 'An Image URL that displays an image of the product.', - }, - { - displayName: 'Product URL', - name: 'productUrl', - type: 'string', - default: '', - description: 'A URL linking to the product in your store.', - }, - ], - }, - { - displayName: 'Additional Fields', - name: 'additionalFields', - type: 'collection', - placeholder: 'Add Field', - displayOptions: { - show: { - operation: [ - 'create', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - default: {}, - options: [ - { - displayName: 'Shipping Amount', - name: 'shippingAmount', - type: 'number', - default: 0, - description: 'The total shipping amount for the order in cents .', - }, - - { - displayName: 'Tax Amount', - name: 'taxAmount', - type: 'number', - default: 0, - description: 'The total tax amount for the order in cents.', - }, - { - displayName: 'Discount Amount', - name: 'discountAmount', - type: 'number', - default: 0, - description: 'The total discount amount for the order in cents.', - }, - { - displayName: 'Order URL', - name: 'orderUrl', - type: 'string', - default: '', - description: 'The URL for the order in the external service.', - }, - { - displayName: 'External updated date', - name: 'externalUpdatedDate', - type: 'dateTime', - default: '', - description: 'The date the order was updated.', - }, - { - displayName: 'Shipping Method', - name: 'shippingMethod', - type: 'string', - default: '', - description: 'The shipping method of the order.', - }, - { - displayName: 'Order Number', - name: 'orderNumber', - type: 'string', - default: '', - description: 'The order number. This can be different than the externalid.', - }, - - ] - }, - - // ---------------------------------- - // ecommerceOrder:update - // ---------------------------------- - { - displayName: 'Order ID', - name: 'orderId', - type: 'number', - default: 0, - displayOptions: { - show: { - operation: [ - 'update', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The id of the e-commerce order.', - }, - - { - displayName: 'Add Field', - name: 'updateFields', - type: 'collection', - placeholder: 'Add Field', - displayOptions: { - show: { - operation: [ - 'update', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - default: {}, - options: [ - { - displayName: 'External ID', - name: 'externalid', - type: 'string', - default: '', - description: 'The id of the order in the external service. ONLY REQUIRED IF EXTERNALCHECKOUTID NOT INCLUDED', - }, - { - displayName: 'External checkout ID', - name: 'externalcheckoutid', - type: 'string', - default: '', - description: 'The id of the cart in the external service. ONLY REQUIRED IF EXTERNALID IS NOT INCLUDED.', - }, - { - displayName: 'Order source', - name: 'source', - type: 'number', - default: 0, - description: 'The order source code (0 - will not trigger automations, 1 - will trigger automations).', - }, - { - displayName: 'Customer Email', - name: 'email', - type: 'string', - default: '', - description: 'The email address of the customer who placed the order.', - }, - { - displayName: 'Total price', - name: 'totalPrice', - type: 'number', - default: 0, - description: 'The total price of the order in cents, including tax and shipping charges. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', - }, - { - displayName: 'Order currency', - name: 'currency', - type: 'options', - default: 'eur', - options: returnAllCurrencyOptions(), - description: 'The currency of the order (3-digit ISO code, e.g., "USD").', - }, - { - displayName: 'Connection ID', - name: 'connectionid', - type: 'number', - default: 0, - description: 'The id of the connection from which this order originated.', - }, - { - displayName: 'Customer ID', - name: 'customerid', - type: 'number', - default: 0, - description: 'The id of the customer associated with this order.', - }, - { - displayName: 'Creation Date', - name: 'externalupdatedDate', - type: 'dateTime', - default: '', - description: 'The date the order was placed.', - }, - { - displayName: 'Abandoning Date', - name: 'abandonedDate', - type: 'dateTime', - default: '', - description: 'The date the cart was abandoned. REQUIRED ONLY IF INCLUDING EXTERNALCHECKOUTID.', - }, - { - displayName: 'Shipping Amount', - name: 'shippingAmount', - type: 'number', - default: 0, - description: 'The total shipping amount for the order in cents .', - }, - - { - displayName: 'Tax Amount', - name: 'taxAmount', - type: 'number', - default: 0, - description: 'The total tax amount for the order in cents.', - }, - { - displayName: 'Discount Amount', - name: 'discountAmount', - type: 'number', - default: 0, - description: 'The total discount amount for the order in cents.', - }, - { - displayName: 'Order URL', - name: 'orderUrl', - type: 'string', - default: '', - description: 'The URL for the order in the external service.', - }, - { - displayName: 'External updated date', - name: 'externalUpdatedDate', - type: 'dateTime', - default: '', - description: 'The date the order was updated.', - }, - { - displayName: 'Shipping Method', - name: 'shippingMethod', - type: 'string', - default: '', - description: 'The shipping method of the order.', - }, - { - displayName: 'Order Number', - name: 'orderNumber', - type: 'string', - default: '', - description: 'The order number. This can be different than the externalid.', - }, - - { - displayName: 'Products', - name: 'orderProducts', - type: 'collection', - typeOptions: { - multipleValues: true, - multipleValueButtonText: 'Add product', - }, - default: {}, - description: 'All ordered products', - placeholder: 'Add product field', - options: [ - { - displayName: 'Name', - name: 'name', - type: 'string', - default: '', - description: 'The name of the product', - }, - { - displayName: 'Price', - name: 'price', - type: 'number', - default: 0, - description: 'The price of the product, in cents. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', - }, - { - displayName: 'Product Quantity', - name: 'quantity', - type: 'number', - default: 0, - description: 'The quantity ordered.', - }, - { - displayName: 'Product external ID', - name: 'externalid', - type: 'string', - default: '', - description: 'The id of the product in the external service.', - }, - { - displayName: 'Product Category', - name: 'category', - type: 'string', - default: '', - description: 'The category of the product.', - }, - { - displayName: 'SKU', - name: 'sku', - type: 'string', - default: '', - description: 'The SKU for the product.', - }, - { - displayName: 'Description', - name: 'description', - type: 'string', - default: '', - description: 'The description of the product.', - }, - { - displayName: 'Image URL', - name: 'imageUrl', - type: 'string', - default: '', - description: 'An Image URL that displays an image of the product.', - }, - { - displayName: 'Product URL', - name: 'productUrl', - type: 'string', - default: '', - description: 'A URL linking to the product in your store.', - }, - ], - }, - - ] - }, - - // ---------------------------------- - // ecommerceOrder:delete - // ---------------------------------- - { - displayName: 'Order ID', - name: 'orderId', - type: 'number', - default: 0, - displayOptions: { - show: { - operation: [ - 'delete', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The id of the e-commerce order.', - }, - - // ---------------------------------- - // ecommerceOrder:get - // ---------------------------------- - { - displayName: 'Order ID', - name: 'orderId', - type: 'number', - default: 0, - displayOptions: { - show: { - operation: [ - 'get', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - description: 'The id of the e-commerce order.', - }, - - // ---------------------------------- - // ecommerceOrder:getAll - // ---------------------------------- - { - displayName: 'Return All', - name: 'returnAll', - type: 'boolean', - displayOptions: { - show: { - operation: [ - 'getAll', - ], - resource: [ - 'ecommerceOrder', - ], - }, - }, - default: false, - description: 'If all results should be returned or only up to a given limit.', - }, - { - displayName: 'Limit', - name: 'limit', - type: 'number', - displayOptions: { - show: { - operation: [ - 'getAll', - ], - resource: [ - 'ecommerceOrder', - ], - returnAll: [ - false, - ], - }, - }, - typeOptions: { - minValue: 1, - maxValue: 500, - }, - default: 100, - description: 'How many results to return.', - }, ], }; diff --git a/packages/nodes-base/nodes/ActiveCampaign/ContactDescription.ts b/packages/nodes-base/nodes/ActiveCampaign/ContactDescription.ts new file mode 100644 index 0000000000..b444824505 --- /dev/null +++ b/packages/nodes-base/nodes/ActiveCampaign/ContactDescription.ts @@ -0,0 +1,351 @@ +import { INodeProperties } from "n8n-workflow"; + +export const contactOperations = [ + { + displayName: 'Operation', + name: 'operation', + type: 'options', + displayOptions: { + show: { + resource: [ + 'contact', + ], + }, + }, + options: [ + { + name: 'Create', + value: 'create', + description: 'Create a contact', + }, + { + name: 'Delete', + value: 'delete', + description: 'Delete a contact', + }, + { + name: 'Get', + value: 'get', + description: 'Get data of a contact', + }, + { + name: 'Get All', + value: 'getAll', + description: 'Get data of all contact', + }, + { + name: 'Update', + value: 'update', + description: 'Update a contact', + }, + ], + default: 'create', + description: 'The operation to perform.', + }, +] as INodeProperties[] + +export const contactFields = [ + // ---------------------------------- + // contact:create + // ---------------------------------- + { + displayName: 'Email', + name: 'email', + type: 'string', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'contact', + ], + }, + }, + description: 'The email of the contact to create', + }, + { + displayName: 'Update if exists', + name: 'updateIfExists', + type: 'boolean', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'contact', + ], + }, + }, + default: false, + description: 'Update user if it exists already. If not set and user exists it will error instead.', + }, + { + displayName: 'Additional Fields', + name: 'additionalFields', + type: 'collection', + placeholder: 'Add Field', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'contact', + ], + }, + }, + default: {}, + options: [ + { + displayName: 'First Name', + name: 'firstName', + type: 'string', + default: '', + description: 'The first name of the contact to create', + }, + { + displayName: 'Last Name', + name: 'lastName', + type: 'string', + default: '', + description: 'The last name of the contact to create', + }, + { + displayName: 'Phone', + name: 'phone', + type: 'string', + default: '', + description: 'Phone number of the contact.', + }, + { + displayName: 'Custom Properties', + name: 'customProperties', + placeholder: 'Add Custom Property', + description: 'Adds a custom property to set also values which have not been predefined.', + type: 'fixedCollection', + typeOptions: { + multipleValues: true, + }, + default: {}, + options: [ + { + name: 'property', + displayName: 'Property', + values: [ + { + displayName: 'Property Name', + name: 'name', + type: 'string', + default: '', + description: 'Name of the property to set.', + }, + { + displayName: 'Property Value', + name: 'value', + type: 'string', + default: '', + description: 'Value of the property to set.', + }, + ] + }, + ], + }, + ], + }, + + // ---------------------------------- + // contact:update + // ---------------------------------- + { + displayName: 'Contact ID', + name: 'contactId', + type: 'number', + displayOptions: { + show: { + operation: [ + 'update', + ], + resource: [ + 'contact', + ], + }, + }, + default: 0, + required: true, + description: 'ID of the contact to update.', + }, + { + displayName: 'Update Fields', + name: 'updateFields', + type: 'collection', + description: 'The fields to update.', + placeholder: 'Add Field', + displayOptions: { + show: { + operation: [ + 'update', + ], + resource: [ + 'contact', + ], + }, + }, + default: {}, + options: [ + { + displayName: 'Email', + name: 'email', + type: 'string', + default: '', + description: 'Email of the contact.', + }, + { + displayName: 'First Name', + name: 'firstName', + type: 'string', + default: '', + description: 'First name of the contact', + }, + { + displayName: 'Last Name', + name: 'lastName', + type: 'string', + default: '', + description: 'Last name of the contact', + }, + { + displayName: 'Phone', + name: 'phone', + type: 'string', + default: '', + description: 'Phone number of the contact.', + }, + { + displayName: 'Custom Properties', + name: 'customProperties', + placeholder: 'Add Custom Property', + description: 'Adds a custom property to set also values which have not been predefined.', + type: 'fixedCollection', + typeOptions: { + multipleValues: true, + }, + default: {}, + options: [ + { + name: 'property', + displayName: 'Property', + values: [ + { + displayName: 'Property Name', + name: 'name', + type: 'string', + default: '', + description: 'Name of the property to set.', + }, + { + displayName: 'Property Value', + name: 'value', + type: 'string', + default: '', + description: 'Value of the property to set.', + }, + ] + }, + ], + }, + ], + }, + + // ---------------------------------- + // contact:delete + // ---------------------------------- + { + displayName: 'Contact ID', + name: 'contactId', + type: 'number', + displayOptions: { + show: { + operation: [ + 'delete', + ], + resource: [ + 'contact', + ], + }, + }, + default: 0, + required: true, + description: 'ID of the contact to delete.', + }, + + // ---------------------------------- + // contact:get + // ---------------------------------- + { + displayName: 'Contact ID', + name: 'contactId', + type: 'number', + displayOptions: { + show: { + operation: [ + 'get', + ], + resource: [ + 'contact', + ], + }, + }, + default: 0, + required: true, + description: 'ID of the contact to get.', + }, + + // ---------------------------------- + // contact:getAll + // ---------------------------------- + { + displayName: 'Return All', + name: 'returnAll', + type: 'boolean', + displayOptions: { + show: { + operation: [ + 'getAll', + ], + resource: [ + 'contact', + ], + }, + }, + default: false, + description: 'If all results should be returned or only up to a given limit.', + }, + { + displayName: 'Limit', + name: 'limit', + type: 'number', + displayOptions: { + show: { + operation: [ + 'getAll', + ], + resource: [ + 'contact', + ], + returnAll: [ + false, + ], + }, + }, + typeOptions: { + minValue: 1, + maxValue: 500, + }, + default: 100, + description: 'How many results to return.', + }, +] as INodeProperties[] diff --git a/packages/nodes-base/nodes/ActiveCampaign/DealDescription.ts b/packages/nodes-base/nodes/ActiveCampaign/DealDescription.ts new file mode 100644 index 0000000000..03ffc386df --- /dev/null +++ b/packages/nodes-base/nodes/ActiveCampaign/DealDescription.ts @@ -0,0 +1,529 @@ +import { INodeProperties } from "n8n-workflow"; + +import { allCurrencies } from './currencies'; + +export const dealOperations = [ + { + displayName: 'Operation', + name: 'operation', + type: 'options', + displayOptions: { + show: { + resource: [ + 'deal', + ], + }, + }, + options: [ + { + name: 'Create', + value: 'create', + description: 'Create a deal', + }, + { + name: 'Delete', + value: 'delete', + description: 'Delete a deal', + }, + { + name: 'Get', + value: 'get', + description: 'Get data of a deal', + }, + { + name: 'Get All', + value: 'getAll', + description: 'Get data of all deals', + }, + { + name: 'Update', + value: 'update', + description: 'Update a deal', + }, + { + name: 'Create Note', + value: 'createNote', + description: 'Create a deal note', + }, + { + name: 'Update deal note', + value: 'updateNote', + description: 'Update a deal note', + }, + ], + default: 'create', + description: 'The operation to perform.', + }, + +] as INodeProperties[] + +export const dealFields = [ + // ---------------------------------- + // deal:create + // ---------------------------------- + { + displayName: 'Title', + name: 'title', + type: 'string', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The title of the deal', + }, + { + displayName: 'Deal\'s contact ID', + name: 'contact', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The ID of the deal\'s contact', + }, + { + displayName: 'Deal value', + name: 'value', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The value of the deal in cents', + }, + { + displayName: 'Currency', + name: 'currency', + type: 'options', + default: 'eur', + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + options: allCurrencies, + description: 'The currency of the deal in 3-character ISO format', + }, + { + displayName: 'Deal pipeline ID', + name: 'group', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The pipeline ID of the deal', + }, + { + displayName: 'Deal stage ID', + name: 'stage', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The stage ID of the deal', + }, + { + displayName: 'Deal owner ID', + name: 'owner', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The owner ID of the deal', + }, + { + displayName: 'Additional Fields', + name: 'additionalFields', + type: 'collection', + placeholder: 'Add Field', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'deal', + ], + }, + }, + default: {}, + options: [ + { + displayName: 'Description', + name: 'description', + type: 'string', + default: '', + description: 'The description of the deal', + }, + + { + displayName: 'Deal percentage', + name: 'percent', + type: 'number', + default: 0, + description: 'The percentage of the deal', + }, + { + displayName: 'Deal status', + name: 'status', + type: 'number', + default: 0, + description: 'The status of the deal', + }, + ] + }, + + // ---------------------------------- + // deal:update + // ---------------------------------- + { + displayName: 'Deal ID', + name: 'dealId', + type: 'number', + displayOptions: { + show: { + operation: [ + 'update', + ], + resource: [ + 'deal', + ], + }, + }, + default: 0, + required: true, + description: 'ID of the deal to update.', + }, + { + displayName: 'Update Fields', + name: 'updateFields', + type: 'collection', + description: 'The fields to update.', + placeholder: 'Add Field', + displayOptions: { + show: { + operation: [ + 'update', + ], + resource: [ + 'deal', + ], + }, + }, + default: {}, + options: [ + { + displayName: 'Title', + name: 'title', + type: 'string', + default: '', + description: 'The title of the deal', + }, + { + displayName: 'Deal\'s contact ID', + name: 'contact', + type: 'number', + default: 0, + description: 'The ID of the deal\'s contact', + }, + { + displayName: 'Deal value', + name: 'value', + type: 'number', + default: 0, + description: 'The value of the deal in cents', + }, + { + displayName: 'Currency', + name: 'currency', + type: 'options', + options: allCurrencies, + default: 'eur', + description: 'The currency of the deal in 3-character ISO format', + }, + { + displayName: 'Description', + name: 'description', + type: 'string', + default: '', + description: 'The description of the deal', + }, + { + displayName: 'Deal pipeline ID', + name: 'group', + type: 'string', + default: '', + description: 'The pipeline ID of the deal', + }, + { + displayName: 'Deal stage ID', + name: 'stage', + type: 'string', + default: '', + description: 'The stage ID of the deal', + }, + { + displayName: 'Deal owner ID', + name: 'owner', + type: 'string', + default: '', + description: 'The owner ID of the deal', + }, + { + displayName: 'Deal percentage', + name: 'percent', + type: 'number', + default: 0, + description: 'The percentage of the deal', + }, + { + displayName: 'Deal status', + name: 'status', + type: 'number', + default: 0, + description: 'The status of the deal', + }, + ] + }, + + // ---------------------------------- + // deal:delete + // ---------------------------------- + { + displayName: 'Deal ID', + name: 'dealId', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'delete', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The ID of the deal', + }, + + // ---------------------------------- + // deal:get + // ---------------------------------- + { + displayName: 'Deal ID', + name: 'dealId', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'get', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The ID of the deal', + }, + + // ---------------------------------- + // deal:getAll + // ---------------------------------- + { + displayName: 'Return All', + name: 'returnAll', + type: 'boolean', + displayOptions: { + show: { + operation: [ + 'getAll', + ], + resource: [ + 'deal', + ], + }, + }, + default: false, + description: 'If all results should be returned or only up to a given limit.', + }, + { + displayName: 'Limit', + name: 'limit', + type: 'number', + displayOptions: { + show: { + operation: [ + 'getAll', + ], + resource: [ + 'deal', + ], + returnAll: [ + false, + ], + }, + }, + typeOptions: { + minValue: 1, + maxValue: 500, + }, + default: 100, + description: 'How many results to return.', + }, + + // ---------------------------------- + // dealNote:create + // ---------------------------------- + { + displayName: 'Deal ID', + name: 'dealId', + type: 'number', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'createNote', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The ID of the deal note', + }, + { + displayName: 'Deal Note', + name: 'dealNote', + type: 'string', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'createNote', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The content of the deal note', + }, + + // ---------------------------------- + // dealNote:update + // ---------------------------------- + { + displayName: 'Deal ID', + name: 'dealId', + type: 'number', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'updateNote', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The ID of the deal note', + }, + { + displayName: 'Deal note ID', + name: 'dealNoteId', + type: 'number', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'updateNote', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The ID of the deal note', + }, + { + displayName: 'Deal Note', + name: 'dealNote', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [ + 'updateNote', + ], + resource: [ + 'deal', + ], + }, + }, + description: 'The content of the deal note', + }, + +] as INodeProperties[] \ No newline at end of file diff --git a/packages/nodes-base/nodes/ActiveCampaign/EcomOrderDescription.ts b/packages/nodes-base/nodes/ActiveCampaign/EcomOrderDescription.ts new file mode 100644 index 0000000000..846c5cd355 --- /dev/null +++ b/packages/nodes-base/nodes/ActiveCampaign/EcomOrderDescription.ts @@ -0,0 +1,719 @@ +import { INodeProperties } from "n8n-workflow"; + +import { allCurrencies } from './currencies'; + +export const ecomOrderOperations = [ + + + { + displayName: 'Operation', + name: 'operation', + type: 'options', + displayOptions: { + show: { + resource: [ + 'ecommerceOrder', + ], + }, + }, + options: [ + { + name: 'Create', + value: 'create', + description: 'Create a order', + }, + { + name: 'Delete', + value: 'delete', + description: 'Delete a order', + }, + { + name: 'Get', + value: 'get', + description: 'Get data of a order', + }, + { + name: 'Get All', + value: 'getAll', + description: 'Get data of all orders', + }, + { + name: 'Update', + value: 'update', + description: 'Update a order', + }, + ], + default: 'create', + description: 'The operation to perform.', + }, +] as INodeProperties[] + +export const ecomOrderFields = [ + + // ---------------------------------- + // ecommerceOrder:create + // ---------------------------------- + { + displayName: 'External ID', + name: 'externalid', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The id of the order in the external service. ONLY REQUIRED IF EXTERNALCHECKOUTID NOT INCLUDED', + }, + { + displayName: 'External checkout ID', + name: 'externalcheckoutid', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The id of the cart in the external service. ONLY REQUIRED IF EXTERNALID IS NOT INCLUDED.', + }, + { + displayName: 'Order source', + name: 'source', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The order source code (0 - will not trigger automations, 1 - will trigger automations).', + }, + { + displayName: 'Customer Email', + name: 'email', + type: 'string', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The email address of the customer who placed the order.', + }, + { + displayName: 'Total price', + name: 'totalPrice', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The total price of the order in cents, including tax and shipping charges. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', + }, + { + displayName: 'Order currency', + name: 'currency', + type: 'options', + default: 'eur', + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + options: allCurrencies, + description: 'The currency of the order (3-digit ISO code, e.g., "USD").', + }, + { + displayName: 'Connection ID', + name: 'connectionid', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The id of the connection from which this order originated.', + }, + { + displayName: 'Customer ID', + name: 'customerid', + type: 'number', + default: 0, + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The id of the customer associated with this order.', + }, + { + displayName: 'Creation Date', + name: 'externalCreatedDate', + type: 'dateTime', + default: '', + required: true, + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The date the order was placed.', + }, + { + displayName: 'Abandoning Date', + name: 'abandonedDate', + type: 'dateTime', + default: '', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The date the cart was abandoned. REQUIRED ONLY IF INCLUDING EXTERNALCHECKOUTID.', + }, + { + displayName: 'Products', + name: 'orderProducts', + type: 'collection', + typeOptions: { + multipleValues: true, + multipleValueButtonText: 'Add product', + }, + displayOptions: { + show: { + operation: [ + 'create' + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + default: {}, + description: 'All ordered products', + placeholder: 'Add product field', + options: [ + { + displayName: 'Name', + name: 'name', + type: 'string', + default: '', + description: 'The name of the product', + }, + { + displayName: 'Price', + name: 'price', + type: 'number', + default: 0, + description: 'The price of the product, in cents. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', + }, + { + displayName: 'Product Quantity', + name: 'quantity', + type: 'number', + default: 0, + description: 'The quantity ordered.', + }, + { + displayName: 'Product external ID', + name: 'externalid', + type: 'string', + default: '', + description: 'The id of the product in the external service.', + }, + { + displayName: 'Product Category', + name: 'category', + type: 'string', + default: '', + description: 'The category of the product.', + }, + { + displayName: 'SKU', + name: 'sku', + type: 'string', + default: '', + description: 'The SKU for the product.', + }, + { + displayName: 'Description', + name: 'description', + type: 'string', + default: '', + description: 'The description of the product.', + }, + { + displayName: 'Image URL', + name: 'imageUrl', + type: 'string', + default: '', + description: 'An Image URL that displays an image of the product.', + }, + { + displayName: 'Product URL', + name: 'productUrl', + type: 'string', + default: '', + description: 'A URL linking to the product in your store.', + }, + ], + }, + { + displayName: 'Additional Fields', + name: 'additionalFields', + type: 'collection', + placeholder: 'Add Field', + displayOptions: { + show: { + operation: [ + 'create', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + default: {}, + options: [ + { + displayName: 'Shipping Amount', + name: 'shippingAmount', + type: 'number', + default: 0, + description: 'The total shipping amount for the order in cents .', + }, + + { + displayName: 'Tax Amount', + name: 'taxAmount', + type: 'number', + default: 0, + description: 'The total tax amount for the order in cents.', + }, + { + displayName: 'Discount Amount', + name: 'discountAmount', + type: 'number', + default: 0, + description: 'The total discount amount for the order in cents.', + }, + { + displayName: 'Order URL', + name: 'orderUrl', + type: 'string', + default: '', + description: 'The URL for the order in the external service.', + }, + { + displayName: 'External updated date', + name: 'externalUpdatedDate', + type: 'dateTime', + default: '', + description: 'The date the order was updated.', + }, + { + displayName: 'Shipping Method', + name: 'shippingMethod', + type: 'string', + default: '', + description: 'The shipping method of the order.', + }, + { + displayName: 'Order Number', + name: 'orderNumber', + type: 'string', + default: '', + description: 'The order number. This can be different than the externalid.', + }, + + ] + }, + + // ---------------------------------- + // ecommerceOrder:update + // ---------------------------------- + { + displayName: 'Order ID', + name: 'orderId', + type: 'number', + default: 0, + displayOptions: { + show: { + operation: [ + 'update', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The id of the e-commerce order.', + }, + + { + displayName: 'Add Field', + name: 'updateFields', + type: 'collection', + placeholder: 'Add Field', + displayOptions: { + show: { + operation: [ + 'update', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + default: {}, + options: [ + { + displayName: 'External ID', + name: 'externalid', + type: 'string', + default: '', + description: 'The id of the order in the external service. ONLY REQUIRED IF EXTERNALCHECKOUTID NOT INCLUDED', + }, + { + displayName: 'External checkout ID', + name: 'externalcheckoutid', + type: 'string', + default: '', + description: 'The id of the cart in the external service. ONLY REQUIRED IF EXTERNALID IS NOT INCLUDED.', + }, + { + displayName: 'Order source', + name: 'source', + type: 'number', + default: 0, + description: 'The order source code (0 - will not trigger automations, 1 - will trigger automations).', + }, + { + displayName: 'Customer Email', + name: 'email', + type: 'string', + default: '', + description: 'The email address of the customer who placed the order.', + }, + { + displayName: 'Total price', + name: 'totalPrice', + type: 'number', + default: 0, + description: 'The total price of the order in cents, including tax and shipping charges. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', + }, + { + displayName: 'Order currency', + name: 'currency', + type: 'options', + default: 'eur', + options: allCurrencies, + description: 'The currency of the order (3-digit ISO code, e.g., "USD").', + }, + { + displayName: 'Connection ID', + name: 'connectionid', + type: 'number', + default: 0, + description: 'The id of the connection from which this order originated.', + }, + { + displayName: 'Customer ID', + name: 'customerid', + type: 'number', + default: 0, + description: 'The id of the customer associated with this order.', + }, + { + displayName: 'Creation Date', + name: 'externalupdatedDate', + type: 'dateTime', + default: '', + description: 'The date the order was placed.', + }, + { + displayName: 'Abandoning Date', + name: 'abandonedDate', + type: 'dateTime', + default: '', + description: 'The date the cart was abandoned. REQUIRED ONLY IF INCLUDING EXTERNALCHECKOUTID.', + }, + { + displayName: 'Shipping Amount', + name: 'shippingAmount', + type: 'number', + default: 0, + description: 'The total shipping amount for the order in cents .', + }, + + { + displayName: 'Tax Amount', + name: 'taxAmount', + type: 'number', + default: 0, + description: 'The total tax amount for the order in cents.', + }, + { + displayName: 'Discount Amount', + name: 'discountAmount', + type: 'number', + default: 0, + description: 'The total discount amount for the order in cents.', + }, + { + displayName: 'Order URL', + name: 'orderUrl', + type: 'string', + default: '', + description: 'The URL for the order in the external service.', + }, + { + displayName: 'External updated date', + name: 'externalUpdatedDate', + type: 'dateTime', + default: '', + description: 'The date the order was updated.', + }, + { + displayName: 'Shipping Method', + name: 'shippingMethod', + type: 'string', + default: '', + description: 'The shipping method of the order.', + }, + { + displayName: 'Order Number', + name: 'orderNumber', + type: 'string', + default: '', + description: 'The order number. This can be different than the externalid.', + }, + + { + displayName: 'Products', + name: 'orderProducts', + type: 'collection', + typeOptions: { + multipleValues: true, + multipleValueButtonText: 'Add product', + }, + default: {}, + description: 'All ordered products', + placeholder: 'Add product field', + options: [ + { + displayName: 'Name', + name: 'name', + type: 'string', + default: '', + description: 'The name of the product', + }, + { + displayName: 'Price', + name: 'price', + type: 'number', + default: 0, + description: 'The price of the product, in cents. (i.e. $456.78 => 45678). Must be greater than or equal to zero.', + }, + { + displayName: 'Product Quantity', + name: 'quantity', + type: 'number', + default: 0, + description: 'The quantity ordered.', + }, + { + displayName: 'Product external ID', + name: 'externalid', + type: 'string', + default: '', + description: 'The id of the product in the external service.', + }, + { + displayName: 'Product Category', + name: 'category', + type: 'string', + default: '', + description: 'The category of the product.', + }, + { + displayName: 'SKU', + name: 'sku', + type: 'string', + default: '', + description: 'The SKU for the product.', + }, + { + displayName: 'Description', + name: 'description', + type: 'string', + default: '', + description: 'The description of the product.', + }, + { + displayName: 'Image URL', + name: 'imageUrl', + type: 'string', + default: '', + description: 'An Image URL that displays an image of the product.', + }, + { + displayName: 'Product URL', + name: 'productUrl', + type: 'string', + default: '', + description: 'A URL linking to the product in your store.', + }, + ], + }, + + ] + }, + + // ---------------------------------- + // ecommerceOrder:delete + // ---------------------------------- + { + displayName: 'Order ID', + name: 'orderId', + type: 'number', + default: 0, + displayOptions: { + show: { + operation: [ + 'delete', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The id of the e-commerce order.', + }, + + // ---------------------------------- + // ecommerceOrder:get + // ---------------------------------- + { + displayName: 'Order ID', + name: 'orderId', + type: 'number', + default: 0, + displayOptions: { + show: { + operation: [ + 'get', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + description: 'The id of the e-commerce order.', + }, + + // ---------------------------------- + // ecommerceOrder:getAll + // ---------------------------------- + { + displayName: 'Return All', + name: 'returnAll', + type: 'boolean', + displayOptions: { + show: { + operation: [ + 'getAll', + ], + resource: [ + 'ecommerceOrder', + ], + }, + }, + default: false, + description: 'If all results should be returned or only up to a given limit.', + }, + { + displayName: 'Limit', + name: 'limit', + type: 'number', + displayOptions: { + show: { + operation: [ + 'getAll', + ], + resource: [ + 'ecommerceOrder', + ], + returnAll: [ + false, + ], + }, + }, + typeOptions: { + minValue: 1, + maxValue: 500, + }, + default: 100, + description: 'How many results to return.', + }, +] as INodeProperties[] \ No newline at end of file diff --git a/packages/nodes-base/nodes/ActiveCampaign/currencies.ts b/packages/nodes-base/nodes/ActiveCampaign/currencies.ts index 8ff4d48adc..194864f72c 100644 --- a/packages/nodes-base/nodes/ActiveCampaign/currencies.ts +++ b/packages/nodes-base/nodes/ActiveCampaign/currencies.ts @@ -1,175 +1,173 @@ -export function returnAllCurrencyOptions() { - return [ - { name: 'Euro', value: 'eur' }, - { name: 'United States Dollar', value: 'usd' }, - { name: 'British Pound Sterling', value: 'gbp' }, - { name: 'Swiss Franc', value: 'chf' }, - { name: 'Renminbi', value: 'cny' }, - { name: '--------', value: '' }, - { name: 'United Arab Emirates Dirham', value: 'aed' }, - { name: 'Afghan Afghani', value: 'afn' }, - { name: 'Albanian Lek', value: 'all' }, - { name: 'Armenian Dram', value: 'amd' }, - { name: 'Netherlands Antillean Guilder', value: 'ang' }, - { name: 'Angolan Kwanza', value: 'aoa' }, - { name: 'Argentine Peso', value: 'ars' }, - { name: 'Australian Dollar', value: 'aud' }, - { name: 'Aruban Florin', value: 'awg' }, - { name: 'Azerbaijani Manat', value: 'azn' }, - { name: 'Bosnia-Herzegovina Convertible Mark', value: 'bam' }, - { name: 'Barbadian Dollar', value: 'bbd' }, - { name: 'Bangladeshi Taka', value: 'bdt' }, - { name: 'Bulgarian Lev', value: 'bgn' }, - { name: 'Bahraini Dinar', value: 'bhd' }, - { name: 'Burundian Franc', value: 'bif' }, - { name: 'Bermudan Dollar', value: 'bmd' }, - { name: 'Brunei Dollar', value: 'bnd' }, - { name: 'Bolivian Boliviano', value: 'bob' }, - { name: 'Brazilian Real', value: 'brl' }, - { name: 'Bahamian Dollar', value: 'bsd' }, - { name: 'Bitcoin', value: 'btc' }, - { name: 'Bhutanese Ngultrum', value: 'btn' }, - { name: 'Botswanan Pula', value: 'bwp' }, - { name: 'Belarusian Ruble', value: 'byn' }, - { name: 'Belize Dollar', value: 'bzd' }, - { name: 'Canadian Dollar', value: 'cad' }, - { name: 'Congolese Franc', value: 'cdf' }, - { name: 'Chilean Unit of Account (UF)', value: 'clf' }, - { name: 'Chilean Peso', value: 'clp' }, - { name: 'Chinese Yuan (Offshore)', value: 'cnh' }, - { name: 'Colombian Peso', value: 'cop' }, - { name: 'Costa Rican Colón', value: 'crc' }, - { name: 'Cuban Convertible Peso', value: 'cuc' }, - { name: 'Cuban Peso', value: 'cup' }, - { name: 'Cape Verdean Escudo', value: 'cve' }, - { name: 'Czech Republic Koruna', value: 'czk' }, - { name: 'Djiboutian Franc', value: 'djf' }, - { name: 'Danish Krone', value: 'dkk' }, - { name: 'Dominican Peso', value: 'dop' }, - { name: 'Algerian Dinar', value: 'dzd' }, - { name: 'Egyptian Pound', value: 'egp' }, - { name: 'Eritrean Nakfa', value: 'ern' }, - { name: 'Ethiopian Birr', value: 'etb' }, - { name: 'Fijian Dollar', value: 'fjd' }, - { name: 'Falkland Islands Pound', value: 'fkp' }, - { name: 'Georgian Lari', value: 'gel' }, - { name: 'Guernsey Pound', value: 'ggp' }, - { name: 'Ghanaian Cedi', value: 'ghs' }, - { name: 'Gibraltar Pound', value: 'gip' }, - { name: 'Gambian Dalasi', value: 'gmd' }, - { name: 'Guinean Franc', value: 'gnf' }, - { name: 'Guatemalan Quetzal', value: 'gtq' }, - { name: 'Guyanaese Dollar', value: 'gyd' }, - { name: 'Hong Kong Dollar', value: 'hkd' }, - { name: 'Honduran Lempira', value: 'hnl' }, - { name: 'Croatian Kuna', value: 'hrk' }, - { name: 'Haitian Gourde', value: 'htg' }, - { name: 'Hungarian Forint', value: 'huf' }, - { name: 'Indonesian Rupiah', value: 'idr' }, - { name: 'Israeli New Sheqel', value: 'ils' }, - { name: 'Manx pound', value: 'imp' }, - { name: 'Indian Rupee', value: 'inr' }, - { name: 'Iraqi Dinar', value: 'iqd' }, - { name: 'Iranian Rial', value: 'irr' }, - { name: 'Icelandic Króna', value: 'isk' }, - { name: 'Jersey Pound', value: 'jep' }, - { name: 'Jamaican Dollar', value: 'jmd' }, - { name: 'Jordanian Dinar', value: 'jod' }, - { name: 'Japanese Yen', value: 'jpy' }, - { name: 'Kenyan Shilling', value: 'kes' }, - { name: 'Kyrgystani Som', value: 'kgs' }, - { name: 'Cambodian Riel', value: 'khr' }, - { name: 'Comorian Franc', value: 'kmf' }, - { name: 'North Korean Won', value: 'kpw' }, - { name: 'South Korean Won', value: 'krw' }, - { name: 'Kuwaiti Dinar', value: 'kwd' }, - { name: 'Cayman Islands Dollar', value: 'kyd' }, - { name: 'Kazakhstani Tenge', value: 'kzt' }, - { name: 'Laotian Kip', value: 'lak' }, - { name: 'Lebanese Pound', value: 'lbp' }, - { name: 'Sri Lankan Rupee', value: 'lkr' }, - { name: 'Liberian Dollar', value: 'lrd' }, - { name: 'Lesotho Loti', value: 'lsl' }, - { name: 'Libyan Dinar', value: 'lyd' }, - { name: 'Moroccan Dirham', value: 'mad' }, - { name: 'Moldovan Leu', value: 'mdl' }, - { name: 'Malagasy Ariary', value: 'mga' }, - { name: 'Macedonian Denar', value: 'mkd' }, - { name: 'Myanma Kyat', value: 'mmk' }, - { name: 'Mongolian Tugrik', value: 'mnt' }, - { name: 'Macanese Pataca', value: 'mop' }, - { name: 'Mauritanian Ouguiya (pre-2018)', value: 'mro' }, - { name: 'Mauritanian Ouguiya', value: 'mru' }, - { name: 'Mauritian Rupee', value: 'mur' }, - { name: 'Maldivian Rufiyaa', value: 'mvr' }, - { name: 'Malawian Kwacha', value: 'mwk' }, - { name: 'Mexican Peso', value: 'mxn' }, - { name: 'Malaysian Ringgit', value: 'myr' }, - { name: 'Mozambican Metical', value: 'mzn' }, - { name: 'Namibian Dollar', value: 'nad' }, - { name: 'Nigerian Naira', value: 'ngn' }, - { name: 'Nicaraguan Córdoba', value: 'nio' }, - { name: 'Norwegian Krone', value: 'nok' }, - { name: 'Nepalese Rupee', value: 'npr' }, - { name: 'New Zealand Dollar', value: 'nzd' }, - { name: 'Omani Rial', value: 'omr' }, - { name: 'Panamanian Balboa', value: 'pab' }, - { name: 'Peruvian Nuevo Sol', value: 'pen' }, - { name: 'Papua New Guinean Kina', value: 'pgk' }, - { name: 'Philippine Peso', value: 'php' }, - { name: 'Pakistani Rupee', value: 'pkr' }, - { name: 'Polish Zloty', value: 'pln' }, - { name: 'Paraguayan Guarani', value: 'pyg' }, - { name: 'Qatari Rial', value: 'qar' }, - { name: 'Romanian Leu', value: 'ron' }, - { name: 'Serbian Dinar', value: 'rsd' }, - { name: 'Russian Ruble', value: 'rub' }, - { name: 'Rwandan Franc', value: 'rwf' }, - { name: 'Saudi Riyal', value: 'sar' }, - { name: 'Solomon Islands Dollar', value: 'sbd' }, - { name: 'Seychellois Rupee', value: 'scr' }, - { name: 'Sudanese Pound', value: 'sdg' }, - { name: 'Swedish Krona', value: 'sek' }, - { name: 'Singapore Dollar', value: 'sgd' }, - { name: 'Saint Helena Pound', value: 'shp' }, - { name: 'Sierra Leonean Leone', value: 'sll' }, - { name: 'Somali Shilling', value: 'sos' }, - { name: 'Surinamese Dollar', value: 'srd' }, - { name: 'South Sudanese Pound', value: 'ssp' }, - { name: 'São Tomé and Príncipe Dobra (pre-2018)', value: 'std' }, - { name: 'São Tomé and Príncipe Dobra', value: 'stn' }, - { name: 'Salvadoran Colón', value: 'svc' }, - { name: 'Syrian Pound', value: 'syp' }, - { name: 'Swazi Lilangeni', value: 'szl' }, - { name: 'Thai Baht', value: 'thb' }, - { name: 'Tajikistani Somoni', value: 'tjs' }, - { name: 'Turkmenistani Manat', value: 'tmt' }, - { name: 'Tunisian Dinar', value: 'tnd' }, - { name: "Tongan Pa'anga", value: 'top' }, - { name: 'Turkish Lira', value: 'try' }, - { name: 'Trinidad and Tobago Dollar', value: 'ttd' }, - { name: 'New Taiwan Dollar', value: 'twd' }, - { name: 'Tanzanian Shilling', value: 'tzs' }, - { name: 'Ukrainian Hryvnia', value: 'uah' }, - { name: 'Ugandan Shilling', value: 'ugx' }, - { name: 'Uruguayan Peso', value: 'uyu' }, - { name: 'Uzbekistan Som', value: 'uzs' }, - { name: 'Venezuelan Bolívar Fuerte', value: 'vef' }, - { name: 'Vietnamese Dong', value: 'vnd' }, - { name: 'Vanuatu Vatu', value: 'vuv' }, - { name: 'Samoan Tala', value: 'wst' }, - { name: 'CFA Franc BEAC', value: 'xaf' }, - { name: 'Silver Ounce', value: 'xag' }, - { name: 'Gold Ounce', value: 'xau' }, - { name: 'East Caribbean Dollar', value: 'xcd' }, - { name: 'Special Drawing Rights', value: 'xdr' }, - { name: 'CFA Franc BCEAO', value: 'xof' }, - { name: 'Palladium Ounce', value: 'xpd' }, - { name: 'CFP Franc', value: 'xpf' }, - { name: 'Platinum Ounce', value: 'xpt' }, - { name: 'Yemeni Rial', value: 'yer' }, - { name: 'South African Rand', value: 'zar' }, - { name: 'Zambian Kwacha', value: 'zmw' }, - { name: 'Zimbabwean Dollar', value: 'zwl' } - ] -} \ No newline at end of file +export const allCurrencies = [ + { name: 'Euro', value: 'eur' }, + { name: 'United States Dollar', value: 'usd' }, + { name: 'British Pound Sterling', value: 'gbp' }, + { name: 'Swiss Franc', value: 'chf' }, + { name: 'Renminbi', value: 'cny' }, + { name: '--------', value: '' }, + { name: 'United Arab Emirates Dirham', value: 'aed' }, + { name: 'Afghan Afghani', value: 'afn' }, + { name: 'Albanian Lek', value: 'all' }, + { name: 'Armenian Dram', value: 'amd' }, + { name: 'Netherlands Antillean Guilder', value: 'ang' }, + { name: 'Angolan Kwanza', value: 'aoa' }, + { name: 'Argentine Peso', value: 'ars' }, + { name: 'Australian Dollar', value: 'aud' }, + { name: 'Aruban Florin', value: 'awg' }, + { name: 'Azerbaijani Manat', value: 'azn' }, + { name: 'Bosnia-Herzegovina Convertible Mark', value: 'bam' }, + { name: 'Barbadian Dollar', value: 'bbd' }, + { name: 'Bangladeshi Taka', value: 'bdt' }, + { name: 'Bulgarian Lev', value: 'bgn' }, + { name: 'Bahraini Dinar', value: 'bhd' }, + { name: 'Burundian Franc', value: 'bif' }, + { name: 'Bermudan Dollar', value: 'bmd' }, + { name: 'Brunei Dollar', value: 'bnd' }, + { name: 'Bolivian Boliviano', value: 'bob' }, + { name: 'Brazilian Real', value: 'brl' }, + { name: 'Bahamian Dollar', value: 'bsd' }, + { name: 'Bitcoin', value: 'btc' }, + { name: 'Bhutanese Ngultrum', value: 'btn' }, + { name: 'Botswanan Pula', value: 'bwp' }, + { name: 'Belarusian Ruble', value: 'byn' }, + { name: 'Belize Dollar', value: 'bzd' }, + { name: 'Canadian Dollar', value: 'cad' }, + { name: 'Congolese Franc', value: 'cdf' }, + { name: 'Chilean Unit of Account (UF)', value: 'clf' }, + { name: 'Chilean Peso', value: 'clp' }, + { name: 'Chinese Yuan (Offshore)', value: 'cnh' }, + { name: 'Colombian Peso', value: 'cop' }, + { name: 'Costa Rican Colón', value: 'crc' }, + { name: 'Cuban Convertible Peso', value: 'cuc' }, + { name: 'Cuban Peso', value: 'cup' }, + { name: 'Cape Verdean Escudo', value: 'cve' }, + { name: 'Czech Republic Koruna', value: 'czk' }, + { name: 'Djiboutian Franc', value: 'djf' }, + { name: 'Danish Krone', value: 'dkk' }, + { name: 'Dominican Peso', value: 'dop' }, + { name: 'Algerian Dinar', value: 'dzd' }, + { name: 'Egyptian Pound', value: 'egp' }, + { name: 'Eritrean Nakfa', value: 'ern' }, + { name: 'Ethiopian Birr', value: 'etb' }, + { name: 'Fijian Dollar', value: 'fjd' }, + { name: 'Falkland Islands Pound', value: 'fkp' }, + { name: 'Georgian Lari', value: 'gel' }, + { name: 'Guernsey Pound', value: 'ggp' }, + { name: 'Ghanaian Cedi', value: 'ghs' }, + { name: 'Gibraltar Pound', value: 'gip' }, + { name: 'Gambian Dalasi', value: 'gmd' }, + { name: 'Guinean Franc', value: 'gnf' }, + { name: 'Guatemalan Quetzal', value: 'gtq' }, + { name: 'Guyanaese Dollar', value: 'gyd' }, + { name: 'Hong Kong Dollar', value: 'hkd' }, + { name: 'Honduran Lempira', value: 'hnl' }, + { name: 'Croatian Kuna', value: 'hrk' }, + { name: 'Haitian Gourde', value: 'htg' }, + { name: 'Hungarian Forint', value: 'huf' }, + { name: 'Indonesian Rupiah', value: 'idr' }, + { name: 'Israeli New Sheqel', value: 'ils' }, + { name: 'Manx pound', value: 'imp' }, + { name: 'Indian Rupee', value: 'inr' }, + { name: 'Iraqi Dinar', value: 'iqd' }, + { name: 'Iranian Rial', value: 'irr' }, + { name: 'Icelandic Króna', value: 'isk' }, + { name: 'Jersey Pound', value: 'jep' }, + { name: 'Jamaican Dollar', value: 'jmd' }, + { name: 'Jordanian Dinar', value: 'jod' }, + { name: 'Japanese Yen', value: 'jpy' }, + { name: 'Kenyan Shilling', value: 'kes' }, + { name: 'Kyrgystani Som', value: 'kgs' }, + { name: 'Cambodian Riel', value: 'khr' }, + { name: 'Comorian Franc', value: 'kmf' }, + { name: 'North Korean Won', value: 'kpw' }, + { name: 'South Korean Won', value: 'krw' }, + { name: 'Kuwaiti Dinar', value: 'kwd' }, + { name: 'Cayman Islands Dollar', value: 'kyd' }, + { name: 'Kazakhstani Tenge', value: 'kzt' }, + { name: 'Laotian Kip', value: 'lak' }, + { name: 'Lebanese Pound', value: 'lbp' }, + { name: 'Sri Lankan Rupee', value: 'lkr' }, + { name: 'Liberian Dollar', value: 'lrd' }, + { name: 'Lesotho Loti', value: 'lsl' }, + { name: 'Libyan Dinar', value: 'lyd' }, + { name: 'Moroccan Dirham', value: 'mad' }, + { name: 'Moldovan Leu', value: 'mdl' }, + { name: 'Malagasy Ariary', value: 'mga' }, + { name: 'Macedonian Denar', value: 'mkd' }, + { name: 'Myanma Kyat', value: 'mmk' }, + { name: 'Mongolian Tugrik', value: 'mnt' }, + { name: 'Macanese Pataca', value: 'mop' }, + { name: 'Mauritanian Ouguiya (pre-2018)', value: 'mro' }, + { name: 'Mauritanian Ouguiya', value: 'mru' }, + { name: 'Mauritian Rupee', value: 'mur' }, + { name: 'Maldivian Rufiyaa', value: 'mvr' }, + { name: 'Malawian Kwacha', value: 'mwk' }, + { name: 'Mexican Peso', value: 'mxn' }, + { name: 'Malaysian Ringgit', value: 'myr' }, + { name: 'Mozambican Metical', value: 'mzn' }, + { name: 'Namibian Dollar', value: 'nad' }, + { name: 'Nigerian Naira', value: 'ngn' }, + { name: 'Nicaraguan Córdoba', value: 'nio' }, + { name: 'Norwegian Krone', value: 'nok' }, + { name: 'Nepalese Rupee', value: 'npr' }, + { name: 'New Zealand Dollar', value: 'nzd' }, + { name: 'Omani Rial', value: 'omr' }, + { name: 'Panamanian Balboa', value: 'pab' }, + { name: 'Peruvian Nuevo Sol', value: 'pen' }, + { name: 'Papua New Guinean Kina', value: 'pgk' }, + { name: 'Philippine Peso', value: 'php' }, + { name: 'Pakistani Rupee', value: 'pkr' }, + { name: 'Polish Zloty', value: 'pln' }, + { name: 'Paraguayan Guarani', value: 'pyg' }, + { name: 'Qatari Rial', value: 'qar' }, + { name: 'Romanian Leu', value: 'ron' }, + { name: 'Serbian Dinar', value: 'rsd' }, + { name: 'Russian Ruble', value: 'rub' }, + { name: 'Rwandan Franc', value: 'rwf' }, + { name: 'Saudi Riyal', value: 'sar' }, + { name: 'Solomon Islands Dollar', value: 'sbd' }, + { name: 'Seychellois Rupee', value: 'scr' }, + { name: 'Sudanese Pound', value: 'sdg' }, + { name: 'Swedish Krona', value: 'sek' }, + { name: 'Singapore Dollar', value: 'sgd' }, + { name: 'Saint Helena Pound', value: 'shp' }, + { name: 'Sierra Leonean Leone', value: 'sll' }, + { name: 'Somali Shilling', value: 'sos' }, + { name: 'Surinamese Dollar', value: 'srd' }, + { name: 'South Sudanese Pound', value: 'ssp' }, + { name: 'São Tomé and Príncipe Dobra (pre-2018)', value: 'std' }, + { name: 'São Tomé and Príncipe Dobra', value: 'stn' }, + { name: 'Salvadoran Colón', value: 'svc' }, + { name: 'Syrian Pound', value: 'syp' }, + { name: 'Swazi Lilangeni', value: 'szl' }, + { name: 'Thai Baht', value: 'thb' }, + { name: 'Tajikistani Somoni', value: 'tjs' }, + { name: 'Turkmenistani Manat', value: 'tmt' }, + { name: 'Tunisian Dinar', value: 'tnd' }, + { name: "Tongan Pa'anga", value: 'top' }, + { name: 'Turkish Lira', value: 'try' }, + { name: 'Trinidad and Tobago Dollar', value: 'ttd' }, + { name: 'New Taiwan Dollar', value: 'twd' }, + { name: 'Tanzanian Shilling', value: 'tzs' }, + { name: 'Ukrainian Hryvnia', value: 'uah' }, + { name: 'Ugandan Shilling', value: 'ugx' }, + { name: 'Uruguayan Peso', value: 'uyu' }, + { name: 'Uzbekistan Som', value: 'uzs' }, + { name: 'Venezuelan Bolívar Fuerte', value: 'vef' }, + { name: 'Vietnamese Dong', value: 'vnd' }, + { name: 'Vanuatu Vatu', value: 'vuv' }, + { name: 'Samoan Tala', value: 'wst' }, + { name: 'CFA Franc BEAC', value: 'xaf' }, + { name: 'Silver Ounce', value: 'xag' }, + { name: 'Gold Ounce', value: 'xau' }, + { name: 'East Caribbean Dollar', value: 'xcd' }, + { name: 'Special Drawing Rights', value: 'xdr' }, + { name: 'CFA Franc BCEAO', value: 'xof' }, + { name: 'Palladium Ounce', value: 'xpd' }, + { name: 'CFP Franc', value: 'xpf' }, + { name: 'Platinum Ounce', value: 'xpt' }, + { name: 'Yemeni Rial', value: 'yer' }, + { name: 'South African Rand', value: 'zar' }, + { name: 'Zambian Kwacha', value: 'zmw' }, + { name: 'Zimbabwean Dollar', value: 'zwl' } +]