# Zoho Marketing  Integration via LowCodeAPI

## Overview

Marketing automation

## Base Endpoint

```
https://api.lowcodeapi.com/zohomarketing/
```

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [Zoho Marketing ](https://www.zoho.com/marketingplus)
2. **Get your credentials** from [credential page](https://accounts.zoho.com/developerconsole)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

**Auth Type**: OAUTH2.0

## API Categories

- **Campaign Management APIs** - 17 endpoints
- **Journey Management API** - 2 endpoints
- **Lead Management APIs** - 23 endpoints
- **Topic Management API** - 2 endpoints
- **Web Assistant APIs** - 2 endpoints

## Common Endpoints

### Category: Campaign Management APIs

#### Campaign reports

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/getcampaigndetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getcampaigndetails?resfmt={resfmt}&campaignkey={campaignkey}&api_token={api_token}
```

**Description**: A campaign's report summary includes real-time campaign data, campaign reach metrics, opens by time, and opens by location.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`resfmt` | string | No | JSON |
|`campaignkey` | string | Yes | Get it from recentcampaigns response |

---

#### Campaign reports

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/getcampaigndetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getcampaigndetails?api_token={api_token}
```

**Description**: A campaign's report summary includes real-time campaign data, campaign reach metrics, opens by time, and opens by location.

**Request Body**:
```json
{
  "campaignkey": "<string>"
}
```

---

#### Create Campaign

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/createcampaign`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/createcampaign?api_token={api_token}
```

**Description**: You can create a campaign using this API.

**Request Body**:
```json
{
  "campaignkey": "<string>",
  "from_emai": "<string>",
  "subject": "<string>",
  "list_details": "<object>"
}
```

---

#### Schedule campaign

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/sendcampaign`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/sendcampaign?api_token={api_token}
```

**Description**: You might want to send your emails at the most opportune time of day and week.

**Request Body**:
```json
{
  "scheduledate": "<string>",
  "schedulehour": "<array>",
  "scheduleminute": "<array>",
  "am_pm": "<string>"
}
```

---

#### Clone campaign

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/json/clonecampaign`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/json/clonecampaign?version={version}&resfmt={resfmt}&campaigninfo={campaigninfo}&api_token={api_token}
```

**Description**: Cloning a campaign saves time and you don't need to start an email campaign from scratch.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`version` | string | No | This will fetch responses based on the current API version |
|`resfmt` | string | No | JSON |
|`campaigninfo` | json | Yes | Internal parameters are, campaignname, subject,from_name, from_add, reply_to, oldcampaignkey,encode_type,encode_type |

---

#### Clone campaign

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/json/clonecampaign`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/json/clonecampaign?api_token={api_token}
```

**Description**: Cloning a campaign saves time and you don't need to start an email campaign from scratch.

**Request Body**:
```json
{
  "campaigninfo": "<object>"
}
```

---

#### Recent campaigns

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/recentcampaigns`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/recentcampaigns?resfmt={resfmt}&sort={sort}&fromindex={fromindex}&range={range}&status={status}&api_token={api_token}
```

**Description**: Using this API, you can see the details of the five most recent campaigns that has been created in your organization.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`resfmt` | string | No | JSON |
|`sort` | string | No | asc/desc |
|`fromindex` | number | No | Default value: 1 |
|`range` | number | No | number |
|`status` | string | No | To be separated by '|' symbol in request |

---

#### Recent campaigns

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/recentcampaigns`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/recentcampaigns?api_token={api_token}
```

**Description**: Using this API, you can see the details of the five most recent campaigns that has been created in your organization.

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Recently sent campaigns

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/recentsentcampaigns`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/recentsentcampaigns?limit={limit}&version={version}&resfmt={resfmt}&api_token={api_token}
```

**Description**: You might want to reflect campaign data in your website. 

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`limit` | number | Yes | Limit to fetch Recent campaigns from campaigns list |
|`version` | string | No | This will fetch responses based on the current API version |
|`resfmt` | string | No | JSON |

---

#### Get Last campaign report

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/getlastcampaignreport`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getlastcampaignreport?api_token={api_token}
```

**Description**: Using this API, you can view the report for the last sent campaign.

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get campaign recipients' data

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/getcampaignrecipientsdata`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getcampaignrecipientsdata?api_token={api_token}
```

**Description**: Using this API, you can get the campaign recipients' data which includes sent time, sent date and lead id.

**Request Body**:
```json
{
  "campaignkey": "<string>",
  "action": "<string>"
}
```

---

#### View Coupon Details

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/coupon/coupondetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/coupon/coupondetails?type={type}&couponCode={couponCode}&api_token={api_token}
```

**Description**: Coupon details involves coupon code, recipient details, coupon campaign name, sent date, expiry date and the current status of the coupon. 

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`type` | string | No | JSON |
|`couponCode` | string | Yes | Get it from recent coupon campaign |

---

#### View Coupon Details

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/coupon/coupondetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/coupon/coupondetails?api_token={api_token}
```

**Description**: Coupon details involves coupon code, recipient details, coupon campaign name, sent date, expiry date and the current status of the coupon. 

**Request Body**:
```json
{
  "couponCode": "<string>"
}
```

---

#### Change coupon status

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/coupon/changestatus`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/coupon/changestatus?type={type}&couponCode={couponCode}&api_token={api_token}
```

**Description**: Users can change the status of a coupon code using this API.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`type` | string | No | JSON |
|`couponCode` | string | Yes | Get it from recent coupon campaign |

---

#### Change coupon status

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/coupon/changestatus`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/coupon/changestatus?api_token={api_token}
```

**Description**: Users can change the status of a coupon code using this API.

**Request Body**:
```json
{
  "couponCode": "<string>"
}
```

---

*Note: Showing 15 of 17 endpoints in this category.*

---

### Category: Journey Management API

#### Get open journeys

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/journeys`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/journeys?details={details}&page={page}&limit={limit}&sort_order={sort_order}&user={user}&trigger_type={trigger_type}&api_token={api_token}
```

**Description**: Open journeys will be open to leads moved from different sources

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`details` | json | No | It is a JSONObject containing key-value data |
|`page` | number | No | Provide specific page number |
|`limit` | number | No | Number of entities per page |
|`sort_order` | string | No | ascending or descending (asc/desc) |
|`user` | string | No | If you want to list triggers created by |
|`trigger_type` | string | No | open |

---

#### Trigger leads

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/journeys/journey_key/action/trigger`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/journeys/journey_key/action/trigger?api_token={api_token}
```

**Description**: Using this API, you can trigger/add your leads into journeys provided you know the particular trigger's key.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`journey_key` | string | Yes | Journey key |

**Request Body**:
```json
{
  "lead_email": "<string>",
  "triggerkey": "<string>",
  "listkey": "<string>"
}
```

---

### Category: Lead Management APIs

#### Get mailing lists

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/getmailinglists`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getmailinglists?api_token={api_token}
```

**Description**: Using this API, you can fetch the mailing lists and it'll be notified automatically.

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get list advanced details

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/getlistadvanceddetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getlistadvanceddetails?listkey={listkey}&resfmt={resfmt}&filtertype={filtertype}&fromindex={fromindex}&range={range}&api_token={api_token}
```

**Description**: Advanced details include all data like lead details, lead stats and complete details about campaigns sent to this mailing list.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List key to send a subscription mail to lead |
|`resfmt` | string | No | JSON |
|`filtertype` | string | No | sentcampaigns,scheduledcampaigns,recentcampaigns |
|`fromindex` | string | No | values are in numberr |
|`range` | string | No | values are in numberr |

---

#### Get list advanced details

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/getlistadvanceddetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getlistadvanceddetails?api_token={api_token}
```

**Description**: Advanced details include all data like lead details, lead stats and complete details about campaigns sent to this mailing list.

**Request Body**:
```json
{
  "listkey": "<string>"
}
```

---

#### Get list leads

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/getleads`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getleads?listkey={listkey}&resfmt={resfmt}&sort={sort}&fromindex={fromindex}&range={range}&status={status}&api_token={api_token}
```

**Description**: Using this API, you can get the leads of a list. Along with the leads, you'll also get the entire detail about each lead.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List key to send a subscription mail to leads |
|`resfmt` | string | No | JSON |
|`sort` | string | No | asc/desc |
|`fromindex` | number | No | values are in numberr |
|`range` | number | No | values are in numberr |
|`status` | string | No | active/ recent/ most recent/ unsub/ bounce |

---

#### Get list leads

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/getleads`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getleads?api_token={api_token}
```

**Description**: Using this API, you can get the leads of a list. Along with the leads, you'll also get the entire detail about each lead.

**Request Body**:
```json
{
  "listkey": "<string>"
}
```

---

#### Get all lead fields

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/lead/allfields`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/lead/allfields?type={type}&api_token={api_token}
```

**Description**: get the list of all lead fields

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`type` | string | No | JSON |

---

#### Get segment details

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/getsegmentdetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getsegmentdetails?listkey={listkey}&resfmt={resfmt}&cvid={cvid}&api_token={api_token}
```

**Description**: Users can get the segment details by using our API.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List key to send a subscription mail to leads |
|`resfmt` | string | No | JSON |
|`cvid` | number | Yes | asc/desc |

---

#### Get segment leads

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/getsegmentleads`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/getsegmentleads?api_token={api_token}
```

**Description**: Using this API, you can get the segment leads along with their relevant details like first name, last name, time when they were added, company and their phone number.

**Request Body**:
```json
{
  "cvid": "<number>"
}
```

---

#### Update List

**Method**: `POST` | **LowCodeAPI Path**: `/api/updatelistdetails`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/updatelistdetails?api_token={api_token}
```

**Description**: Updating a list can be to rename a list or to associate a signup form to the list. Using this API, you can make changes in mailing lists.

**Request Body**:
```json
{
  "listkey": "<string>",
  "newlistname": "<string>",
  "signupform": "<string>"
}
```

---

#### Delete mailing list

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/deletemailinglist`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/deletemailinglist?listkey={listkey}&resfmt={resfmt}&deleteleads={deleteleads}&api_token={api_token}
```

**Description**: Using this API, you can delete a mailing list. 

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List key to send a subscription mail to leads |
|`resfmt` | string | No | JSON |
|`deleteleads` | string | No | on/off |

---

#### Delete mailing list

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/deletemailinglist`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/deletemailinglist?api_token={api_token}
```

**Description**: Using this API, you can delete a mailing list. 

**Request Body**:
```json
{
  "listkey": "<string>"
}
```

---

#### Delete Lead Tags

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/tag/delete`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/tag/delete?api_token={api_token}
```

**Description**: Using this API, you can delete lead tags.

**Request Body**:
```json
{
  "tagName": "<string>"
}
```

---

#### Total leads

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/leadscount`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/leadscount?listkey={listkey}&resfmt={resfmt}&status={status}&api_token={api_token}
```

**Description**: You don’t have to research on how effective a list has been or how much reach does a particular list measure.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List key to send a subscription mail to leads |
|`resfmt` | string | No | JSON |
|`status` | string | No | To be separated by'|' |

---

#### Subscribe

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/json/listsubscribe`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/json/listsubscribe?api_token={api_token}
```

**Description**: Users can subscribe to a list without using the signup form or by getting added by another user.

**Request Body**:
```json
{
  "listkey": "<string>",
  "leadinfo": "<object>"
}
```

---

#### Unsubscribe

**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/json/listunsubscribe`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/json/listunsubscribe?api_token={api_token}
```

**Description**: Disinterested leads in your list? Never mind, all you need to do is unsubscribe them. 

**Request Body**:
```json
{
  "listkey": "<string>",
  "leadinfo": "<object>"
}
```

---

*Note: Showing 15 of 23 endpoints in this category.*

---

### Category: Topic Management API

#### Get Topics

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/topics`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/topics?from_index={from_index}&range={range}&api_token={api_token}
```

**Description**: Use this API to get a list of all the topics available in your Zoho Marketing Automation account

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`from_index` | number | No | Range of topics to be returned to the user |
|`range` | number | No | Range of topics to be returned to the user |

---

#### Get Product

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/topics/products`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/topics/products?from_index={from_index}&range={range}&api_token={api_token}
```

**Description**: Use this API to get a list of all the products created in your Zoho Marketing Automation account.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`from_index` | number | No | Range of topics to be returned to the user |
|`range` | number | No | Range of topics to be returned to the user |

---

### Category: Web Assistant APIs

#### Get all domains

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/domains`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/domains?api_token={api_token}
```

**Description**: Using this API, you can get the list of all domains

---

#### Get tracking code

**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/domains/key/code`

**Full URL**:
```
https://api.lowcodeapi.com/zohomarketing/api/v1/domains/key/code?api_token={api_token}
```

**Description**: Tracking code generated for your domain should be embedded in your webpage to begin tracking. 

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`key` | string | Yes | Key |

---

## Complete Endpoint Reference

For a complete list of all 46 endpoints, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/zohomarketing/definition`
- **Official Provider Documentation**: https://www.zoho.com/marketingautomation/help/developers/v1