Kartra Documentation TECHNICAL DOCUMENTATION

API Integration

Here you will find the information needed to have Kartra send out calls to an external App/Website of your choice every time any of your leads perform an action inside your Kartra account.

Some general notes to consider:

1. Please note that APIs are for advanced users with custom programming only.

2. The API relies on your external platform as much as it does on ours, so the depth of help our Support Team will be able to provide is very limited.

The outbound API system

The outbound API is intended to inform you of events happening in your Kartra account. The API will send out those outbound calls whenever a specific list of actions, pre-defined by you inside the Kartra account, are triggered.

 

Configuring your outbound API

To pre-define those actions, navigate to My Integrations -> My API -> Outbound API. All you need to do is to enter the URL(s) you want our API to ping, and the specific event(s) you want us to notify you about. You may configure multiple URLs, and multiple notification events per URL.

471

 

The data contained inside the API calls

There are a number of events our API can notify you about, such as…

  • When a lead gets tagged.
  • When a lead is granted access to a membership.
  • When a transaction is processed.
  • When a lead fills in an opt-in form.
  • Etc.

The specific information contained within each of those event is different on a case by case scenario. For example, transaction-related notifications contain relevant details about the transaction itself: product, transaction amount, customer details, etc. That being said, the info is always sent as a raw body POST JSON formatted object.

Here’s an example of a JSON object sent when a lead is subscribed to a list:

{
    "lead":{
        "id": "1",
        "first_name": "John",
        "middle_name": "Doe",
        "last_name": "Doe",
        "last_name2": "Doe",
        "email": "johndoe@gmail.com",
        "phone_country_code": "+1",
        "phone": "1234567",
        "company": "company",
        "address": "address",
        "city": "New York",
        "zip": "1234",
        "state": "state",
        "country": "United States",
        "date_joined": "2018-04-26 00:00:00",
        "website": "http://www.example.com",
        "ip": "127.0.0.1",
        "ip_country": "United States",
        "facebook": "facebook",
        "twitter": "twitter",
        "linkedin": "linkedin",
        "google_plus": "google_plus",
        "sales_tax_id": "1234",
        "lead_picture": "http://www.example.com",
        "source": "0",
        "score": "0",
        "lead_deleted": "0",
        "lead_deleted_date": "2018-04-26 00:00:00",
        "referring_id": "0", 
        "blacklisted": "0",    
        "source_id": "0",
        "gdpr_lead_status": 1,
        "gdpr_lead_status_date": "2018-04-26 00:00:00",
        "gdpr_lead_status_ip": "127.0.0.1",
        "gdpr_lead_communications": 0,
        "custom_fields": [
	    {
	        "field_id":"323",
	        "field_identifier":"color",
	        "field_type":"checkbox",
	        "field_value":[
	            {
		        "option_id":"1",
		        "option_value":"red",
		    },
		    {
		        "option_id":"2",
		        "option_value":"blue",
		    }
                ]
	    },
	    {
	        "field_id":"324",
	        "field_identifier":"gender",
	        "field_type":"drop_down",
	        "field_value":[
	            {
		        "option_id":"1",
		        "option_value":"male",
		    }
                ]
	    },
	    {
	        "field_id":"325",
	        "field_identifier":"favorite_dish",
	        "field_type":"input_field",
	        "field_value":"beef lasagna",
	    }
        ]      
    },
    "action":"list_subscription",
    "action_details":{
        "list":{
            "list_id":1,
            "list_name":"list 1"
        }
    }
}

 

Fetching the data

Finally, you have to make sure that, inside your end-point URL(s), you have a script that catches and interprets the data passed by our API outbound notifications. For that purpose, your end point URL(s) must be written in a programming language that can catch the HTTP raw post request.

Here is a small PHP sample on how to get the raw post:

<?php 
    $postdata = file_get_contents("php://input"); 
    
    // The data comes as an JSON so you will need to decode it 
    $postdata_decoded = json_decode($postdata); 

    // Now that you have all the data, you may grab it and pass it to your custom scripts 
    // Example: $postdata_decoded->lead contains the details of the specific lead triggering the action
?>

If lead subscribes to a list

Below is the data that is being pinged by our api system when a lead gets subscribed to a list.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • list_subscription
action_details
"list":{
    "list_id":integer,
    "list_name":string
}
  • list_id: A unique numeric identifier for the list.
  • list_name: The list name

