2020-09-07 00:04:27 -07:00
import {
INodeProperties ,
} from 'n8n-workflow' ;
2020-01-23 09:27:28 -08:00
export const trackOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
} ,
} ,
options : [
{
name : 'Event' ,
value : 'event' ,
2020-07-24 03:56:41 -07:00
description : 'Record the actions your users perform. Every action triggers an event, which can also have associated properties.' ,
2020-01-23 09:27:28 -08:00
} ,
{
name : 'Page' ,
value : 'page' ,
2020-07-24 03:56:41 -07:00
description : 'Record page views on your website, along with optional extra information about the page being viewed.' ,
2020-01-23 09:27:28 -08:00
} ,
] ,
default : 'event' ,
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const trackFields = [
/* -------------------------------------------------------------------------- */
/* track:event */
/* -------------------------------------------------------------------------- */
{
displayName : 'User ID' ,
name : 'userId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'event' ,
] ,
} ,
} ,
required : false ,
} ,
{
displayName : 'Event' ,
name : 'event' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'event' ,
] ,
} ,
} ,
description : 'Name of the action that a user has performed.' ,
required : true ,
} ,
{
displayName : 'Context' ,
name : 'context' ,
placeholder : 'Add Context' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'event' ,
] ,
} ,
} ,
default : { } ,
options : [
{
name : 'contextUi' ,
displayName : 'Context' ,
values : [
{
displayName : 'Active' ,
name : 'active' ,
type : 'boolean' ,
default : '' ,
description : 'Whether a user is active' ,
} ,
{
displayName : 'IP' ,
name : 'ip' ,
type : 'string' ,
default : '' ,
description : 'Current user’ s IP address.' ,
} ,
{
displayName : 'Locale' ,
name : 'locate' ,
type : 'string' ,
default : '' ,
description : 'Locale string for the current user, for example en-US.' ,
} ,
{
displayName : 'Page' ,
name : 'page' ,
type : 'string' ,
default : '' ,
description : 'Dictionary of information about the current page in the browser, containing hash, path, referrer, search, title and url' ,
} ,
{
displayName : 'Timezone' ,
name : 'timezone' ,
type : 'string' ,
default : '' ,
description : 'Timezones are sent as tzdata strings to add user timezone information which might be stripped from the timestamp, for example America/New_York' ,
} ,
{
displayName : 'App' ,
name : 'app' ,
placeholder : 'Add App' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
default : { } ,
options : [
{
name : 'appUi' ,
displayName : 'App' ,
values : [
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Version' ,
name : 'version' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Build' ,
name : 'build' ,
type : 'string' ,
default : '' ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
{
displayName : 'Campaign' ,
name : 'campaign' ,
placeholder : 'Campaign App' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
default : { } ,
options : [
{
name : 'campaignUi' ,
displayName : 'Campaign' ,
values : [
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Source' ,
name : 'source' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Medium' ,
name : 'medium' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Term' ,
name : 'term' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Content' ,
name : 'content' ,
type : 'string' ,
default : '' ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
{
displayName : 'Device' ,
name : 'device' ,
placeholder : 'Add Device' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
default : { } ,
options : [
{
name : 'deviceUi' ,
displayName : 'Device' ,
values : [
{
displayName : 'ID' ,
name : 'id' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Manufacturer' ,
name : 'manufacturer' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Model' ,
name : 'model' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Type' ,
name : 'type' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Version' ,
name : 'version' ,
type : 'string' ,
default : '' ,
} ,
] ,
} ,
] ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
{
displayName : 'Integration' ,
name : 'integrations' ,
placeholder : 'Add Integration' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'event' ,
] ,
} ,
} ,
default : { } ,
options : [
{
name : 'integrationsUi' ,
displayName : 'Integration' ,
values : [
{
displayName : 'All' ,
name : 'all' ,
type : 'boolean' ,
default : true ,
} ,
{
displayName : 'Salesforce' ,
name : 'salesforce' ,
type : 'boolean' ,
default : false ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Properties' ,
name : 'properties' ,
placeholder : 'Add Properties' ,
type : 'fixedCollection' ,
typeOptions : {
2020-11-18 14:37:56 -08:00
multipleValues : true ,
2020-01-23 09:27:28 -08:00
} ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'event' ,
] ,
} ,
} ,
default : { } ,
options : [
{
name : 'propertiesUi' ,
2020-11-18 14:37:56 -08:00
displayName : 'Property' ,
2020-01-23 09:27:28 -08:00
values : [
{
2020-11-18 14:37:56 -08:00
displayName : 'Key' ,
name : 'key' ,
2020-01-23 09:27:28 -08:00
type : 'string' ,
default : '' ,
2020-11-18 14:37:56 -08:00
description : '' ,
2020-01-23 09:27:28 -08:00
} ,
{
displayName : 'Value' ,
name : 'value' ,
2020-11-18 14:37:56 -08:00
type : 'string' ,
2020-01-23 09:27:28 -08:00
default : '' ,
2020-11-18 14:37:56 -08:00
description : '' ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
] ,
} ,
/* -------------------------------------------------------------------------- */
/* track:page */
/* -------------------------------------------------------------------------- */
{
displayName : 'User ID' ,
name : 'userId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'page' ,
] ,
} ,
} ,
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'page' ,
] ,
} ,
} ,
description : 'Name of the page For example, most sites have a “Signup” page that can be useful to tag, so you can see users as they move through your funnel' ,
} ,
{
displayName : 'Context' ,
name : 'context' ,
placeholder : 'Add Context' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'page' ,
] ,
} ,
} ,
default : { } ,
options : [
{
name : 'contextUi' ,
displayName : 'Context' ,
values : [
{
displayName : 'Active' ,
name : 'active' ,
type : 'boolean' ,
default : '' ,
description : 'Whether a user is active' ,
} ,
{
displayName : 'IP' ,
name : 'ip' ,
type : 'string' ,
default : '' ,
description : 'Current user’ s IP address.' ,
} ,
{
displayName : 'Locale' ,
name : 'locate' ,
type : 'string' ,
default : '' ,
description : 'Locale string for the current user, for example en-US.' ,
} ,
{
displayName : 'Page' ,
name : 'page' ,
type : 'string' ,
default : '' ,
description : 'Dictionary of information about the current page in the browser, containing hash, path, referrer, search, title and url' ,
} ,
{
displayName : 'Timezone' ,
name : 'timezone' ,
type : 'string' ,
default : '' ,
description : 'Timezones are sent as tzdata strings to add user timezone information which might be stripped from the timestamp, for example America/New_York' ,
} ,
{
displayName : 'App' ,
name : 'app' ,
placeholder : 'Add App' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
default : { } ,
options : [
{
name : 'appUi' ,
displayName : 'App' ,
values : [
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Version' ,
name : 'version' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Build' ,
name : 'build' ,
type : 'string' ,
default : '' ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
{
displayName : 'Campaign' ,
name : 'campaign' ,
placeholder : 'Campaign App' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
default : { } ,
options : [
{
name : 'campaignUi' ,
displayName : 'Campaign' ,
values : [
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Source' ,
name : 'source' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Medium' ,
name : 'medium' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Term' ,
name : 'term' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Content' ,
name : 'content' ,
type : 'string' ,
default : '' ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
{
displayName : 'Device' ,
name : 'device' ,
placeholder : 'Add Device' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
default : { } ,
options : [
{
name : 'deviceUi' ,
displayName : 'Device' ,
values : [
{
displayName : 'ID' ,
name : 'id' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Manufacturer' ,
name : 'manufacturer' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Model' ,
name : 'model' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Type' ,
name : 'type' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Version' ,
name : 'version' ,
type : 'string' ,
default : '' ,
} ,
] ,
} ,
] ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
{
displayName : 'Integration' ,
name : 'integrations' ,
placeholder : 'Add Integration' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : false ,
} ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'page' ,
] ,
} ,
} ,
default : { } ,
options : [
{
name : 'integrationsUi' ,
displayName : 'Integration' ,
values : [
{
displayName : 'All' ,
name : 'all' ,
type : 'boolean' ,
default : true ,
} ,
{
displayName : 'Salesforce' ,
name : 'salesforce' ,
type : 'boolean' ,
default : false ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Properties' ,
name : 'properties' ,
placeholder : 'Add Properties' ,
type : 'fixedCollection' ,
typeOptions : {
2020-11-18 14:37:56 -08:00
multipleValues : true ,
2020-01-23 09:27:28 -08:00
} ,
displayOptions : {
show : {
resource : [
'track' ,
] ,
operation : [
'page' ,
] ,
} ,
} ,
default : { } ,
options : [
{
name : 'propertiesUi' ,
2020-11-18 14:37:56 -08:00
displayName : 'Property' ,
2020-01-23 09:27:28 -08:00
values : [
{
2020-11-18 14:37:56 -08:00
displayName : 'Key' ,
name : 'key' ,
2020-01-23 09:27:28 -08:00
type : 'string' ,
default : '' ,
2020-11-18 14:37:56 -08:00
description : '' ,
2020-01-23 09:27:28 -08:00
} ,
{
2020-11-18 14:37:56 -08:00
displayName : 'Value' ,
name : 'value' ,
2020-01-23 09:27:28 -08:00
type : 'string' ,
default : '' ,
2020-11-18 14:37:56 -08:00
description : '' ,
2020-01-23 09:27:28 -08:00
} ,
] ,
} ,
] ,
} ,
] as INodeProperties [ ] ;