curl --request PATCH \
--url https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"url": "<string>",
"apiToken": "<string>",
"name": "<string>",
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"isActive": true,
"isLocked": true,
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"useShopOrderNumber": true,
"canImport": true,
"shouldImportItemsAndCategories": true,
"shouldImportOrdersAndCustomers": true,
"shouldImportImages": true,
"canUpload": true,
"shouldUploadItemComplete": true,
"shouldUploadItemPriceRestricted": true,
"shouldUploadItemStockRestricted": true,
"shouldUploadCustomers": true,
"shouldUploadImages": true,
"shouldRefreshExistingItems": true,
"shouldRefreshCustomers": true,
"shouldDeleteImagesOnImport": true,
"shouldWawiCalculateTaxRate": true,
"shouldWawiCalculateTaxRateForShipping": true,
"shippingCountryIso": "<string>",
"entityCount": 123,
"pullCount": 123,
"imagesCount": 123,
"maximumTransferRate": 123,
"quickSyncCount": 123,
"sendOnlyAssignedManufacturers": true
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector"
payload = {
"url": "<string>",
"apiToken": "<string>",
"name": "<string>",
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"isActive": True,
"isLocked": True,
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"useShopOrderNumber": True,
"canImport": True,
"shouldImportItemsAndCategories": True,
"shouldImportOrdersAndCustomers": True,
"shouldImportImages": True,
"canUpload": True,
"shouldUploadItemComplete": True,
"shouldUploadItemPriceRestricted": True,
"shouldUploadItemStockRestricted": True,
"shouldUploadCustomers": True,
"shouldUploadImages": True,
"shouldRefreshExistingItems": True,
"shouldRefreshCustomers": True,
"shouldDeleteImagesOnImport": True,
"shouldWawiCalculateTaxRate": True,
"shouldWawiCalculateTaxRateForShipping": True,
"shippingCountryIso": "<string>",
"entityCount": 123,
"pullCount": 123,
"imagesCount": 123,
"maximumTransferRate": 123,
"quickSyncCount": 123,
"sendOnlyAssignedManufacturers": 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({
url: '<string>',
apiToken: '<string>',
name: '<string>',
companyId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
isActive: true,
isLocked: true,
rootCategoryId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
useShopOrderNumber: true,
canImport: true,
shouldImportItemsAndCategories: true,
shouldImportOrdersAndCustomers: true,
shouldImportImages: true,
canUpload: true,
shouldUploadItemComplete: true,
shouldUploadItemPriceRestricted: true,
shouldUploadItemStockRestricted: true,
shouldUploadCustomers: true,
shouldUploadImages: true,
shouldRefreshExistingItems: true,
shouldRefreshCustomers: true,
shouldDeleteImagesOnImport: true,
shouldWawiCalculateTaxRate: true,
shouldWawiCalculateTaxRateForShipping: true,
shippingCountryIso: '<string>',
entityCount: 123,
pullCount: 123,
imagesCount: 123,
maximumTransferRate: 123,
quickSyncCount: 123,
sendOnlyAssignedManufacturers: true
})
};
fetch('https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector', 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}/connector",
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([
'url' => '<string>',
'apiToken' => '<string>',
'name' => '<string>',
'companyId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'isActive' => true,
'isLocked' => true,
'rootCategoryId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'useShopOrderNumber' => true,
'canImport' => true,
'shouldImportItemsAndCategories' => true,
'shouldImportOrdersAndCustomers' => true,
'shouldImportImages' => true,
'canUpload' => true,
'shouldUploadItemComplete' => true,
'shouldUploadItemPriceRestricted' => true,
'shouldUploadItemStockRestricted' => true,
'shouldUploadCustomers' => true,
'shouldUploadImages' => true,
'shouldRefreshExistingItems' => true,
'shouldRefreshCustomers' => true,
'shouldDeleteImagesOnImport' => true,
'shouldWawiCalculateTaxRate' => true,
'shouldWawiCalculateTaxRateForShipping' => true,
'shippingCountryIso' => '<string>',
'entityCount' => 123,
'pullCount' => 123,
'imagesCount' => 123,
'maximumTransferRate' => 123,
'quickSyncCount' => 123,
'sendOnlyAssignedManufacturers' => 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}/connector"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"apiToken\": \"<string>\",\n \"name\": \"<string>\",\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"isActive\": true,\n \"isLocked\": true,\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"useShopOrderNumber\": true,\n \"canImport\": true,\n \"shouldImportItemsAndCategories\": true,\n \"shouldImportOrdersAndCustomers\": true,\n \"shouldImportImages\": true,\n \"canUpload\": true,\n \"shouldUploadItemComplete\": true,\n \"shouldUploadItemPriceRestricted\": true,\n \"shouldUploadItemStockRestricted\": true,\n \"shouldUploadCustomers\": true,\n \"shouldUploadImages\": true,\n \"shouldRefreshExistingItems\": true,\n \"shouldRefreshCustomers\": true,\n \"shouldDeleteImagesOnImport\": true,\n \"shouldWawiCalculateTaxRate\": true,\n \"shouldWawiCalculateTaxRateForShipping\": true,\n \"shippingCountryIso\": \"<string>\",\n \"entityCount\": 123,\n \"pullCount\": 123,\n \"imagesCount\": 123,\n \"maximumTransferRate\": 123,\n \"quickSyncCount\": 123,\n \"sendOnlyAssignedManufacturers\": 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}/connector")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"apiToken\": \"<string>\",\n \"name\": \"<string>\",\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"isActive\": true,\n \"isLocked\": true,\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"useShopOrderNumber\": true,\n \"canImport\": true,\n \"shouldImportItemsAndCategories\": true,\n \"shouldImportOrdersAndCustomers\": true,\n \"shouldImportImages\": true,\n \"canUpload\": true,\n \"shouldUploadItemComplete\": true,\n \"shouldUploadItemPriceRestricted\": true,\n \"shouldUploadItemStockRestricted\": true,\n \"shouldUploadCustomers\": true,\n \"shouldUploadImages\": true,\n \"shouldRefreshExistingItems\": true,\n \"shouldRefreshCustomers\": true,\n \"shouldDeleteImagesOnImport\": true,\n \"shouldWawiCalculateTaxRate\": true,\n \"shouldWawiCalculateTaxRateForShipping\": true,\n \"shippingCountryIso\": \"<string>\",\n \"entityCount\": 123,\n \"pullCount\": 123,\n \"imagesCount\": 123,\n \"maximumTransferRate\": 123,\n \"quickSyncCount\": 123,\n \"sendOnlyAssignedManufacturers\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector")
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 \"url\": \"<string>\",\n \"apiToken\": \"<string>\",\n \"name\": \"<string>\",\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"isActive\": true,\n \"isLocked\": true,\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"useShopOrderNumber\": true,\n \"canImport\": true,\n \"shouldImportItemsAndCategories\": true,\n \"shouldImportOrdersAndCustomers\": true,\n \"shouldImportImages\": true,\n \"canUpload\": true,\n \"shouldUploadItemComplete\": true,\n \"shouldUploadItemPriceRestricted\": true,\n \"shouldUploadItemStockRestricted\": true,\n \"shouldUploadCustomers\": true,\n \"shouldUploadImages\": true,\n \"shouldRefreshExistingItems\": true,\n \"shouldRefreshCustomers\": true,\n \"shouldDeleteImagesOnImport\": true,\n \"shouldWawiCalculateTaxRate\": true,\n \"shouldWawiCalculateTaxRateForShipping\": true,\n \"shippingCountryIso\": \"<string>\",\n \"entityCount\": 123,\n \"pullCount\": 123,\n \"imagesCount\": 123,\n \"maximumTransferRate\": 123,\n \"quickSyncCount\": 123,\n \"sendOnlyAssignedManufacturers\": true\n}"
response = http.request(request)
puts response.read_body{
"isActive": true,
"isLocked": true,
"canImport": true,
"shouldImportItemsAndCategories": true,
"shouldImportOrdersAndCustomers": true,
"shouldImportImages": true,
"canUpload": true,
"shouldUploadItemComplete": true,
"shouldUploadItemPriceRestricted": true,
"shouldUploadItemStockRestricted": true,
"shouldUploadCustomers": true,
"shouldUploadImages": true,
"shouldRefreshExistingItems": true,
"shouldRefreshCustomers": true,
"shouldDeleteImagesOnImport": true,
"shouldWawiCalculateTaxRate": true,
"shouldWawiCalculateTaxRateForShipping": true,
"pullCount": 123,
"quickSyncCount": 123,
"sendOnlyAssignedManufacturers": true,
"useShopOrderNumber": true,
"languages": [
{
"iso": "<string>",
"isAssigned": true,
"isDefault": true,
"nameGerman": "<string>",
"nameEnglish": "<string>"
}
],
"currencies": [
{
"currencyCode": "<string>",
"codeSource": 0,
"isAssigned": true,
"isDefault": true,
"name": "<string>"
}
],
"features": [
{
"feature": 1,
"isEnabled": true
}
],
"taxRates": [
{
"rate": 123,
"taxRateId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}
],
"serverInfo": {
"isOldConnector": true,
"platformName": "<string>",
"platformVersion": "<string>",
"protocolVersion": "<string>",
"endpointVersion": "<string>"
},
"salesChannelId": "<string>",
"name": "<string>",
"url": "<string>",
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"maximumTransferRate": 123,
"imagesCount": 123,
"entityCount": 123,
"shippingCountryIso": "<string>",
"dummyCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}{
"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>"
}
]
}{
"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>"
}
]
}Update Connector
Partially updates an existing JTL-Connector account. Only fields included in the request are changed; omitted fields keep their current value; “isActive” is ignored. Languages, currencies, features, tax rates and server information are read-only and cannot be changed here. If “Url” or “ApiToken” changes, JTL-Wawi first performs a live handshake with the new connection data; if the handshake fails, nothing is saved. Requests that do not change “Url” or “ApiToken” are saved without contacting the endpoint. The endpoint metadata is not refreshed by this call; use “POST /v2/sales-channels//connector/refresh” or “RefreshConnector” for that.
curl --request PATCH \
--url https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"url": "<string>",
"apiToken": "<string>",
"name": "<string>",
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"isActive": true,
"isLocked": true,
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"useShopOrderNumber": true,
"canImport": true,
"shouldImportItemsAndCategories": true,
"shouldImportOrdersAndCustomers": true,
"shouldImportImages": true,
"canUpload": true,
"shouldUploadItemComplete": true,
"shouldUploadItemPriceRestricted": true,
"shouldUploadItemStockRestricted": true,
"shouldUploadCustomers": true,
"shouldUploadImages": true,
"shouldRefreshExistingItems": true,
"shouldRefreshCustomers": true,
"shouldDeleteImagesOnImport": true,
"shouldWawiCalculateTaxRate": true,
"shouldWawiCalculateTaxRateForShipping": true,
"shippingCountryIso": "<string>",
"entityCount": 123,
"pullCount": 123,
"imagesCount": 123,
"maximumTransferRate": 123,
"quickSyncCount": 123,
"sendOnlyAssignedManufacturers": true
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector"
payload = {
"url": "<string>",
"apiToken": "<string>",
"name": "<string>",
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"isActive": True,
"isLocked": True,
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"useShopOrderNumber": True,
"canImport": True,
"shouldImportItemsAndCategories": True,
"shouldImportOrdersAndCustomers": True,
"shouldImportImages": True,
"canUpload": True,
"shouldUploadItemComplete": True,
"shouldUploadItemPriceRestricted": True,
"shouldUploadItemStockRestricted": True,
"shouldUploadCustomers": True,
"shouldUploadImages": True,
"shouldRefreshExistingItems": True,
"shouldRefreshCustomers": True,
"shouldDeleteImagesOnImport": True,
"shouldWawiCalculateTaxRate": True,
"shouldWawiCalculateTaxRateForShipping": True,
"shippingCountryIso": "<string>",
"entityCount": 123,
"pullCount": 123,
"imagesCount": 123,
"maximumTransferRate": 123,
"quickSyncCount": 123,
"sendOnlyAssignedManufacturers": 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({
url: '<string>',
apiToken: '<string>',
name: '<string>',
companyId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
isActive: true,
isLocked: true,
rootCategoryId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
useShopOrderNumber: true,
canImport: true,
shouldImportItemsAndCategories: true,
shouldImportOrdersAndCustomers: true,
shouldImportImages: true,
canUpload: true,
shouldUploadItemComplete: true,
shouldUploadItemPriceRestricted: true,
shouldUploadItemStockRestricted: true,
shouldUploadCustomers: true,
shouldUploadImages: true,
shouldRefreshExistingItems: true,
shouldRefreshCustomers: true,
shouldDeleteImagesOnImport: true,
shouldWawiCalculateTaxRate: true,
shouldWawiCalculateTaxRateForShipping: true,
shippingCountryIso: '<string>',
entityCount: 123,
pullCount: 123,
imagesCount: 123,
maximumTransferRate: 123,
quickSyncCount: 123,
sendOnlyAssignedManufacturers: true
})
};
fetch('https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector', 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}/connector",
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([
'url' => '<string>',
'apiToken' => '<string>',
'name' => '<string>',
'companyId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'isActive' => true,
'isLocked' => true,
'rootCategoryId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'useShopOrderNumber' => true,
'canImport' => true,
'shouldImportItemsAndCategories' => true,
'shouldImportOrdersAndCustomers' => true,
'shouldImportImages' => true,
'canUpload' => true,
'shouldUploadItemComplete' => true,
'shouldUploadItemPriceRestricted' => true,
'shouldUploadItemStockRestricted' => true,
'shouldUploadCustomers' => true,
'shouldUploadImages' => true,
'shouldRefreshExistingItems' => true,
'shouldRefreshCustomers' => true,
'shouldDeleteImagesOnImport' => true,
'shouldWawiCalculateTaxRate' => true,
'shouldWawiCalculateTaxRateForShipping' => true,
'shippingCountryIso' => '<string>',
'entityCount' => 123,
'pullCount' => 123,
'imagesCount' => 123,
'maximumTransferRate' => 123,
'quickSyncCount' => 123,
'sendOnlyAssignedManufacturers' => 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}/connector"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"apiToken\": \"<string>\",\n \"name\": \"<string>\",\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"isActive\": true,\n \"isLocked\": true,\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"useShopOrderNumber\": true,\n \"canImport\": true,\n \"shouldImportItemsAndCategories\": true,\n \"shouldImportOrdersAndCustomers\": true,\n \"shouldImportImages\": true,\n \"canUpload\": true,\n \"shouldUploadItemComplete\": true,\n \"shouldUploadItemPriceRestricted\": true,\n \"shouldUploadItemStockRestricted\": true,\n \"shouldUploadCustomers\": true,\n \"shouldUploadImages\": true,\n \"shouldRefreshExistingItems\": true,\n \"shouldRefreshCustomers\": true,\n \"shouldDeleteImagesOnImport\": true,\n \"shouldWawiCalculateTaxRate\": true,\n \"shouldWawiCalculateTaxRateForShipping\": true,\n \"shippingCountryIso\": \"<string>\",\n \"entityCount\": 123,\n \"pullCount\": 123,\n \"imagesCount\": 123,\n \"maximumTransferRate\": 123,\n \"quickSyncCount\": 123,\n \"sendOnlyAssignedManufacturers\": 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}/connector")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"apiToken\": \"<string>\",\n \"name\": \"<string>\",\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"isActive\": true,\n \"isLocked\": true,\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"useShopOrderNumber\": true,\n \"canImport\": true,\n \"shouldImportItemsAndCategories\": true,\n \"shouldImportOrdersAndCustomers\": true,\n \"shouldImportImages\": true,\n \"canUpload\": true,\n \"shouldUploadItemComplete\": true,\n \"shouldUploadItemPriceRestricted\": true,\n \"shouldUploadItemStockRestricted\": true,\n \"shouldUploadCustomers\": true,\n \"shouldUploadImages\": true,\n \"shouldRefreshExistingItems\": true,\n \"shouldRefreshCustomers\": true,\n \"shouldDeleteImagesOnImport\": true,\n \"shouldWawiCalculateTaxRate\": true,\n \"shouldWawiCalculateTaxRateForShipping\": true,\n \"shippingCountryIso\": \"<string>\",\n \"entityCount\": 123,\n \"pullCount\": 123,\n \"imagesCount\": 123,\n \"maximumTransferRate\": 123,\n \"quickSyncCount\": 123,\n \"sendOnlyAssignedManufacturers\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/sales-channels/{salesChannelId}/connector")
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 \"url\": \"<string>\",\n \"apiToken\": \"<string>\",\n \"name\": \"<string>\",\n \"companyId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"isActive\": true,\n \"isLocked\": true,\n \"rootCategoryId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"useShopOrderNumber\": true,\n \"canImport\": true,\n \"shouldImportItemsAndCategories\": true,\n \"shouldImportOrdersAndCustomers\": true,\n \"shouldImportImages\": true,\n \"canUpload\": true,\n \"shouldUploadItemComplete\": true,\n \"shouldUploadItemPriceRestricted\": true,\n \"shouldUploadItemStockRestricted\": true,\n \"shouldUploadCustomers\": true,\n \"shouldUploadImages\": true,\n \"shouldRefreshExistingItems\": true,\n \"shouldRefreshCustomers\": true,\n \"shouldDeleteImagesOnImport\": true,\n \"shouldWawiCalculateTaxRate\": true,\n \"shouldWawiCalculateTaxRateForShipping\": true,\n \"shippingCountryIso\": \"<string>\",\n \"entityCount\": 123,\n \"pullCount\": 123,\n \"imagesCount\": 123,\n \"maximumTransferRate\": 123,\n \"quickSyncCount\": 123,\n \"sendOnlyAssignedManufacturers\": true\n}"
response = http.request(request)
puts response.read_body{
"isActive": true,
"isLocked": true,
"canImport": true,
"shouldImportItemsAndCategories": true,
"shouldImportOrdersAndCustomers": true,
"shouldImportImages": true,
"canUpload": true,
"shouldUploadItemComplete": true,
"shouldUploadItemPriceRestricted": true,
"shouldUploadItemStockRestricted": true,
"shouldUploadCustomers": true,
"shouldUploadImages": true,
"shouldRefreshExistingItems": true,
"shouldRefreshCustomers": true,
"shouldDeleteImagesOnImport": true,
"shouldWawiCalculateTaxRate": true,
"shouldWawiCalculateTaxRateForShipping": true,
"pullCount": 123,
"quickSyncCount": 123,
"sendOnlyAssignedManufacturers": true,
"useShopOrderNumber": true,
"languages": [
{
"iso": "<string>",
"isAssigned": true,
"isDefault": true,
"nameGerman": "<string>",
"nameEnglish": "<string>"
}
],
"currencies": [
{
"currencyCode": "<string>",
"codeSource": 0,
"isAssigned": true,
"isDefault": true,
"name": "<string>"
}
],
"features": [
{
"feature": 1,
"isEnabled": true
}
],
"taxRates": [
{
"rate": 123,
"taxRateId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}
],
"serverInfo": {
"isOldConnector": true,
"platformName": "<string>",
"platformVersion": "<string>",
"protocolVersion": "<string>",
"endpointVersion": "<string>"
},
"salesChannelId": "<string>",
"name": "<string>",
"url": "<string>",
"companyId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"maximumTransferRate": 123,
"imagesCount": 123,
"entityCount": 123,
"shippingCountryIso": "<string>",
"dummyCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"rootCategoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}{
"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>"
}
]
}{
"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 connector account to update. Opaque, tenant-local composite identifier (not a UUID); use the value returned by a sales channel listing.
Body
Request model for UpdateConnector command endpoint. Route parameters bind from the route, query parameters from the query string, everything else from the body.
URL of the connector endpoint. Omit to leave unchanged. Connection data; submitting a different value triggers the live handshake, which must succeed before anything is written. A changed URL must not point to the same host and path as another active JTL-Connector account; deleted (inactive) accounts are ignored, and a deleted account itself is not checked.
API token used to authenticate against the connector endpoint. Omit to leave unchanged. Write-only; never returned. A new token is verified with a live handshake before it is saved.
Name of the connector account. Omit to leave unchanged.
ID of the company the connector account belongs to. Omit to leave unchanged. Cannot be null. The tax rates reported by the endpoint are validated against this company's tax rates.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
DEPRECATED: do not use. This property is ignored and will be removed in a future API version.
Connector account is locked. Omit to leave unchanged.
Root category for imported items. Omit to leave unchanged; send null to clear it.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Use the shop-assigned order number instead of the JTL-Wawi-generated one. Omit to leave unchanged.
The connector account is allowed to import data from the endpoint. Omit to leave unchanged.
Items and categories are imported. Omit to leave unchanged.
Orders and customers are imported. Omit to leave unchanged.
Item images are imported. Omit to leave unchanged.
The connector account is allowed to upload data to the endpoint. Omit to leave unchanged.
Items are uploaded completely, rather than price/stock-restricted. Omit to leave unchanged.
Item uploads are restricted to prices only. Omit to leave unchanged.
Item uploads are restricted to stock only. Omit to leave unchanged.
Customer data is uploaded. Omit to leave unchanged.
Images are uploaded. Omit to leave unchanged.
Existing items are merged/refreshed rather than only added. Omit to leave unchanged.
Existing customer data is refreshed. Omit to leave unchanged.
Images are deleted on import. Omit to leave unchanged.
JTL-Wawi calculates the tax rate for items, rather than taking the endpoint-reported one. Omit to leave unchanged.
JTL-Wawi calculates the tax rate for shipping, rather than taking the endpoint-reported one. Omit to leave unchanged.
The shipping (departure) country as an ISO 3166-1 alpha-2 code, e.g. DE. Omit to leave unchanged; send null to clear it. Case-insensitive; returned in uppercase.
Maximum number of entities transferred per run. Omit to leave unchanged; send null for unrestricted.
Maximum number of entities pulled per synchronization run. Omit to leave unchanged. Cannot be null.
Maximum number of images transferred per run. Omit to leave unchanged; send null for unrestricted.
Maximum transfer rate for uploads, in megabytes. Omit to leave unchanged; send null for unrestricted.
Maximum number of entities per quick-sync run. Omit to leave unchanged. Cannot be null.
Manufacturer data sent to the endpoint is filtered to only assigned manufacturers. Omit to leave unchanged.
Response
The connector account was updated. Returns the full Connector object as saved, including normalized values and fields not included in the request. "Languages", "Currencies" and "Features" reflect the last refresh; "TaxRates" is always empty in this response; use "POST /v2/sales-channels/{salesChannelId}/connector/refresh" or "RefreshConnector" for the current tax rates.
A connector account with its configuration and the metadata reported by its endpoint. Returned when a connector account is created ("POST /v2/sales-channels/connector/accounts" or "CreateConnector"), updated ("PATCH /v2/sales-channels/{salesChannelId}/connector" or "UpdateConnector") or refreshed ("POST /v2/sales-channels/{salesChannelId}/connector/refresh" or "RefreshConnector"). Languages, currencies, features, tax rates and server information are read-only and come from the endpoint; currency codes are uppercase and language codes are lowercase. Per-object-type synchronization settings are not included; use "GET /v2/sales-channels/{salesChannelId}/connector/synchronisation-settings" or "QueryConnectorSynchronisationSettings".
Connector account is active.
Connector account is locked.
The connector account is allowed to import data from the endpoint.
Items and categories are imported.
Orders and customers are imported.
Item images are imported.
The connector account is allowed to upload data to the endpoint.
Items are uploaded completely, rather than price/stock-restricted.
Item uploads are restricted to prices only.
Item uploads are restricted to stock only.
Customer data is uploaded.
Images are uploaded.
Existing items are merged/refreshed rather than only added.
Existing customer data is refreshed.
Images are deleted on import.
JTL-Wawi calculates the tax rate for items, rather than taking the endpoint-reported one.
JTL-Wawi calculates the tax rate for shipping, rather than taking the endpoint-reported one.
Maximum pull count per sync run.
Maximum quick-sync count per sync run.
Manufacturer data sent to the endpoint is filtered to only assigned manufacturers.
The shop-assigned order number is used instead of the JTL-Wawi-generated one.
Languages available in JTL-Wawi, annotated with the assignment/default state reported by the connector endpoint's live handshake.
Show child attributes
Show child attributes
ISO 4217 currencies known to JTL-Wawi, annotated with the assignment/default state reported by the connector endpoint's live handshake.
Show child attributes
Show child attributes
Every known connector feature, each marked whether the connector endpoint reported it as enabled.
Show child attributes
Show child attributes
Tax rates reported by the endpoint during the live handshake, each with the JTL-Wawi tax rate it was matched to. Returned when a connector account is created ("POST /v2/sales-channels/connector/accounts" or "CreateConnector") or refreshed ("POST /v2/sales-channels/{salesChannelId}/connector/refresh" or "RefreshConnector"); always empty in the update response ("PATCH /v2/sales-channels/{salesChannelId}/connector" or "UpdateConnector").
Show child attributes
Show child attributes
Live-only metadata about the connected endpoint's platform and protocol version, as reported by its handshake.
Show child attributes
Show child attributes
Sales channel id of this connector account. Opaque, tenant-local composite identifier (not a UUID). Null when "Simulate" is true (omitted in REST, null in GraphQL); no account was saved, so no id is assigned.
Name of the connector account.
URL of the connector endpoint.
ID of the company the connector account belongs to.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Maximum transfer rate for uploads, in megabytes, or null if unrestricted.
Maximum number of images transferred per run, or null if unrestricted.
Maximum number of entities transferred per run, or null if unrestricted.
The shipping (departure) country as an ISO 3166-1 alpha-2 code, e.g. DE, or null if not set. Case-insensitive; returned in uppercase.
Fallback category for uncategorized imported items, or null if not set.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Root category for imported items, or null if not set.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Was this page helpful?