If lead unsubscribes from a list

Below is the data that is being pinged by our api system when a lead gets unsubscribed from a list.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • list_unsubscription
action_details
"list":{
    "list_id":integer,
"list_name":string
}
  • list_id: A unique numeric identifier for the list.
  • list_name: The list name

If lead is assigned a tag

Below is the data that is being pinged by our api system when a lead is assigned a tag.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • assign_tag
action_details
"tag":{
    "tag_id":integer,
    "tag_name":string
}
  • tag_id: A unique numeric identifier for the tag.
  • tag_name: The tag name

If lead is unassigned a tag

Below is the data that is being pinged by our api system when a lead is unassigned a tag.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • unassign_tag
action_details
"tag":{
    "tag_id":integer,
    "tag_name":string
}
  • tag_id: A unique numeric identifier for the tag.
  • tag_name: The tag name

If lead fills in a form

Below is the data that is being pinged by our api system when a lead filled in a kartra form.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
      • field_id – the unique id reference (integer)
      • field_identifier – the unique identifier chosen when it was created (string)
      • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
      • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    [
    	{
    		"option_id":1, // the unique id reference (integer)
    		"option_value":"red", // option value (string)
    	},
    	{
    		"option_id":integer,
    		"option_value":string,
    	}
    ]
action
  • filled_form
action_details
"tag":{
    "form_id":integer,
    "form_name":string
}
  • form_id: A unique numeric identifier for the form.
  • form_name: The form name

If lead is subscribed to a sequence

Below is the data that is being pinged by our api system when a lead is subscribed to a sequence.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • sequence_subscription
action_details
"sequence":{
    "sequence_id":integer,
    "sequence_name":string
}
  • sequence_id: A unique numeric identifier for the sequence.
  • sequence_name: The sequence name

If lead is unsubscribed from a sequence

Below is the data that is being pinged by our api system when a lead is unsubscribed from a sequence.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • sequence_unsubscription
action_details
"sequence":{
    "sequence_id":integer,
    "sequence_name":string
}
  • sequence_id: A unique numeric identifier for the sequence.
  • sequence_name: The sequence name

If lead completes a sequence

Below is the data that is being pinged by our api system when a lead completes a sequence.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have ht following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • sequence_completion
action_details
"sequence":{
    "sequence_id":integer,
    "sequence_name":string
}
  • sequence_id: A unique numeric identifier for the sequence.
  • sequence_name: The sequence name

If leads clicks on a tracking link

Below is the data that is being pinged by our api system when a lead clicks on a tracking link.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • click_tracking_link
action_details
"tracking_link":{
    "tracking_link_id":integer,
    "tracking_link_name":string
}
  • tracking_link_id: A unique numeric identifier for the tracking link.
  • tracking_link_name: The tracking link name

If lead clicks on a page split test link

Below is the data that is being pinged by our api system when a lead clicks on a page split test link.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]

 

action
  • click_page_split_test_link
action_details
"page_split_test_link":{
    "page_split_test_link_id":integer,
    "page_split_test_link_name":string
}
  • page_split_test_link_id: A unique numeric identifier for the page split test link.
  • page_split_test_link_name: The page split test link name

If lead buys a product

