# Zoho Campaigns Integration via LowCodeAPI
## Overview
Email marketing
## Base Endpoint
```
https://api.lowcodeapi.com/zohocampaigns/
```
## Authentication
LowCodeAPI handles authentication automatically. You only need to:
1. **Sign up** at [Zoho Campaigns](https://www.zoho.com/campaigns)
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** - 12 endpoints
- **List Management** - 16 endpoints
- **Topic Management** - 3 endpoints
- **Workflow Management** - 2 endpoints
## Common Endpoints
### Category: Campaign Management
#### Campaign Details
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/getcampaigndetails`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getcampaigndetails?resfmt={resfmt}&campaigntype={campaigntype}&campaignkey={campaignkey}&api_token={api_token}
```
**Description**: Campaign details: data, status, sender, lists, reports
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`resfmt` | string | No | XML (or) JSON |
|`campaigntype` | string | Yes | abtesting |
|`campaignkey` | string | Yes | Get it from recentcampaigns response |
---
#### Create Campaign
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/createcampaign`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/createcampaign?api_token={api_token}
```
**Description**: Create a campaign
**Request Body**:
```json
{
"campaignname": "<string>",
"from_email": "<string>",
"subject": "<string>",
"list_details": "<object>",
"topicId": "<string>"
}
```
---
#### Schedule Campaign
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/sendcampaign`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/sendcampaign?api_token={api_token}
```
**Description**: Schedule sending time for campaigns
**Request Body**:
```json
{
"scheduledate": "<string>",
"schedulehour": "<number>",
"scheduleminute": "<number>",
"am_pm": "<string>"
}
```
---
#### Clone Campaign
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/type/clonecampaign`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/type/clonecampaign?api_token={api_token}
```
**Description**: Clone campaigns
**Request Body**:
```json
{
"campaigninfo": "<object>"
}
```
---
#### Campaign Reports
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/campaignreports`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/campaignreports?resfmt={resfmt}&campaignkey={campaignkey}&api_token={api_token}
```
**Description**: Schedule sending time for campaigns
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`resfmt` | string | No | XML (or) JSON |
|`campaignkey` | string | Yes | Get it from recentcampaigns response |
---
#### Recent Campaigns
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/recentcampaigns`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/recentcampaigns?resfmt={resfmt}&sort={sort}&fromindex={fromindex}&range={range}&status={status}&api_token={api_token}
```
**Description**: See the details of the five most recent campaigns
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`resfmt` | string | No | XML (or) JSON |
|`sort` | string | No | asc/desc |
|`fromindex` | number | No | Default value: 1 |
|`range` | number | No | number |
|`status` | string | No | all|all campaigns|drafts|scheduled|inprogress|sent|stopped| canceled|tobereviewed|reviewed|paused|intesting |
---
#### Recently Sent Campaigns
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/recentsentcampaigns`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/recentsentcampaigns?resfmt={resfmt}&version={version}&limit={limit}&api_token={api_token}
```
**Description**: View the email campaign that was recently sent
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`resfmt` | string | No | XML (or) JSON |
|`version` | string | No | This will fetch responses based on the current API version |
|`limit` | number | Yes | Limit to fetch Recent campaigns from campaigns list |
---
#### Last Campaign Report
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/getlastcampaignreport`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getlastcampaignreport?api_token={api_token}
```
**Description**: View the report for the last sent campaign
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Get Campaign Recipients Data
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/getcampaignrecipientsdata`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getcampaignrecipientsdata?api_token={api_token}
```
**Description**: Get the campaign recipients' data
**Request Body**:
```json
{
"campaignkey": "<string>",
"action": "<string>"
}
```
---
#### View Coupon Details
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/coupon/coupondetails`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/coupon/coupondetails?type={type}&couponCode={couponCode}&api_token={api_token}
```
**Description**: View the coupon details
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`type` | string | No | XML (or) JSON |
|`couponCode` | string | Yes | Get it from recent coupon campaign |
---
#### Change Coupon Status
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/coupon/changestatus`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/coupon/changestatus?api_token={api_token}
```
**Description**: Change the status of a coupon code
**Request Body**:
```json
{
"couponCode": "<string>"
}
```
---
#### Delete Campaign
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/deletecampaign`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/deletecampaign?api_token={api_token}
```
**Description**: Delete campaigns
**Request Body**:
```json
{
"campaignkey": "<string>"
}
```
---
### Category: List Management
#### Get List Advanced Details
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/getlistadvanceddetails`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getlistadvanceddetails?listkey={listkey}&resfmt={resfmt}&filtertype={filtertype}&fromindex={fromindex}&range={range}&api_token={api_token}
```
**Description**: Fetch the list based advanced details
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List Key to send a subscription mail to contacts |
|`resfmt` | string | No | XML (or) JSON |
|`filtertype` | string | No | sentcampaigns, scheduledcampaigns, recentcampaigns |
|`fromindex` | number | No | values are in number |
|`range` | number | No | values are in number |
---
#### Get Mailing Lists
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/getmailinglists`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getmailinglists?api_token={api_token}
```
**Description**: Fetch the mailing list and list details
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Get List Contacts
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/getlistsubscribers`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getlistsubscribers?listkey={listkey}&resfmt={resfmt}&sort={sort}&fromindex={fromindex}&range={range}&status={status}&api_token={api_token}
```
**Description**: Get the contacts based on status
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List Key to send a subscription mail to contacts |
|`resfmt` | string | No | XML (or) JSON |
|`sort` | string | No | asc/desc |
|`fromindex` | number | No | values are in number |
|`range` | number | No | values are in number |
|`status` | string | No | active/ recent/ most recent/ unsub/ bounce |
---
#### Get All Contact Fields
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/contact/allfields`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/contact/allfields?api_token={api_token}
```
**Description**: Fetch contact fields to get profile information of contacts
**Request Body**:
```json
{
"type": "<string>"
}
```
---
#### Get Segment Details
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/getsegmentdetails`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getsegmentdetails?api_token={api_token}
```
**Description**: Fetch the segment details
**Request Body**:
```json
{
"listkey": "<string>",
"cvid": "<number>"
}
```
---
#### Get Segment Contacts
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/getsegmentcontact`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/getsegmentcontact?resfmt={resfmt}&cvid={cvid}&api_token={api_token}
```
**Description**: Fetch the segment contacts
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`resfmt` | string | No | XML (or) JSON |
|`cvid` | number | Yes | You will get cvid from getmailinglists |
---
#### Update List
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/updatelistdetails`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/updatelistdetails?listkey={listkey}&resfmt={resfmt}&newlistname={newlistname}&signupform={signupform}&api_token={api_token}
```
**Description**: Edit mailing list's name and allow sign-up form
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List Key to send a subscription mail to contacts |
|`resfmt` | string | No | XML (or) JSON |
|`newlistname` | string | Yes | Give list name |
|`signupform` | string | Yes | public/private |
---
#### Delete Mailing List
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/deletemailinglist`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/deletemailinglist?listkey={listkey}&resfmt={resfmt}&deletecontacts={deletecontacts}&api_token={api_token}
```
**Description**: Delete the mailing list
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List Key to send a subscription mail to contacts |
|`resfmt` | string | No | XML (or) JSON |
|`deletecontacts` | string | No | on/off |
---
#### Total Contacts
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/listsubscriberscount`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/listsubscriberscount?listkey={listkey}&resfmt={resfmt}&status={status}&api_token={api_token}
```
**Description**: View all the contacts in a mailing list
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`listkey` | string | Yes | List Key to send a subscription mail to contacts |
|`resfmt` | string | No | XML (or) JSON |
|`status` | string | No | [active| unsub| bounce| spam] |
---
#### Subscribe
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/type/listsubscribe`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/type/listsubscribe?api_token={api_token}
```
**Description**: Add contacts and custom fields to a list
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`type` | string | Yes | XML (or) JSON |
**Request Body**:
```json
{
"listkey": "<string>",
"contactinfo": "<object>"
}
```
---
#### Unsubscribe
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/type/listunsubscribe`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/type/listunsubscribe?api_token={api_token}
```
**Description**: Unsubscribe the user from a list
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`type` | string | Yes | XML (or) JSON |
**Request Body**:
```json
{
"listkey": "<string>",
"contactinfo": "<object>"
}
```
---
#### Move to Do-Not-Mail
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/type/contactdonotmail`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/type/contactdonotmail?api_token={api_token}
```
**Description**: Move a contact to Do-Not-Mail registry
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`type` | string | Yes | XML (or) JSON |
**Request Body**:
```json
{
"contactinfo": "<object>"
}
```
---
#### Add Contacts in Existing List
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/addlistsubscribersinbulk`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/addlistsubscribersinbulk?api_token={api_token}
```
**Description**: Add contacts in existing list
**Request Body**:
```json
{
"listkey": "<string>",
"emailids": "<object>"
}
```
---
#### Add New List and Contacts
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/addlistandcontacts`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/addlistandcontacts?api_token={api_token}
```
**Description**: Add new list and contacts in the list
**Request Body**:
```json
{
"emailids": "<object>",
"listname": "<string>",
"signupform": "<string>",
"mode": "<string>"
}
```
---
#### Create Custom Fields
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/custom/add`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/custom/add?api_token={api_token}
```
**Description**: Create custom fields for contacts
**Request Body**:
```json
{
"type": "<string>",
"fieldname": "<string>",
"fieldtype": "<string>"
}
```
---
*Note: Showing 15 of 16 endpoints in this category.*
---
### Category: Topic Management
#### Create Topics
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/topics`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/topics?api_token={api_token}
```
**Description**: Create new topics
**Request Body**:
```json
{
"topic_desc": "<string>",
"topic_name": "<string>"
}
```
---
#### Get Topics
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/topics`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/topics?from_index={from_index}&range={range}&api_token={api_token}
```
**Description**: Get a list of all topics
**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.1/topics/products`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/topics/products?from_index={from_index}&range={range}&api_token={api_token}
```
**Description**: Get a list of products
**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: Workflow Management
#### Get open custom workflows
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1.1/workflow`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/workflow?details={details}&api_token={api_token}
```
**Description**: List open custom organization workflows
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`details` | string | No | It is a JSON Object containing key-value data of the following details: page, limit, sort_order, user, trigger_type |
---
#### Trigger contacts
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1.1/workflow/custom_workflow_key/action/trigger`
**Full URL**:
```
https://api.lowcodeapi.com/zohocampaigns/api/v1.1/workflow/custom_workflow_key/action/trigger?api_token={api_token}
```
**Description**: Trigger/Add your contacts into custom workflows
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`custom_workflow_key` | string | Yes | Custom Workflow key |
**Request Body**:
```json
{
"key": "value"
}
```
---
## Complete Endpoint Reference
For a complete list of all 33 endpoints, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/zohocampaigns/definition`
- **Official Provider Documentation**: https://www.zoho.com/campaigns/help/developers/