curl --request PATCH \
--url https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"name": "<string>",
"url": "<string>",
"isActive": true,
"isLocked": true,
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"orderAsOffer": true,
"useShopOrderNumber": true
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts"
payload = {
"name": "<string>",
"url": "<string>",
"isActive": True,
"isLocked": True,
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"orderAsOffer": True,
"useShopOrderNumber": True
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
url: '<string>',
isActive: true,
isLocked: true,
companyId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
rootCategoryId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
orderAsOffer: true,
useShopOrderNumber: true
})
};
fetch('https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts', 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.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'url' => '<string>',
'isActive' => true,
'isLocked' => true,
'companyId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'rootCategoryId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'orderAsOffer' => true,
'useShopOrderNumber' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$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.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"isActive\": true,\n \"isLocked\": true,\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"orderAsOffer\": true,\n \"useShopOrderNumber\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"isActive\": true,\n \"isLocked\": true,\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"orderAsOffer\": true,\n \"useShopOrderNumber\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"isActive\": true,\n \"isLocked\": true,\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"orderAsOffer\": true,\n \"useShopOrderNumber\": true\n}"
response = http.request(request)
puts response.read_body{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}Save Shop Base Data
Partially updates the base data of a JTL-Wawi-managed online shop. Updatable fields: “name”, “url”, “isLocked”, “companyId”, “rootCategoryId”, “orderAsOffer” and “useShopOrderNumber”. Omitted fields keep their current value; “isActive” is ignored.
curl --request PATCH \
--url https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"name": "<string>",
"url": "<string>",
"isActive": true,
"isLocked": true,
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"orderAsOffer": true,
"useShopOrderNumber": true
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts"
payload = {
"name": "<string>",
"url": "<string>",
"isActive": True,
"isLocked": True,
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"orderAsOffer": True,
"useShopOrderNumber": True
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
url: '<string>',
isActive: true,
isLocked: true,
companyId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
rootCategoryId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
orderAsOffer: true,
useShopOrderNumber: true
})
};
fetch('https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts', 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.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'url' => '<string>',
'isActive' => true,
'isLocked' => true,
'companyId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'rootCategoryId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'orderAsOffer' => true,
'useShopOrderNumber' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$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.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"isActive\": true,\n \"isLocked\": true,\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"orderAsOffer\": true,\n \"useShopOrderNumber\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"isActive\": true,\n \"isLocked\": true,\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"orderAsOffer\": true,\n \"useShopOrderNumber\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/shop/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"isActive\": true,\n \"isLocked\": true,\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"orderAsOffer\": true,\n \"useShopOrderNumber\": true\n}"
response = http.request(request)
puts response.read_body{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.
1 - 255The tenant ID for the target ERP instance.
Path Parameters
Sales channel id of the JTL-Wawi-managed online shop whose base data is updated. Opaque, tenant-local composite identifier (not a UUID); use the value returned by a sales channel listing.
Body
Request model for SaveShopBaseData command endpoint. Route parameters bind from the route, query parameters from the query string, everything else from the body.
Name of the shop. Omit to leave unchanged.
URL of the shop. Omit to leave unchanged. A changed URL must not point to the same host and path as another active JTL-Wawi-managed online shop; deleted (inactive) shops are ignored, and a deleted shop itself is not checked.
DEPRECATED: do not use. This property is ignored and will be removed in a future API version.
Shop is locked. Omit to leave unchanged.
ID of the company the shop belongs to. Must reference an existing company. Omit to leave unchanged.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
ID of the shop's root category. Must reference an existing category; send null for no root category (all categories). Changing it removes the shop's item and category assignments outside the new root category tree. Omit to leave unchanged.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Orders imported from this shop are created as offers rather than as sales orders. Omit to leave unchanged.
The shop's own order number is used instead of a JTL-Wawi-generated one. Omit to leave unchanged.
Response
The shop's base data was updated.
Was this page helpful?