Below is the data that is being pinged by our api system when a lead makes a purchase

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • buy_product
action_details
{
    "transaction_details":{
        "transaction_id":integer,
        "buyer_first_name":string,
        "buyer_last_name":string,
        "buyer_email":string,
        "buyer_username":string,
        "buyer_id":integer,
        "product_name":string,
        "product_id":integer,
        "product_price_point":integer,
        "transaction_full_amount":float,
        "transaction_base_amount":float,
        "transaction_discount":float,
        "transaction_tax":float,
        "transaction_shipping":float,
        "transaction_affiliate":string,
        "transaction_jv":string,
        "transaction_date":date(Y-m-d H:i:s),
        "transaction_type":"sale",
        "transaction_parent_id":integer,
        "transaction_subscription_id":integer,
        "transaction_subscription_pay_number":integer,
        "original_id":integer,
        "buyer_billing_country":string,
        "buyer_billing_state":string,
        "buyer_billing_phone_country_code":string,
        "buyer_billing_phone_number":string,
        "buyer_billing_address":string,
        "buyer_billing_city":string,
        "buyer_billing_zip":string,
        "vendor_tracking_id_1":string,
        "vendor_tracking_id_2":string,
        "vendor_tracking_link":string,
        "trial_payment":integer,
        "trial_period":integer,
        "rebill_circle":integer,
        "payments_left":integer,
        "shipping_first_name":string,
        "shipping_last_name":string,
        "shipping_address":string,
        "shipping_city":string,
        "shipping_zip":string,
        "shipping_country":string,
        "shipping_state":string,
        "payment_processor_type": string
} }
  • transaction_id: Kartra order id.
  • buyer_first_name: The buyer first name.
  • buyer_last_name: The buyer last name.
  • buyer_email: The buyer email address.
  • buyer_username: The buyer username.
  • buyer_id: A unique numeric identifier for the lead id.
  • product_name: The product name.
  • product_id: A unique numeric identifier for the kartra product.
  • product_price_point: The product price point of the transaction.
  • transaction_full_amount: The final paid amount on this specific transaction.
  • transaction_base_amount: The base price for the transaction (for trial this will be the base price of the initial transaction).
  • transaction_discount: If any discount coupon was applied, the amount in dollars deducted from the original price.
  • transaction_tax: The amount of sales tax or VAT.
  • transaction_shipping: The shipping cost
  • transaction_affiliate: The username of the affiliate (empty if no affiliate).
  • transaction_jv: The username of the jv broker (empty if no jv).
  • transaction_date: The date of the transaction (Y-m-d H:i:s).
  • transaction_type: sale
  • transaction_parent_id: 0
  • transaction_subscription_id: A unique numeric identifier for the subscription id(if there is no recurring payments this will be 0).
  • transaction_subscription_pay_number: 1
  • original_id: In case of a payment subscription, the order ID of the first transaction within the subscription. In this case it will be the same as the transaction_id since it is a first payment.
  • buyer_billing_country: The buyer country.
  • buyer_billing_state: The buyer state.
  • buyer_billing_phone_country_code: The buyer phone country code.
  • buyer_billing_phone_number: The buyer phone number.
  • buyer_billing_address: The buyer address.
  • buyer_billing_city: The buyer city.
  • buyer_billing_zip: The buyer zip code.
  • vendor_tracking_id_1: Vendor’s tracking ID 1 if the sale was generated from a tracking link.
  • vendor_tracking_id_2: Vendor’s tracking ID 2 if the sale was generated from a tracking link.
  • vendor_tracking_link: Vendor’s tracking link name.
  • trial_payment: 1 or 0, depending on whether it is activated or not.
  • trial_period: The trial period in days.
  • rebill_circle: Days left for the next payment.
  • payments_left: Number of upcoming payments until the end of the subscription. 9999 if “cancelled by customer”.
  • shipping_first_name: Buyer’s shipping first name.
  • shipping_last_name: Buyer’s shipping last name.
  • shipping_address: Buyer’s shipping address.
  • shipping_city: Buyer’s shipping city.
  • shipping_zip: Buyer’s shipping ZIP
  • shipping_country: Buyer’s shipping country
  • shipping_state: Buyer’s shipping state
  • payment_processor_type: The payment processor type: “PayPal”, “Braintree”, “Stripe”, “Authorize.net”
 

If a transaction is refunded

Below is the data that is being pinged by our api system when a transaction is refunded or partially refunded 

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • refund_product OR
  • partial_refund_product
