curl --request POST \
--url https://app.getswipe.in/api/partner/v2/product \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form id=ITEM123 \
--form 'name=Sample Product' \
--form item_type=Product \
--form quantity=10 \
--form unit_price=100 \
--form tax_rate=18 \
--form price_with_tax=118 \
--form 'description=Sample product description' \
--form hsn_code=1234 \
--form unit=pcs \
--form category=Electronics \
--form 'custom_columns=[{"label":"Custom Label","value":"Custom Value"}]' \
--form 'product_images[0]=<binary_image_file_1>' \
--form 'product_images[1]=<binary_image_file_2>' \
--form product_images.items='@example-file'import requests
url = "https://app.getswipe.in/api/partner/v2/product"
files = { "product_images.items": ("example-file", open("example-file", "rb")) }
payload = {
"id": "ITEM123",
"name": "Sample Product",
"item_type": "Product",
"quantity": "10",
"unit_price": "100",
"tax_rate": "18",
"price_with_tax": "118",
"description": "Sample product description",
"hsn_code": "1234",
"unit": "pcs",
"category": "Electronics",
"custom_columns": "[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]",
"product_images[0]": "<binary_image_file_1>",
"product_images[1]": "<binary_image_file_2>"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('id', 'ITEM123');
form.append('name', 'Sample Product');
form.append('item_type', 'Product');
form.append('quantity', '10');
form.append('unit_price', '100');
form.append('tax_rate', '18');
form.append('price_with_tax', '118');
form.append('description', 'Sample product description');
form.append('hsn_code', '1234');
form.append('unit', 'pcs');
form.append('category', 'Electronics');
form.append('custom_columns', '[{"label":"Custom Label","value":"Custom Value"}]');
form.append('product_images[0]', '<binary_image_file_1>');
form.append('product_images[1]', '<binary_image_file_2>');
form.append('product_images.items', '{
"fileName": "example-file"
}');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://app.getswipe.in/api/partner/v2/product', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.getswipe.in/api/partner/v2/product",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.getswipe.in/api/partner/v2/product"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.getswipe.in/api/partner/v2/product")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.getswipe.in/api/partner/v2/product")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Message",
"error_code": "",
"errors": {},
"data": {
"id": "ITEM123",
"name": "Item Name",
"quantity": 1,
"unit_price": 100,
"price_with_tax": 118,
"item_type": "Product",
"tax_rate": 18,
"purchase_price_with_tax": 118,
"description": "Item Description",
"hsn_code": "1234",
"unit": "kg",
"cess_rate": 0,
"cess_amount": 0,
"barcode": "2273546838467",
"category": "Electronics",
"custom_columns": [
{
"label": "Custom Label",
"value": "Custom Value"
}
],
"alternative_units": [
{
"alternative_unit": "g",
"conversion_rate": 1000
}
],
"preferences": {
"not_for_sale": false,
"low_stock_alert": 0,
"show_online": false,
"discount_percent": 10
},
"visibility": 1
}
}{
"success": true,
"message": "Message",
"error_code": "",
"errors": {},
"data": {
"message": "No data found!"
}
}{
"success": true,
"message": "Message",
"error_code": "",
"errors": {},
"data": {
"message": "No data found!"
}
}Add an Item
curl --request POST \
--url https://app.getswipe.in/api/partner/v2/product \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form id=ITEM123 \
--form 'name=Sample Product' \
--form item_type=Product \
--form quantity=10 \
--form unit_price=100 \
--form tax_rate=18 \
--form price_with_tax=118 \
--form 'description=Sample product description' \
--form hsn_code=1234 \
--form unit=pcs \
--form category=Electronics \
--form 'custom_columns=[{"label":"Custom Label","value":"Custom Value"}]' \
--form 'product_images[0]=<binary_image_file_1>' \
--form 'product_images[1]=<binary_image_file_2>' \
--form product_images.items='@example-file'import requests
url = "https://app.getswipe.in/api/partner/v2/product"
files = { "product_images.items": ("example-file", open("example-file", "rb")) }
payload = {
"id": "ITEM123",
"name": "Sample Product",
"item_type": "Product",
"quantity": "10",
"unit_price": "100",
"tax_rate": "18",
"price_with_tax": "118",
"description": "Sample product description",
"hsn_code": "1234",
"unit": "pcs",
"category": "Electronics",
"custom_columns": "[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]",
"product_images[0]": "<binary_image_file_1>",
"product_images[1]": "<binary_image_file_2>"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('id', 'ITEM123');
form.append('name', 'Sample Product');
form.append('item_type', 'Product');
form.append('quantity', '10');
form.append('unit_price', '100');
form.append('tax_rate', '18');
form.append('price_with_tax', '118');
form.append('description', 'Sample product description');
form.append('hsn_code', '1234');
form.append('unit', 'pcs');
form.append('category', 'Electronics');
form.append('custom_columns', '[{"label":"Custom Label","value":"Custom Value"}]');
form.append('product_images[0]', '<binary_image_file_1>');
form.append('product_images[1]', '<binary_image_file_2>');
form.append('product_images.items', '{
"fileName": "example-file"
}');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://app.getswipe.in/api/partner/v2/product', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.getswipe.in/api/partner/v2/product",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.getswipe.in/api/partner/v2/product"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.getswipe.in/api/partner/v2/product")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.getswipe.in/api/partner/v2/product")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"id\"\r\n\r\nITEM123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSample Product\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"item_type\"\r\n\r\nProduct\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"quantity\"\r\n\r\n10\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit_price\"\r\n\r\n100\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"tax_rate\"\r\n\r\n18\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"price_with_tax\"\r\n\r\n118\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nSample product description\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"hsn_code\"\r\n\r\n1234\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"unit\"\r\n\r\npcs\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"category\"\r\n\r\nElectronics\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"custom_columns\"\r\n\r\n[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B0%5D\"\r\n\r\n<binary_image_file_1>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images%5B1%5D\"\r\n\r\n<binary_image_file_2>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"product_images.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Message",
"error_code": "",
"errors": {},
"data": {
"id": "ITEM123",
"name": "Item Name",
"quantity": 1,
"unit_price": 100,
"price_with_tax": 118,
"item_type": "Product",
"tax_rate": 18,
"purchase_price_with_tax": 118,
"description": "Item Description",
"hsn_code": "1234",
"unit": "kg",
"cess_rate": 0,
"cess_amount": 0,
"barcode": "2273546838467",
"category": "Electronics",
"custom_columns": [
{
"label": "Custom Label",
"value": "Custom Value"
}
],
"alternative_units": [
{
"alternative_unit": "g",
"conversion_rate": 1000
}
],
"preferences": {
"not_for_sale": false,
"low_stock_alert": 0,
"show_online": false,
"discount_percent": 10
},
"visibility": 1
}
}{
"success": true,
"message": "Message",
"error_code": "",
"errors": {},
"data": {
"message": "No data found!"
}
}{
"success": true,
"message": "Message",
"error_code": "",
"errors": {},
"data": {
"message": "No data found!"
}
}multipart/form-data instead of application/json. All the regular JSON fields are supported as form fields, plus:product_images: Array of image files (JPEG, PNG, etc.)- For complex fields like
custom_columns,alternative_units, andpreferences, send them as JSON strings
Authorizations
Bearer authentication header of the form Bearer , where is your auth token.
Body
Product/Item object for form data requests. Use this format when uploading product images.
Unique id for each item.
"ITEM123"
Name of the Product
"Item Name"
Opening Quantity
1
Price per item without Tax
100
Price per item with Tax
118
Product or Service enum
Product, Service "Product"
Tax percentage for each item . Only valid tax rates are accepted
18
Purchase Price per item with Tax
118
Item Description
"Item Description"
HSN Code
"1234"
Item quantity unit. You can find the GST-approved units in the UQC Codes section at: https://einvoice1.gst.gov.in/Others/MasterCodes.
"kg"
Cess Percent of the Item
x <= 1000
Cess Amount of the Item
0
Barcode
"2273546838467"
Category
"Electronics"
Custom Fields as JSON string for form data. Example - [{"label":"Custom Label","value":"Custom Value"}]
"[{\"label\":\"Custom Label\",\"value\":\"Custom Value\"}]"
Alternative Units as JSON string for form data. Example - [{"alternative_unit":"g","conversion_rate":1000}]
"[{\"alternative_unit\":\"g\",\"conversion_rate\":1000}]"
Product Preferences as JSON string for form data. Example - {"not_for_sale":false}
"{\"not_for_sale\":false}"
If set to 1, the product will be visible to all branches. If set to 0, the product will be visible only to the branch it was created in.
1
Product images to upload. Each image should be sent as a file in the form data.
Image file (JPEG, PNG, etc.)