Bulk Add or Update Product.
curl --request POST \
--url https://api.oplog.one/openapi/v1/Products/BulkUpsert \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--data '
[
{
"sku": "<string>",
"name": "<string>",
"barcodes": [
"<string>"
],
"imageUrl": "<string>",
"category": "<string>",
"price": 123,
"salePrice": 123,
"taxRatio": 123,
"salesUrl": "<string>",
"tag": "<string>",
"width": 123,
"length": 123,
"height": 123,
"weight": 123,
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isLotMandatory": true,
"isImco": true,
"materialGroup": "<string>",
"origin": "<string>",
"isQualityCheckNeeded": true,
"isExpirationTracked": true
}
]
'import requests
url = "https://api.oplog.one/openapi/v1/Products/BulkUpsert"
payload = [
{
"sku": "<string>",
"name": "<string>",
"barcodes": ["<string>"],
"imageUrl": "<string>",
"category": "<string>",
"price": 123,
"salePrice": 123,
"taxRatio": 123,
"salesUrl": "<string>",
"tag": "<string>",
"width": 123,
"length": 123,
"height": 123,
"weight": 123,
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isLotMandatory": True,
"isImco": True,
"materialGroup": "<string>",
"origin": "<string>",
"isQualityCheckNeeded": True,
"isExpirationTracked": True
}
]
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json-patch+json'},
body: JSON.stringify([
{
sku: '<string>',
name: '<string>',
barcodes: ['<string>'],
imageUrl: '<string>',
category: '<string>',
price: 123,
salePrice: 123,
taxRatio: 123,
salesUrl: '<string>',
tag: '<string>',
width: 123,
length: 123,
height: 123,
weight: 123,
integrationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
isLotMandatory: true,
isImco: true,
materialGroup: '<string>',
origin: '<string>',
isQualityCheckNeeded: true,
isExpirationTracked: true
}
])
};
fetch('https://api.oplog.one/openapi/v1/Products/BulkUpsert', 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.oplog.one/openapi/v1/Products/BulkUpsert",
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([
[
'sku' => '<string>',
'name' => '<string>',
'barcodes' => [
'<string>'
],
'imageUrl' => '<string>',
'category' => '<string>',
'price' => 123,
'salePrice' => 123,
'taxRatio' => 123,
'salesUrl' => '<string>',
'tag' => '<string>',
'width' => 123,
'length' => 123,
'height' => 123,
'weight' => 123,
'integrationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'isLotMandatory' => true,
'isImco' => true,
'materialGroup' => '<string>',
'origin' => '<string>',
'isQualityCheckNeeded' => true,
'isExpirationTracked' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+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.oplog.one/openapi/v1/Products/BulkUpsert"
payload := strings.NewReader("[\n {\n \"sku\": \"<string>\",\n \"name\": \"<string>\",\n \"barcodes\": [\n \"<string>\"\n ],\n \"imageUrl\": \"<string>\",\n \"category\": \"<string>\",\n \"price\": 123,\n \"salePrice\": 123,\n \"taxRatio\": 123,\n \"salesUrl\": \"<string>\",\n \"tag\": \"<string>\",\n \"width\": 123,\n \"length\": 123,\n \"height\": 123,\n \"weight\": 123,\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isLotMandatory\": true,\n \"isImco\": true,\n \"materialGroup\": \"<string>\",\n \"origin\": \"<string>\",\n \"isQualityCheckNeeded\": true,\n \"isExpirationTracked\": true\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+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.oplog.one/openapi/v1/Products/BulkUpsert")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("[\n {\n \"sku\": \"<string>\",\n \"name\": \"<string>\",\n \"barcodes\": [\n \"<string>\"\n ],\n \"imageUrl\": \"<string>\",\n \"category\": \"<string>\",\n \"price\": 123,\n \"salePrice\": 123,\n \"taxRatio\": 123,\n \"salesUrl\": \"<string>\",\n \"tag\": \"<string>\",\n \"width\": 123,\n \"length\": 123,\n \"height\": 123,\n \"weight\": 123,\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isLotMandatory\": true,\n \"isImco\": true,\n \"materialGroup\": \"<string>\",\n \"origin\": \"<string>\",\n \"isQualityCheckNeeded\": true,\n \"isExpirationTracked\": true\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oplog.one/openapi/v1/Products/BulkUpsert")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "[\n {\n \"sku\": \"<string>\",\n \"name\": \"<string>\",\n \"barcodes\": [\n \"<string>\"\n ],\n \"imageUrl\": \"<string>\",\n \"category\": \"<string>\",\n \"price\": 123,\n \"salePrice\": 123,\n \"taxRatio\": 123,\n \"salesUrl\": \"<string>\",\n \"tag\": \"<string>\",\n \"width\": 123,\n \"length\": 123,\n \"height\": 123,\n \"weight\": 123,\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isLotMandatory\": true,\n \"isImco\": true,\n \"materialGroup\": \"<string>\",\n \"origin\": \"<string>\",\n \"isQualityCheckNeeded\": true,\n \"isExpirationTracked\": true\n }\n]"
response = http.request(request)
puts response.read_bodyProducts
Bulk Add or Update Product.
POST
/
openapi
/
v1
/
Products
/
BulkUpsert
Bulk Add or Update Product.
curl --request POST \
--url https://api.oplog.one/openapi/v1/Products/BulkUpsert \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--data '
[
{
"sku": "<string>",
"name": "<string>",
"barcodes": [
"<string>"
],
"imageUrl": "<string>",
"category": "<string>",
"price": 123,
"salePrice": 123,
"taxRatio": 123,
"salesUrl": "<string>",
"tag": "<string>",
"width": 123,
"length": 123,
"height": 123,
"weight": 123,
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isLotMandatory": true,
"isImco": true,
"materialGroup": "<string>",
"origin": "<string>",
"isQualityCheckNeeded": true,
"isExpirationTracked": true
}
]
'import requests
url = "https://api.oplog.one/openapi/v1/Products/BulkUpsert"
payload = [
{
"sku": "<string>",
"name": "<string>",
"barcodes": ["<string>"],
"imageUrl": "<string>",
"category": "<string>",
"price": 123,
"salePrice": 123,
"taxRatio": 123,
"salesUrl": "<string>",
"tag": "<string>",
"width": 123,
"length": 123,
"height": 123,
"weight": 123,
"integrationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isLotMandatory": True,
"isImco": True,
"materialGroup": "<string>",
"origin": "<string>",
"isQualityCheckNeeded": True,
"isExpirationTracked": True
}
]
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json-patch+json'},
body: JSON.stringify([
{
sku: '<string>',
name: '<string>',
barcodes: ['<string>'],
imageUrl: '<string>',
category: '<string>',
price: 123,
salePrice: 123,
taxRatio: 123,
salesUrl: '<string>',
tag: '<string>',
width: 123,
length: 123,
height: 123,
weight: 123,
integrationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
isLotMandatory: true,
isImco: true,
materialGroup: '<string>',
origin: '<string>',
isQualityCheckNeeded: true,
isExpirationTracked: true
}
])
};
fetch('https://api.oplog.one/openapi/v1/Products/BulkUpsert', 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.oplog.one/openapi/v1/Products/BulkUpsert",
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([
[
'sku' => '<string>',
'name' => '<string>',
'barcodes' => [
'<string>'
],
'imageUrl' => '<string>',
'category' => '<string>',
'price' => 123,
'salePrice' => 123,
'taxRatio' => 123,
'salesUrl' => '<string>',
'tag' => '<string>',
'width' => 123,
'length' => 123,
'height' => 123,
'weight' => 123,
'integrationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'isLotMandatory' => true,
'isImco' => true,
'materialGroup' => '<string>',
'origin' => '<string>',
'isQualityCheckNeeded' => true,
'isExpirationTracked' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+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.oplog.one/openapi/v1/Products/BulkUpsert"
payload := strings.NewReader("[\n {\n \"sku\": \"<string>\",\n \"name\": \"<string>\",\n \"barcodes\": [\n \"<string>\"\n ],\n \"imageUrl\": \"<string>\",\n \"category\": \"<string>\",\n \"price\": 123,\n \"salePrice\": 123,\n \"taxRatio\": 123,\n \"salesUrl\": \"<string>\",\n \"tag\": \"<string>\",\n \"width\": 123,\n \"length\": 123,\n \"height\": 123,\n \"weight\": 123,\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isLotMandatory\": true,\n \"isImco\": true,\n \"materialGroup\": \"<string>\",\n \"origin\": \"<string>\",\n \"isQualityCheckNeeded\": true,\n \"isExpirationTracked\": true\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+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.oplog.one/openapi/v1/Products/BulkUpsert")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("[\n {\n \"sku\": \"<string>\",\n \"name\": \"<string>\",\n \"barcodes\": [\n \"<string>\"\n ],\n \"imageUrl\": \"<string>\",\n \"category\": \"<string>\",\n \"price\": 123,\n \"salePrice\": 123,\n \"taxRatio\": 123,\n \"salesUrl\": \"<string>\",\n \"tag\": \"<string>\",\n \"width\": 123,\n \"length\": 123,\n \"height\": 123,\n \"weight\": 123,\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isLotMandatory\": true,\n \"isImco\": true,\n \"materialGroup\": \"<string>\",\n \"origin\": \"<string>\",\n \"isQualityCheckNeeded\": true,\n \"isExpirationTracked\": true\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oplog.one/openapi/v1/Products/BulkUpsert")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "[\n {\n \"sku\": \"<string>\",\n \"name\": \"<string>\",\n \"barcodes\": [\n \"<string>\"\n ],\n \"imageUrl\": \"<string>\",\n \"category\": \"<string>\",\n \"price\": 123,\n \"salePrice\": 123,\n \"taxRatio\": 123,\n \"salesUrl\": \"<string>\",\n \"tag\": \"<string>\",\n \"width\": 123,\n \"length\": 123,\n \"height\": 123,\n \"weight\": 123,\n \"integrationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isLotMandatory\": true,\n \"isImco\": true,\n \"materialGroup\": \"<string>\",\n \"origin\": \"<string>\",\n \"isQualityCheckNeeded\": true,\n \"isExpirationTracked\": true\n }\n]"
response = http.request(request)
puts response.read_bodyAuthorizations
Headers
If you want to emulate, please enter TenantId.
Body
application/json-patch+jsonapplication/jsontext/jsonapplication/*+json
Available options:
Product, Bundle, Parent Available options:
TRY, USD, EUR, GBP, RUB, UAH, UNSUPPORTED, AFN, ALL, AOA, ARS, AMD, AWG, AZN, BSD, BHD, BDT, BBD, BYN, BZD, BMD, BTN, BOB, BAM, BWP, BRL, BGN, BIF, KHR, CAD, CVE, KYD, CLP, CNY, COP, KMF, CDF, CRC, HRK, CUP, CZK, DJF, DOP, EGP, ERN, SZL, ETB, FKP, FJD, XAF, GMD, GEL, GHS, GIP, DKK, GTQ, GNF, GYD, HTG, HNL, HUF, ISK, INR, IDR, IRR, IQD, JMD, JPY, KZT, KES, KPW, KRW, KWD, KGS, LAK, LBP, LSL, LRD, LYD, MOP, HKD, MGA, MWK, MYR, MVR, MUR, MXN, MDL, MNT, MZN, MMK, NAD, NPR, NIO, NGN, MKD, NOK, OMR, PKR, ILS, JOD, PAB, PGK, PYG, PEN, PHP, NZD, PLN, QAR, RON, RWF, DZD, MRU, MAD, SHP, XCD, WST, STN, SAR, RSD, SCR, SLL, SGD, BND, ANG, SBD, SOS, ZAR, SSP, LKR, SDG, SRD, SEK, CHF, SYP, TWD, TJS, TZS, THB, XOF, TOP, TTD, TND, TMT, AUD, UGX, AED, UYU, UZS, VUV, VES, VED, VND, XPF, YER, ZMW Available options:
Cm, In, Ft Available options:
Kg, Lb, G, Oz Available options:
001, 002, 003, 004 Available options:
1100, 1200, 1300, 2000, 3000, 4000, 5100, 5200, 5300, 5400, 6000, 7000, 7100, 7200, 8000, 9999 Available options:
01, 02, 03, 04 Show child attributes
Show child attributes
Response
200
Success
Was this page helpful?
⌘I