action_details
{
    "transaction_details":{
        "transaction_id":integer,
        "buyer_first_name":string,
        "buyer_last_name":string,
        "buyer_email":string,
        "buyer_username":string,
        "buyer_id":integer,
        "product_name":string,
        "product_id":iintegernt,
        "product_price_point":integer,
        "transaction_full_amount":float,
        "transaction_base_amount":float,
        "transaction_discount":float,
        "transaction_tax":float,
        "transaction_shipping":float,
        "transaction_affiliate":string,
        "transaction_jv":string,
        "transaction_date":date(Y-m-d H:i:s),
        "transaction_type":"refund" or "partial_refund",
        "transaction_parent_id":integer,
        "transaction_subscription_id":integer,
        "transaction_subscription_pay_number":integer,
        "original_id":integer,
        "buyer_billing_country":string,
        "buyer_billing_state":string,
        "buyer_billing_phone_country_code":string,
        "buyer_billing_phone_number":string,
        "buyer_billing_address":string,
        "buyer_billing_city":string,
        "buyer_billing_zip":string,
        "vendor_tracking_id_1":string,
        "vendor_tracking_id_2":string,
        "vendor_tracking_link":string,
        "shipping_first_name":string,
        "shipping_last_name":string,
        "shipping_address":string,
        "shipping_city":string,
        "shipping_zip":string,
        "shipping_country":string,
        "shipping_state":string,
        "payment_processor_type": string
    }
}
  • transaction_id: Kartra order id.
  • buyer_first_name: The buyer first name.
  • buyer_last_name: The buyer last name.
  • buyer_email: The buyer email address.
  • buyer_username: The buyer username.
  • buyer_id: A unique numeric identifier for the lead id.
  • product_name: The product name.
  • product_id: A unique numeric identifier for the Kartra product.
  • product_price_point: The product price point of the transaction.
  • transaction_full_amount: The final paid amount on this specific transaction.
  • transaction_base_amount: The base price for the transaction.
  • transaction_discount: If any discount coupon was applied, the amount in dollars deducted from the original price.
  • transaction_tax: The amount of sales tax or VAT.
  • transaction_shipping: The shipping cost
  • transaction_affiliate: The username of the affiliate (empty if no affiliate).
  • transaction_jv: The username of the jv broker (empty if no jv).
  • transaction_date: The date of the transaction (Y-m-d H:i:s).
  • transaction_type: refund or partial_refund
  • transaction_parent_id: The actual order ID of the original transaction that is being refunded or charged-back.
  • transaction_subscription_id: A unique numeric identifier for the subscription id(if there is no recurring payments this will be 0).
  • transaction_subscription_pay_number: The number of payment within this rebill sequence: 1st installment, 2nd installment, etc. In this case, it will always be the 1st installment.
  • original_id: In case of a payment subscription, the order ID of the first transaction within the subscription.
  • buyer_billing_country: The buyer country.
  • buyer_billing_state: The buyer state.
  • buyer_billing_phone_country_code: The buyer phone country code.
  • buyer_billing_phone_number: The buyer phone number.
  • buyer_billing_address: The buyer address.
  • buyer_billing_city: The buyer city.
  • buyer_billing_zip: The buyer zip code.
  • vendor_tracking_id_1: Vendor’s tracking ID 1 if the sale was generated from a tracking link.
  • vendor_tracking_id_2: Vendor’s tracking ID 2 if the sale was generated from a tracking link.
  • vendor_tracking_link: Vendor’s tracking link name.
  • shipping_first_name: Buyer’s shipping first name.
  • shipping_last_name: Buyer’s shipping last name.
  • shipping_address: Buyer’s shipping address.
  • shipping_city: Buyer’s shipping city.
  • shipping_zip: Buyer’s shipping ZIP
  • shipping_country: Buyer’s shipping country
  • shipping_state: Buyer’s shipping state
  • payment_processor_type: The payment processor type: “PayPal”, “Braintree”, “Stripe”, “Authorize.net”

If a subscription is cancelled

Below is the data that is being pinged by our api system when a subscription is cancelled.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • cancel_subscription
action_details
{
        "transaction_details":{
        "transaction_id":integer,
        "buyer_first_name":string,
        "buyer_last_name":string,
        "buyer_email":string,
        "buyer_username":string,
        "buyer_id":integer,
        "product_name":string,
        "product_id":integer,
        "product_price_point":integer,
        "transaction_date":date(Y-m-d H:i:s),
        "transaction_type":"cancellation",
        "transaction_subscription_id":integer,
        "original_id":integer,
        "buyer_billing_country":string,
        "buyer_billing_state":string,
        "buyer_billing_phone_country_code":string,
        "buyer_billing_phone_number":string,
        "buyer_billing_address":string,
        "buyer_billing_city":string,
        "buyer_billing_zip":string,
        "payment_processor_type": string
    }
}
  • transaction_id: Kartra order id.
  • buyer_first_name: The buyer first name.
  • buyer_last_name: The buyer last name.
  • buyer_email: The buyer email address.
  • buyer_username: The buyer username.
  • buyer_id: A unique numeric identifier for the lead id.
  • product_name: The product name.
  • product_id: A unique numeric identifier for the kartra product.
  • product_price_point: The product price point of the transaction.
  • transaction_date: The date of the transaction (Y-m-d H:i:s).
  • transaction_type: cancellation
  • transaction_parent_id: 0
  • transaction_subscription_id: A unique numeric identifier for the subscription id(if there is no recurring payments this will be 0).
  • transaction_subscription_pay_number: 1
  • original_id: In case of a payment subscription, the order ID of the first transaction within the subscription.
  • buyer_billing_country: The buyer country.
  • buyer_billing_state: The buyer state.
  • buyer_billing_phone_country_code: The buyer phone country code.
  • buyer_billing_phone_number: The buyer phone number.
  • buyer_billing_address: The buyer address.
  • buyer_billing_city: The buyer city.
  • buyer_billing_zip: The buyer zip code.
  • payment_processor_type: The payment processor type: “PayPal”, “Braintree”, “Stripe”, “Authorize.net”

