2020-09-02 03:25:11 -07:00
import { INodeProperties } from 'n8n-workflow' ;
export const eventOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
} ,
} ,
options : [
{
name : 'Track' ,
value : 'track' ,
description : 'Track a customer event.' ,
} ,
{
name : 'Track Anonymous' ,
value : 'trackAnonymous' ,
description : 'Track an anonymous event.' ,
} ,
] ,
default : 'track' ,
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const eventFields = [
/* -------------------------------------------------------------------------- */
/* event:track */
/* -------------------------------------------------------------------------- */
{
2020-09-02 03:32:12 -07:00
displayName : 'Customer ID' ,
name : 'customerId' ,
type : 'string' ,
2020-09-02 03:25:11 -07:00
required : true ,
2020-09-02 03:32:12 -07:00
default : '' ,
2020-09-02 03:25:11 -07:00
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'track' ,
2020-10-22 06:46:03 -07:00
] ,
2020-09-02 03:25:11 -07:00
} ,
} ,
description : 'The unique identifier for the customer.' ,
} ,
{
2020-09-02 03:32:12 -07:00
displayName : 'Event Name' ,
name : 'eventName' ,
2020-09-02 03:25:11 -07:00
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'track' ,
2020-10-22 06:46:03 -07:00
] ,
2020-09-02 03:25:11 -07:00
} ,
} ,
description : 'Name of the event to track.' ,
} ,
{
displayName : 'JSON Parameters' ,
name : 'jsonParameters' ,
type : 'boolean' ,
default : false ,
description : '' ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'track' ,
2020-09-02 03:25:11 -07:00
] ,
} ,
} ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFieldsJson' ,
type : 'json' ,
typeOptions : {
alwaysOpenEditWindow : true ,
} ,
default : '' ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'track' ,
2020-09-02 03:25:11 -07:00
] ,
jsonParameters : [
true ,
] ,
} ,
} ,
description : 'Object of values to set as described <a href="https://customer.io/docs/api-triggered-data-format#basic-data-formatting" target="_blank">here</a>.' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'track' ,
2020-09-02 03:25:11 -07:00
] ,
jsonParameters : [
2020-09-02 03:32:12 -07:00
false ,
2020-10-22 06:46:03 -07:00
] ,
2020-09-02 03:25:11 -07:00
} ,
} ,
options : [
{
displayName : 'Custom Attributes' ,
name : 'customAttributes' ,
type : 'fixedCollection' ,
description : 'Custom Properties' ,
typeOptions : {
multipleValues : true ,
} ,
options : [
{
displayName : 'Attribute' ,
name : 'customAttribute' ,
values : [
{
displayName : 'Key' ,
name : 'key' ,
type : 'string' ,
required : true ,
default : '' ,
description : 'Attribute name.' ,
2020-09-02 03:32:12 -07:00
placeholder : 'Price' ,
2020-09-02 03:25:11 -07:00
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
required : true ,
default : '' ,
description : 'Attribute value.' ,
2020-09-02 03:32:12 -07:00
placeholder : '25.50' ,
2020-09-02 03:25:11 -07:00
} ,
] ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-09-02 03:25:11 -07:00
} ,
{
displayName : 'Type' ,
name : 'type' ,
type : 'string' ,
default : '' ,
description : 'Used to change event type. For Page View events set to "page".' ,
} ,
] ,
} ,
/* -------------------------------------------------------------------------- */
/* event:track anonymous */
/* -------------------------------------------------------------------------- */
{
2020-09-02 03:32:12 -07:00
displayName : 'Event Name' ,
name : 'eventName' ,
2020-09-02 03:25:11 -07:00
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'trackAnonymous' ,
2020-10-22 06:46:03 -07:00
] ,
2020-09-02 03:25:11 -07:00
} ,
} ,
description : 'The unique identifier for the customer.' ,
} ,
{
displayName : 'JSON Parameters' ,
name : 'jsonParameters' ,
type : 'boolean' ,
default : false ,
description : '' ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'trackAnonymous' ,
2020-09-02 03:25:11 -07:00
] ,
} ,
} ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFieldsJson' ,
type : 'json' ,
typeOptions : {
alwaysOpenEditWindow : true ,
} ,
default : '' ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'trackAnonymous' ,
2020-09-02 03:25:11 -07:00
] ,
jsonParameters : [
true ,
] ,
} ,
} ,
description : 'Object of values to set as described <a href="https://customer.io/docs/api-triggered-data-format#basic-data-formatting" target="_blank">here</a>.' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'event' ,
] ,
operation : [
2020-09-02 03:32:12 -07:00
'trackAnonymous' ,
2020-09-02 03:25:11 -07:00
] ,
jsonParameters : [
2020-09-02 03:32:12 -07:00
false ,
2020-10-22 06:46:03 -07:00
] ,
2020-09-02 03:25:11 -07:00
} ,
} ,
options : [
{
displayName : 'Custom Attributes' ,
name : 'customAttributes' ,
type : 'fixedCollection' ,
description : 'Custom Properties' ,
typeOptions : {
multipleValues : true ,
} ,
options : [
{
displayName : 'Attribute' ,
name : 'customAttribute' ,
values : [
{
displayName : 'Key' ,
name : 'key' ,
type : 'string' ,
required : true ,
default : '' ,
description : 'Attribute name.' ,
2020-09-02 03:32:12 -07:00
placeholder : 'Price' ,
2020-09-02 03:25:11 -07:00
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
required : true ,
default : '' ,
description : 'Attribute value.' ,
2020-09-02 03:32:12 -07:00
placeholder : '25.50' ,
2020-09-02 03:25:11 -07:00
} ,
] ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-09-02 03:25:11 -07:00
} ,
] ,
} ,
] as INodeProperties [ ] ;