Upload Product Types Csv
curl --request POST \
--url https://api.merchantops.ai/api/product-types/upload-csv \
--header 'Content-Type: application/json' \
--data '
{
"csv_content": "<string>"
}
'import requests
url = "https://api.merchantops.ai/api/product-types/upload-csv"
payload = { "csv_content": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({csv_content: '<string>'})
};
fetch('https://api.merchantops.ai/api/product-types/upload-csv', 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://api.merchantops.ai/api/product-types/upload-csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'csv_content' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://api.merchantops.ai/api/product-types/upload-csv"
payload := strings.NewReader("{\n \"csv_content\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.merchantops.ai/api/product-types/upload-csv")
.header("Content-Type", "application/json")
.body("{\n \"csv_content\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.merchantops.ai/api/product-types/upload-csv")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"csv_content\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"created": 123,
"failed": 123,
"total": 123,
"updated": 123,
"errors": [
{
"error": "<string>",
"row": 123,
"key": "<string>"
}
],
"skipped": 0
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Product Types
Upload Product Types Csv
Upload product types from CSV content.
Required columns: key, name Optional columns: description_en, category_key
Performs upsert: creates new ProductTypes or updates existing ones by key.
Authentication Required: Requires product_type:write permission.
POST
/
api
/
product-types
/
upload-csv
Upload Product Types Csv
curl --request POST \
--url https://api.merchantops.ai/api/product-types/upload-csv \
--header 'Content-Type: application/json' \
--data '
{
"csv_content": "<string>"
}
'import requests
url = "https://api.merchantops.ai/api/product-types/upload-csv"
payload = { "csv_content": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({csv_content: '<string>'})
};
fetch('https://api.merchantops.ai/api/product-types/upload-csv', 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://api.merchantops.ai/api/product-types/upload-csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'csv_content' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://api.merchantops.ai/api/product-types/upload-csv"
payload := strings.NewReader("{\n \"csv_content\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.merchantops.ai/api/product-types/upload-csv")
.header("Content-Type", "application/json")
.body("{\n \"csv_content\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.merchantops.ai/api/product-types/upload-csv")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"csv_content\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"created": 123,
"failed": 123,
"total": 123,
"updated": 123,
"errors": [
{
"error": "<string>",
"row": 123,
"key": "<string>"
}
],
"skipped": 0
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Cookies
Body
application/json
Request model for CSV upload.
CSV content as string
Response
Successful Response
Response model for batch CSV upload operations.
Number of new records created
Number of rows that failed
Total rows processed
Number of existing records updated
List of errors
Show child attributes
Show child attributes
Number of rows skipped