If lead plays video

Below is the data that is being pinged by our api system when a lead plays video.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • video_play
action_details
"video":{
    "video_id":integer,
    "video_name":string
}
  • video_id: A unique numeric identifier for the video.
  • video_name: The video name

If lead completes video

Below is the data that is being pinged by our api system when a lead completes video.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • video_complete
action_details
"video":{
    "video_id":integer,
    "video_name":string
}
  • video_id: A unique numeric identifier for the video.
  • video_name: The video name

If lead reaches score for the first time

Below is the data that is being pinged by our api system when a lead reaches a point score for the first time.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • reaches_score
action_details
"points":integer
  • points: the points score number the lead has reached

If lead is granted access to membership (kartra/external)

Below is the data that is being pinged by our api system when a lead is granted access to membership (kartra/external).

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • membership_granted
action_details
"membership":{
    "membership_id":integer,
    "membership_name":string,
    "level_id":integer,
    "level_name":string,
}
  • membership_id: A unique numeric identifier for the membership.
  • membership_name: The membership name
  • level_idA unique numeric identifier for the membership level id (this only applies to kartra memberships).
  • level_nameMembership level name (this only applies to kartra memberships).

 

If lead is revoked access to membership (kartra/external)

Below is the data that is being pinged by our api system when a lead is revoked access to membership (kartra/external).

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • membership_revoked
action_details
"membership":{
    "membership_id":integer,
    "membership_name":string,
    "level_id":integer,
    "level_name":string,
}
  • membership_id: A unique numeric identifier for the membership.
  • membership_name: The membership name
  • level_idA unique numeric identifier for the membership level id (this only applies to kartra memberships).
  • level_nameMembership level name (this only applies to kartra memberships).

 

If an affilate signs up for a product

Below is the data that is being pinged by our api system when an affilate signs up for a product.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • affiliate_signup
action_details
"product":{
    "product_id":integer,
    "product_name":string,
    "official_product_name":string
}
  • product_id: A unique numeric identifier for the product.
  • product_name: The product internal name.
  • official_product_nameThe product official name.

If a JV signs up for a product

Below is the data that is being pinged by our api system when a JV signs up for a product.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • jv_signup
action_details
"product":{
    "product_id":integer,
    "product_name":string,
    "official_product_name":string
}
  • product_id: A unique numeric identifier for the product.
  • product_name: The product internal name.
  • official_product_nameThe product official name.

If lead visits a kartra page

Below is the data that is being pinged by our api system when a visits a kartra page.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • kartra_page_visit
action_details
"kartra_page":{
    "kartra_page_id":integer,
    "kartra_page_name":string
}
  • kartra_page_id: A unique numeric identifier for the kartra page.
  • kartra_page_name: The akrtra page name.

If lead subscribes to a calendar

Below is the data that is being pinged by our api system when a lead subscribes to a calendar.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]

}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • calendar_subscribe
action_details
"calendar":{
    "calendar_id":integer,
    "calendar_name":string,
    "class_id":integer,
    "class_name":string,
}
  • calendar_id: A unique numeric identifier for the kartra calendar.
  • calendar_name: The kartra calendar name.
  • class_id: A unique numeric identifier for the kartra calendar class.
  • class_name: The kartra calendar class name.

If lead completes a calendar

