# Zoho Commerce Integration via LowCodeAPI
## Overview
E-commerce platform
## Base Endpoint
```
https://api.lowcodeapi.com/zohocommerce/
```
## Authentication
LowCodeAPI handles authentication automatically. You only need to:
1. **Sign up** at [Zoho Commerce](https://www.zoho.com/commerce)
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
- **Account Dashboard** - 3 endpoints
- **Address Book** - 5 endpoints
- **Cart** - 3 endpoints
- **Categories** - 9 endpoints
- **Checkout** - 5 endpoints
- **Coupons** - 5 endpoints
- **Import Products** - 3 endpoints
- **Inventory** - 1 endpoints
- **Listing** - 4 endpoints
- **My Orders** - 3 endpoints
- **Payments** - 3 endpoints
- **Portal** - 3 endpoints
- **Products** - 9 endpoints
- **Sales Orders** - 5 endpoints
- **Sales Return** - 3 endpoints
- **Shipment Orders** - 3 endpoints
- **Taxes** - 6 endpoints
- **Variants** - 5 endpoints
## Common Endpoints
### Category: Account Dashboard
#### Get User Profile
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/userprofile`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/userprofile?api_token={api_token}
```
**Description**: Get User Profile
---
#### Edit User Profile
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/userprofile`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/userprofile?api_token={api_token}
```
**Description**: Edit User Profile
**Request Body**:
```json
{
"token": "<string>",
"contact_person_list": "<object>",
"user_info": "<array>",
"email": "<string>"
}
```
---
#### Change Password
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/changepassword`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/changepassword?api_token={api_token}
```
**Description**: Change Password
**Request Body**:
```json
{
"token": "<string>",
"current_password": "<string>",
"new_password": "<string>",
"confirm_password": "<string>"
}
```
---
### Category: Address Book
#### Get Address Book
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/address`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token={api_token}
```
**Description**: Get Address Book
---
#### Create Address Book
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/address`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token={api_token}
```
**Description**: Create Address Book
**Request Body**:
```json
{
"address_details": "<object>",
"zuid": "<string>"
}
```
---
#### Mark Address as Default
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/address/address_id/default`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/address/address_id/default?api_token={api_token}
```
**Description**: Mark Address as Default
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`address_id` | string | Yes | Address ID in the mapped shipping address detail of the user |
---
#### Delete Address Book
**Method**: `DELETE` | **LowCodeAPI Path**: `/portaluser/address/address_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/address/address_id?api_token={api_token}
```
**Description**: Delete Address Book
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`address_id` | string | Yes | Address ID in the mapped shipping address detail of the user |
---
#### Update Address Book
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/address/address_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/address/address_id?api_token={api_token}
```
**Description**: Update Address Book
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`address_id` | string | Yes | Address ID in the mapped shipping address detail of the user |
**Request Body**:
```json
{
"address_details": "<object>",
"zuid": "<string>"
}
```
---
### Category: Cart
#### Add to Cart
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/cart`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token={api_token}
```
**Description**: Add to Cart
**Request Body**:
```json
{
"product_variant_id": "<string>",
"quantity": "<number>",
"cart_id": "<string>"
}
```
---
#### Delete from Cart
**Method**: `DELETE` | **LowCodeAPI Path**: `/storefront/api/v1/cart`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?product_variant_id={product_variant_id}&cart_id={cart_id}&api_token={api_token}
```
**Description**: Delete from Cart
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`product_variant_id` | string | Yes | The item to be deleted from cart |
|`cart_id` | string | No | The identifier of the cart |
---
#### Update a Cart
**Method**: `PUT` | **LowCodeAPI Path**: `/storefront/api/v1/cart`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token={api_token}
```
**Description**: Update a Cart
**Request Body**:
```json
{
"product_variant_id": "<string>",
"quantity": "<number>",
"cart_id": "<string>"
}
```
---
### Category: Categories
#### List All Categories
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/categories`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?page={page}&per_page={per_page}&api_token={api_token}
```
**Description**: List All Categories
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`page` | number | No | Page number |
|`per_page` | number | No | Number of percentage taxable |
---
#### Create a Category
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/categories`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token={api_token}
```
**Description**: Create a Category
**Request Body**:
```json
{
"name": "<string>",
"url": "<string>"
}
```
---
#### Retrieve a Category
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/categories/editpage`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/editpage?category_id={category_id}&api_token={api_token}
```
**Description**: Retrieve a Category
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`category_id` | number | Yes | Category id for which category detail is required |
---
#### Update a Category
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/categories`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token={api_token}
```
**Description**: Update a Category
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete a Category
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/categories`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?delete_sub_categories={delete_sub_categories}&api_token={api_token}
```
**Description**: Delete a Category
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`delete_sub_categories` | boolean | No | The value should be true when you're deleting the parent category. If the category has no child the param can be neglected |
---
#### Re-order Categories
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/categories/siblingorder`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/siblingorder?api_token={api_token}
```
**Description**: Re-order Categories
**Request Body**:
```json
{
"categories": "<object>"
}
```
---
#### Add Category Image
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/categories/images`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?api_token={api_token}
```
**Description**: Add Category Image
**Request Body**:
```json
{
"image": "<file>"
}
```
---
#### Edit Category Image
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/categories/images`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?name={name}&alter_text={alter_text}&api_token={api_token}
```
**Description**: Edit Category Image
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`name` | string | No | Name of the category's image (shouldn't contain any html characters like <>) |
|`alter_text` | string | No | Alternate text for the category's image (shouldn't contain any html characters like <>) |
---
#### Delete Category Image
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/categories/documents`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/documents?api_token={api_token}
```
**Description**: Delete Category Image
---
### Category: Checkout
#### Get Checkout
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/checkout`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout?checkout_id={checkout_id}&api_token={api_token}
```
**Description**: Get Checkout
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as an identifier |
---
#### Add Address
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/address`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/address?checkout_id={checkout_id}&api_token={api_token}
```
**Description**: Add Address
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as an identifier |
**Request Body**:
```json
{
"shipping_address": "<object>",
"billing_address": "<string>"
}
```
---
#### Add Shipping Method
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/shipping-methods`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/shipping-methods?checkout_id={checkout_id}&api_token={api_token}
```
**Description**: Add Shipping Method
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as an identifier |
**Request Body**:
```json
{
"shipping": "<string>"
}
```
---
#### Place an Order
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/process-offline-payment`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/process-offline-payment?api_token={api_token}
```
**Description**: Place an Order
**Request Body**:
```json
{
"checkout_id": "<string>",
"payment_mode": "<string>"
}
```
---
#### Add or Remove Coupons
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/applycoupon`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/applycoupon?api_token={api_token}
```
**Description**: Add or Remove Coupons
**Request Body**:
```json
{
"checkout_id": "<string>",
"coupon_code": "<string>"
}
```
---
### Category: Coupons
#### List Coupons
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/coupons`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token={api_token}
```
**Description**: List Coupons
---
#### Get Coupon
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/coupons/coupon_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/coupon_id?api_token={api_token}
```
**Description**: Get Coupon
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`coupon_id` | string | Yes | Coupon Id |
---
#### Create Coupon
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/coupons`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token={api_token}
```
**Description**: Create Coupon
**Request Body**:
```json
{
"coupon_code": "<string>",
"coupon_name": "<string>",
"activation_time": "<boolean>",
"minimum_order_value": "<string>",
"discount_type": "<string>",
"discount_value": "<string>",
"max_redemption_count": "<number>",
"max_redemption_count_per_user": "<number>"
}
```
---
#### Update Coupon
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/coupons/coupon_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/coupon_id?api_token={api_token}
```
**Description**: Update Coupon
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`coupon_id` | string | Yes | Coupon Id |
**Request Body**:
```json
{
"coupon_code": "<string>",
"coupon_name": "<string>",
"activation_time": "<string>",
"expiry_time": "<string>",
"minimum_order_value": "<string>",
"discount_type": "<string>",
"discount_value": "<string>",
"max_redemption_count": "<number>",
"max_redemption_count_per_user": "<number>"
}
```
---
#### Delete Coupon
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/coupons/coupon_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/coupon_id?api_token={api_token}
```
**Description**: Delete Coupon
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`coupon_id` | string | Yes | Coupon Id |
---
### Category: Import Products
#### Upload Import File
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/import/uploadfile`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/uploadfile?api_token={api_token}
```
**Description**: Upload Import File
**Request Body**:
```json
{
"importfile": "<file>",
"entity": "<string>",
"duplicate_handling": "<string>",
"charencoding": "<string>",
"delimiter": "<string>"
}
```
---
#### Preview Imported File
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/import/preview`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/preview?api_token={api_token}
```
**Description**: Preview Imported File
**Request Body**:
```json
{
"entity_columns": "<array>",
"csv_column": "<string>",
"entity_column": "<string>"
}
```
---
#### Import Products
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/import`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import?api_token={api_token}
```
**Description**: Import Products
---
### Category: Inventory
#### Manage Stock
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/inventoryadjustments`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/inventoryadjustments?api_token={api_token}
```
**Description**: Manage Stock
**Request Body**:
```json
{
"reason": "<string>",
"adjustment_type": "<string>",
"line_items": "<array>",
"item_id": "<number>",
"quantity_adjusted": "<string>"
}
```
---
### Category: Listing
#### Get Product
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/products/product_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/products/product_id?api_token={api_token}
```
**Description**: Get Product
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`product_id` | string | Yes | Unique ID generated by the server for the product. This is used as identifier |
---
#### Get Category
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/categories/category_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/categories/category_id?api_token={api_token}
```
**Description**: Get Category
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`category_id` | string | Yes | Unique ID generated by the server for the category. This is used as identifier |
---
#### Get Collection
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/collections/collection_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/collections/collection_id?api_token={api_token}
```
**Description**: Get Collection
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`collection_id` | string | Yes | Unique ID generated by the server for the collection. This is used as identifier |
---
#### Search Product
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/search-products`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/search-products?q={q}&api_token={api_token}
```
**Description**: Search Product
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`q` | string | Yes | The query string to be searched for in the store |
---
### Category: My Orders
#### Get User Orders
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/orders`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/orders?filterDate={filterDate}&api_token={api_token}
```
**Description**: Get User Orders
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`filterDate` | string | No | Represents the number of months for which the orders need to be displayed |
---
#### Get Order Details
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/orders/order_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/orders/order_id?api_token={api_token}
```
**Description**: Get Order Details
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`order_id` | string | Yes | order_id of an order |
---
#### Cancel Order
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/orders/returns`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/orders/returns?api_token={api_token}
```
**Description**: Cancel Order
**Request Body**:
```json
{
"line_items": "<array>",
"salesorder_id": "<string>",
"reason": "<string>"
}
```
---
### Category: Payments
#### Mark as Paid
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/salesorders_id/payments`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorders_id/payments?api_token={api_token}
```
**Description**: Mark as Paid
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesorders_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"payment_mode": "<string>",
"amount": "<number>",
"reference_number": "<string>",
"date": "<string>"
}
```
---
#### Update Payment
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/salesorders/order_id/payments/payment_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/payments/payment_id?api_token={api_token}
```
**Description**: Update Payment
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`order_id` | string | Yes | Order Id |
|`payment_id` | string | Yes | Payment Id |
**Request Body**:
```json
{
"payment_mode": "<string>",
"amount": "<number>",
"reference_number": "<string>",
"date": "<string>"
}
```
---
#### Refund Payment
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/salesorder_id/refund`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/refund?api_token={api_token}
```
**Description**: Refund Payment
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesorder_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"amount": "<number>"
}
```
---
### Category: Portal
#### Get Signup Fields
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/signupfields`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/signupfields?api_token={api_token}
```
**Description**: Get Signup Fields
---
#### Signout
**Method**: `GET` | **LowCodeAPI Path**: `/signout`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/signout?api_token={api_token}
```
**Description**: Signout
---
#### Get Current User
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/getcurrentportaluser`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/portaluser/getcurrentportaluser?api_token={api_token}
```
**Description**: Get Current User
---
### Category: Products
#### List All Products
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/products`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?filter_by={filter_by}&sort_column={sort_column}&sort_order={sort_order}&page_start_from={page_start_from}&per_page={per_page}&api_token={api_token}
```
**Description**: List All Products
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`filter_by` | string | No | Allowed Values : Status.All, Status.Active, Status.Inactive, ItemType.All, ItemType.Inventory, ItemType.NonInventory |
|`sort_column` | string | No | Allowed Values : name, created_time, last_modified_time, min_rate, max_rate |
|`sort_order` | string | No | Allowed Values : A ,D |
|`page_start_from` | number | No | Allowed Values : 1 to n |
|`per_page` | number | No | Allowed Values : 10,25,50,100,200 |
---
#### Create a Product with Variant
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/products`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token={api_token}
```
**Description**: Create a Product with Variant
**Request Body**:
```json
{
"name": "<string>",
"url": "<string>",
"variants": "<array>"
}
```
---
#### Product Details
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/products/editpage`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/editpage?product_id={product_id}&api_token={api_token}
```
**Description**: Product Details
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`product_id` | string | Yes | Give unique product id to get the details |
---
#### Update a Product
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/products`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token={api_token}
```
**Description**: Update a Product
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete a List of Products
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/products`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?product_ids={product_ids}&is_deletedInfoNeeded={is_deletedInfoNeeded}&api_token={api_token}
```
**Description**: Delete a List of Products
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`product_ids` | string | Yes | Give list of product_ids with comma separated |
|`is_deletedInfoNeeded` | string | No | To get the detail of the product |
---
#### Add Product Images
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/products/images`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images?api_token={api_token}
```
**Description**: Add Product Images
**Request Body**:
```json
{
"image": "<file>"
}
```
---
#### Re-order Product Images
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/products/images/reorder`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images/reorder?api_token={api_token}
```
**Description**: Re-order Product Images
**Request Body**:
```json
{
"documents": "<array>",
"document_id": "<string>",
"order": "<number>"
}
```
---
#### Delete Product Image
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/products/documents`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/documents?api_token={api_token}
```
**Description**: Delete Product Image
---
#### Export Products
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/export`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/export?entity={entity}&accept={accept}&from_date={from_date}&to_date={to_date}&export_limit={export_limit}&export_start_id={export_start_id}&export_start_index={export_start_index}&api_token={api_token}
```
**Description**: Export Products
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`entity` | string | Yes | Give entity type of the export. Only possible value is 'itemgroup' |
|`accept` | string | Yes | Give format for the export file. Possible values are csv/xls |
|`from_date` | string | No | Give from date for the export. Format: yyyy-mm-dd |
|`to_date` | string | No | Give to_date for the export. Format: yyyy-mm-dd |
|`export_limit` | string | No | Give export limit. Should be less than 25,000 |
|`export_start_id` | string | No | Entity that have IDs greater to this start id will be fetched with limit |
|`export_start_index` | string | No | Offset row number: this will start exporting from nth row of export entity |
---
### Category: Sales Orders
#### List All Sales Orders
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/salesorders`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders?filter_by={filter_by}&sort_column={sort_column}&sort_order={sort_order}&page={page}&per_page={per_page}&api_token={api_token}
```
**Description**: List All Sales Orders
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`filter_by` | string | No | Status filter. Options: All, Draft, Confirmed, ToBePacked, ToBeShipped, Shipped, ToBeInvoiced, Closed, Void |
|`sort_column` | string | No | Column to sort by. Options: customer_name, salesorder_number, date, shipment_date, total, bcy_total, created_time, last_modified_time |
|`sort_order` | string | No | Sort order. Options: A (ascending), D (descending) |
|`page` | number | No | Page number. Should be a positive integer |
|`per_page` | number | No | Items per page. Options: 10, 25, 50, 100, 200 |
---
#### Retrieve a Sales Order
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/salesorders/order_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id?api_token={api_token}
```
**Description**: Retrieve a Sales Order
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`order_id` | string | Yes | Order Id |
---
#### Update Status
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/salesorder_id/status/status`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/status/status?api_token={api_token}
```
**Description**: Update Status
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesorder_id` | string | Yes | Salesorder Id |
|`status` | string | Yes | Satus |
---
#### Add Comments
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/salesorder_id/comments`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/comments?api_token={api_token}
```
**Description**: Add Comments
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesorder_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"description": "<string>",
"transaction_type": "<string>"
}
```
---
#### Update Address
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/salesorders/order_id/address/address_type`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/address/address_type?api_token={api_token}
```
**Description**: Update Address
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`order_id` | string | Yes | Order Id |
|`address_type` | string | Yes | Address Type |
**Request Body**:
```json
{
"attention": "<string>",
"address": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"country": "<string>",
"phone": "<string>"
}
```
---
### Category: Sales Return
#### Create a Sales Return
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesreturns`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns?salesorder_id={salesorder_id}&api_token={api_token}
```
**Description**: Create a Sales Return
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesorder_id` | number | No | Unique ID generated by the server for the sales order. This is used as identifier. |
**Request Body**:
```json
{
"line_items": "<array>",
"salesorder_item_id": "<number>",
"quantity": "<number>"
}
```
---
#### Change Status
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesreturns/salesreturn_id/status/salesreturn_status`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns/salesreturn_id/status/salesreturn_status?api_token={api_token}
```
**Description**: Change Status
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesreturn_id` | number | Yes | Unique ID generated by the server for the sales return. This is used as identifier |
|`salesreturn_status` | string | Yes | The current status of the sales return |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Refund a Sales Return
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesreturn/salesreturn_id/refund`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturn/salesreturn_id/refund?api_token={api_token}
```
**Description**: Refund a Sales Return
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesreturn_id` | number | Yes | Unique ID generated by the server for the sales return. This is used as identifier |
**Request Body**:
```json
{
"line_items": "<array>",
"amount": "<number>"
}
```
---
### Category: Shipment Orders
#### Mark as Delivered
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/order_id/shipmentorders/delivered`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/shipmentorders/delivered?api_token={api_token}
```
**Description**: Mark as Delivered
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`order_id` | string | Yes | Order Id |
**Request Body**:
```json
{
"delivery_date": "<string>"
}
```
---
#### Mark as Shipped
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/order_id/shipmentorders/shipped`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/shipmentorders/shipped?api_token={api_token}
```
**Description**: Mark as Shipped
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`order_id` | string | Yes | Order Id |
**Request Body**:
```json
{
"shipment_date": "<string>",
"tracking_number": "<string>",
"carrier": "<string>"
}
```
---
#### Update a Shipment Order
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/salesorders/salesorder_id/shipmentorders`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/shipmentorders?api_token={api_token}
```
**Description**: Update a Shipment Order
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`salesorder_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"salesorder_id": "<string>",
"shipment_date": "<string>",
"tracking_number": "<string>",
"carrier": "<string>"
}
```
---
### Category: Taxes
#### Create a Tax
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token={api_token}
```
**Description**: Create a Tax
**Request Body**:
```json
{
"tax_name": "<string>",
"tax_percentage": "<number>",
"tax_type": "<string>",
"country_code": "<string>"
}
```
---
#### Update a Tax
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules/tax_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/tax_id?api_token={api_token}
```
**Description**: Update a Tax
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_id` | string | Yes | Tax Id |
---
#### Delete a Tax
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules/tax_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/tax_id?api_token={api_token}
```
**Description**: Delete a Tax
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_id` | string | Yes | Tax Id |
---
#### List Taxes
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token={api_token}
```
**Description**: List Taxes
---
#### Update Tax Preferences
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/settings/taxpreferences`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token={api_token}
```
**Description**: Update Tax Preferences
---
#### Get Tax Preferences
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/settings/taxpreferences`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token={api_token}
```
**Description**: Get Tax Preferences
---
### Category: Variants
#### List All Variants
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/variants`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?status={status}&item_type={item_type}&sort_column={sort_column}&sort_order={sort_order}&page={page}&per_page={per_page}&variant_ids={variant_ids}&api_token={api_token}
```
**Description**: List All Variants
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`status` | string | No | active, inactive |
|`item_type` | string | No | ItemType.Inventory, ItemType.NonInventory |
|`sort_column` | string | No | name, last_modified_time, actual_available_stock |
|`sort_order` | string | No | A, D |
|`page` | number | No | 1 to n |
|`per_page` | number | No | 10, 25, 50, 100, 200 |
|`variant_ids` | number | No | list of unique variant ids separated by comma to get specific variant details. Limit : 50 |
---
#### Create a Variant
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/variants`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token={api_token}
```
**Description**: Create a Variant
**Request Body**:
```json
{
"rate": "<string>"
}
```
---
#### Variant Details
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/variants/variant_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants/variant_id?api_token={api_token}
```
**Description**: Variant Details
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`variant_id` | string | Yes | Variant Id |
---
#### Update a Variant
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/variants`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token={api_token}
```
**Description**: Update a Variant
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete a Variant
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/variants`
**Full URL**:
```
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token={api_token}
```
**Description**: Delete a Variant
---
## Complete Endpoint Reference
For a complete list of all 78 endpoints, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/zohocommerce/definition`
- **Official Provider Documentation**: https://www.zoho.com/commerce/api/introduction.html