curl --request POST \
--url https://scx-sbx.api.jtl-software.com/v1/seller/report/request \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "MYBESTDEALCOMDE",
"sellerId": "4711",
"reportType": "SELLER_INVENTORY",
"options": {
"ResultsAsChannelEvent": true
},
"startDate": "2023-12-25",
"endDate": "2023-12-25"
}
'import requests
url = "https://scx-sbx.api.jtl-software.com/v1/seller/report/request"
payload = {
"channel": "MYBESTDEALCOMDE",
"sellerId": "4711",
"reportType": "SELLER_INVENTORY",
"options": { "ResultsAsChannelEvent": True },
"startDate": "2023-12-25",
"endDate": "2023-12-25"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
channel: 'MYBESTDEALCOMDE',
sellerId: '4711',
reportType: 'SELLER_INVENTORY',
options: {ResultsAsChannelEvent: true},
startDate: '2023-12-25',
endDate: '2023-12-25'
})
};
fetch('https://scx-sbx.api.jtl-software.com/v1/seller/report/request', 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://scx-sbx.api.jtl-software.com/v1/seller/report/request",
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([
'channel' => 'MYBESTDEALCOMDE',
'sellerId' => '4711',
'reportType' => 'SELLER_INVENTORY',
'options' => [
'ResultsAsChannelEvent' => true
],
'startDate' => '2023-12-25',
'endDate' => '2023-12-25'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://scx-sbx.api.jtl-software.com/v1/seller/report/request"
payload := strings.NewReader("{\n \"channel\": \"MYBESTDEALCOMDE\",\n \"sellerId\": \"4711\",\n \"reportType\": \"SELLER_INVENTORY\",\n \"options\": {\n \"ResultsAsChannelEvent\": true\n },\n \"startDate\": \"2023-12-25\",\n \"endDate\": \"2023-12-25\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://scx-sbx.api.jtl-software.com/v1/seller/report/request")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"MYBESTDEALCOMDE\",\n \"sellerId\": \"4711\",\n \"reportType\": \"SELLER_INVENTORY\",\n \"options\": {\n \"ResultsAsChannelEvent\": true\n },\n \"startDate\": \"2023-12-25\",\n \"endDate\": \"2023-12-25\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://scx-sbx.api.jtl-software.com/v1/seller/report/request")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel\": \"MYBESTDEALCOMDE\",\n \"sellerId\": \"4711\",\n \"reportType\": \"SELLER_INVENTORY\",\n \"options\": {\n \"ResultsAsChannelEvent\": true\n },\n \"startDate\": \"2023-12-25\",\n \"endDate\": \"2023-12-25\"\n}"
response = http.request(request)
puts response.read_body{
"sellerId": "4711",
"channel": "MYBESTDEALCOMDE",
"reportId": "910390cc-c3b3-45ba-8be2-ab1824b6c499",
"created": true,
"expiresIn": 172500
}{
"errorList": [
{
"code": "VAL100",
"message": "Required field sellerId not found",
"severity": "error",
"hint": "Check the field `sellerId` — it must be a non-empty string."
}
]
}{
"errorList": [
{
"code": "GEN500",
"message": "Internal Server Error",
"severity": "error",
"hint": null
}
]
}Request Report
Request a new report from channel. Reports a valid for 48 hours after request indicated by expiresIn.
curl --request POST \
--url https://scx-sbx.api.jtl-software.com/v1/seller/report/request \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "MYBESTDEALCOMDE",
"sellerId": "4711",
"reportType": "SELLER_INVENTORY",
"options": {
"ResultsAsChannelEvent": true
},
"startDate": "2023-12-25",
"endDate": "2023-12-25"
}
'import requests
url = "https://scx-sbx.api.jtl-software.com/v1/seller/report/request"
payload = {
"channel": "MYBESTDEALCOMDE",
"sellerId": "4711",
"reportType": "SELLER_INVENTORY",
"options": { "ResultsAsChannelEvent": True },
"startDate": "2023-12-25",
"endDate": "2023-12-25"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
channel: 'MYBESTDEALCOMDE',
sellerId: '4711',
reportType: 'SELLER_INVENTORY',
options: {ResultsAsChannelEvent: true},
startDate: '2023-12-25',
endDate: '2023-12-25'
})
};
fetch('https://scx-sbx.api.jtl-software.com/v1/seller/report/request', 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://scx-sbx.api.jtl-software.com/v1/seller/report/request",
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([
'channel' => 'MYBESTDEALCOMDE',
'sellerId' => '4711',
'reportType' => 'SELLER_INVENTORY',
'options' => [
'ResultsAsChannelEvent' => true
],
'startDate' => '2023-12-25',
'endDate' => '2023-12-25'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://scx-sbx.api.jtl-software.com/v1/seller/report/request"
payload := strings.NewReader("{\n \"channel\": \"MYBESTDEALCOMDE\",\n \"sellerId\": \"4711\",\n \"reportType\": \"SELLER_INVENTORY\",\n \"options\": {\n \"ResultsAsChannelEvent\": true\n },\n \"startDate\": \"2023-12-25\",\n \"endDate\": \"2023-12-25\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://scx-sbx.api.jtl-software.com/v1/seller/report/request")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"MYBESTDEALCOMDE\",\n \"sellerId\": \"4711\",\n \"reportType\": \"SELLER_INVENTORY\",\n \"options\": {\n \"ResultsAsChannelEvent\": true\n },\n \"startDate\": \"2023-12-25\",\n \"endDate\": \"2023-12-25\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://scx-sbx.api.jtl-software.com/v1/seller/report/request")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel\": \"MYBESTDEALCOMDE\",\n \"sellerId\": \"4711\",\n \"reportType\": \"SELLER_INVENTORY\",\n \"options\": {\n \"ResultsAsChannelEvent\": true\n },\n \"startDate\": \"2023-12-25\",\n \"endDate\": \"2023-12-25\"\n}"
response = http.request(request)
puts response.read_body{
"sellerId": "4711",
"channel": "MYBESTDEALCOMDE",
"reportId": "910390cc-c3b3-45ba-8be2-ab1824b6c499",
"created": true,
"expiresIn": 172500
}{
"errorList": [
{
"code": "VAL100",
"message": "Required field sellerId not found",
"severity": "error",
"hint": "Check the field `sellerId` — it must be a non-empty string."
}
]
}{
"errorList": [
{
"code": "GEN500",
"message": "Internal Server Error",
"severity": "error",
"hint": null
}
]
}Authorizations
Bearer JWT issued to a seller after they sign up for a JTL-Scx subscription via the JTL
Customer Center. Usage format: Bearer <JWT>.
Body
Request to generate an asynchronous report (e.g. orders, returns, settlements) for the seller.
Seller request to generate a marketplace report (e.g. inventory, orders) for a specific channel.
This is the unique Channel name.
^\w{5,15}$"MYBESTDEALCOMDE"
A unique Id identify a Seller on a specific SalesChannel. The SellerId is generated from the Channel itself during the Seller SignUp Process.
^\w{1,50}$"4711"
SELLER_INVENTORY Show child attributes
Show child attributes
Response
Report request accepted; identifier returned for later download
Acknowledgement of a report request — returns the reportId, whether it is newly created (vs. deduplicated) and a TTL.
A unique Id identify a Seller on a specific SalesChannel. The SellerId is generated from the Channel itself during the Seller SignUp Process.
^\w{1,50}$"4711"
This is the unique Channel name.
^\w{5,15}$"MYBESTDEALCOMDE"
A system wide unique Id to identify and download a report
"910390cc-c3b3-45ba-8be2-ab1824b6c499"
Indicates if the report request was created as with new reportId. SCX Seller Api is doing a
deduplication and will return value false if there is an existing not yet processed report with the
same parameters. The reportId returned is same from the open report.
true
Seconds until the report is deleted from the system. Default TTL is 48h.
172500
Was this page helpful?