Below is the data that is being pinged by our api system when a lead completes a calendar.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have ht following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
      [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • calendar_complete
action_details
"calendar":{
    "calendar_id":integer,
    "calendar_name":string,
    "class_id":integer,
    "class_name":string,
}
  • calendar_id: A unique numeric identifier for the kartra calendar.
  • calendar_name: The kartra calendar name.
  • class_id: A unique numeric identifier for the kartra calendar class.
  • class_name: The kartra calendar class name.

If lead cancels a calendar

Below is the data that is being pinged by our api system when a lead cancels a calendar.

Parameters Values
lead
{
    "id": integer,
    "first_name": string,
    "middle_name": string,
    "last_name": string,
    "last_name2": string,
    "email": string,
    "phone_country_code": string,
    "phone": string,
    "company": string,
    "address": string,
    "city": string,
    "zip": string,
    "state": string,
    "country": string,
    "date_joined": string (YYYY-mm-dd hh:mm:ss),
    "website": string,
    "ip": string,
    "ip_country": string,
    "facebook": string,
    "twitter": string,
    "linkedin": string,
    "google_plus": string,
    "sales_tax_id": string,
    "lead_picture": string,
    "source": string,
    "score": integer,
    "lead_deleted": integer,
    "lead_deleted_date": string (YYYY-mm-dd hh:mm:ss),
    "referring_id": integer, 
    "blacklisted": integer,    
    "source_id": integer,
    "gdpr_lead_status": integer,
    "gdpr_lead_status_date": string,
    "gdpr_lead_status_ip": string,
    "gdpr_lead_communications": integer,
    "custom_fields": [
	{
	    "field_id":integer,
	    "field_identifier":string,
	    "field_type":string,
	    // In the case of input_field and text_area this will be string, else it will have the following structure:
	    "field_value":[
		{
	            "option_id":integer,
		    "option_value":string,
		},
		{
		    "option_id":integer,
		    "option_value":string,
		}
	    ]
	}
    ]
}
  • id: A unique numeric identifier for the lead.
  • first_name: The lead’s first name.
  • last_name: The lead’s last name.
  • email: The lead’s email address.
  • gdpr_lead_status: The lead’s GDPR status, possible values:
    0 – For GDPR status off – Your account has GDPR deactivated
    1 – For GDPR status not subject – The lead’s IP is from a country not subject to GDPR
    2 – For GDPR status accepted – The lead has accepted the GDPR terms
    3 – For GDPR status not accepted – The lead hasn’t accepted the GDPR terms
    4 – For GDPR status unknown – The lead’s location could not be determined
    5 – For GDPR status pending
  • gdpr_lead_status_date: The date of the last GDPR status change
  • gdpr_lead_status_ip: The IP of the last GDPR status change
  • gdpr_lead_communications: 0 – if the user has agreed to be contacted, 1 – if not
  • custom fields:
    • field_id – the unique id reference (integer)
    • field_identifier – the unique identifier chosen when it was created (string)
    • field_type – the field type (string with the following values: input_field, text_area, drop_down, radio_button, checkbox)
    • field_value – the value saved for the particular lead. In the case of input_field and text_area this will be string, if not it will be an array . In the case of checkboxes the values can have multiple values:
    • [
      	{
      		"option_id":1, // the unique id reference (integer)
      		"option_value":"red", // option value (string)
      	},
      	{
      		"option_id":integer,
      		"option_value":string,
      	}
      ]
action
  • calendar_cancel
action_details
"calendar":{
    "calendar_id":integer,
    "calendar_name":string,
    "class_id":integer,
    "class_name":string,
}
  • calendar_id: A unique numeric identifier for the kartra calendar.
  • calendar_name: The kartra calendar name.
  • class_id: A unique numeric identifier for the kartra calendar class.
  • class_name: The kartra calendar class name.

PHP sample: get request for a specific action

Once you have set up in your Kartra account the destination URL where you want the receive our API’s outbound pings, you will need a script that catches and interprets the data contained in those pings. Make sure it’s written in a programming language that can catch the http raw post request.

Here is a small PHP sample on how to get the raw post:

<?php 
    $postdata = file_get_contents("php://input"); 
    
    // the data comes as an json so you will need to decode it 
    $postdata_decoded = json_decode($postdata); 
    // after this you can use the info passed from kartra in your own scripts. 
    // Ex: $postdata_decoded->lead contains the lead details that triggered the action
?>

© 2020 Kartra All Rights Reserved