Introduction
100% Light api for storing article information and exporting to Navision
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
This API is authenticated by sending an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
Authentication tokens can be requested using the proper channels, please visit Guideline Belgium for more information.
Article
Article api calls. To create, edit, delete, etc. articles.
Copy
requires authentication
Create a new article by copying another one
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://dev-api.100p.xcs.be/api/v1/articles',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
'json' => [
'customNumber' => '"12411116-copy"',
'F_1' => '"12411116"',
'F_*' => '"F_5"',
'C_*' => '"C_75015"',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request POST \
"https://dev-api.100p.xcs.be/api/v1/articles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive" \
--data "{
\"customNumber\": \"\\\"12411116-copy\\\"\",
\"F_1\": \"\\\"12411116\\\"\",
\"F_*\": \"\\\"F_5\\\"\",
\"C_*\": \"\\\"C_75015\\\"\"
}"
const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/articles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
let body = {
"customNumber": "\"12411116-copy\"",
"F_1": "\"12411116\"",
"F_*": "\"F_5\"",
"C_*": "\"C_75015\""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/articles'
payload = {
"customNumber": "\"12411116-copy\"",
"F_1": "\"12411116\"",
"F_*": "\"F_5\"",
"C_*": "\"C_75015\""
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Example response (200):
{
"status": "success",
"message": "Copy successfully created",
"data": {
"id": "12411116-copy",
"F_1": "12411116-copy",
"F_3": "BH30-IP20-LG08-CRI90-6,1W-4K-BM45°-RFL-WHT-IDD350mADC(DALI)",
"F_5": "",
"F_80000": "BULLET HOLE 30 - IP20 - LED G08 - CRI 90 - 6,1 W - 4000K - BEAM 45°-REFLECTOR",
"F_80001": "MATT WHITE TEXTURED - INCL. DIM. DRIVER 350mA DC (DALI)",
"F_80002": "",
"F_80003": "",
"F_80007": "",
"C_75048": "BULLET HOLE",
"C_75027": "BULLET HOLE 30",
"C_75000": "INDOOR",
"C_75001": "CEILING",
"F_80006": "20/06/2022"
}
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Delta Update
requires authentication
Call articles delta updates routine This will add jobs to the queue to handle the file and all operations therein
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://dev-api.100p.xcs.be/api/v1/articles/delta-update',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
'json' => [
'file' => '"http://localhost/data/test.TestHandleSyncRequestMix.json"',
'files' => '"[http://localhost/data/test.TestHandleSyncRequestMix.json, http://localhost/data/test.TestHandleSyncRequestMix2.json]"',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request POST \
"https://dev-api.100p.xcs.be/api/v1/articles/delta-update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive" \
--data "{
\"file\": \"\\\"http:\\/\\/localhost\\/data\\/test.TestHandleSyncRequestMix.json\\\"\",
\"files\": \"\\\"[http:\\/\\/localhost\\/data\\/test.TestHandleSyncRequestMix.json, http:\\/\\/localhost\\/data\\/test.TestHandleSyncRequestMix2.json]\\\"\"
}"
const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/articles/delta-update"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
let body = {
"file": "\"http:\/\/localhost\/data\/test.TestHandleSyncRequestMix.json\"",
"files": "\"[http:\/\/localhost\/data\/test.TestHandleSyncRequestMix.json, http:\/\/localhost\/data\/test.TestHandleSyncRequestMix2.json]\""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/articles/delta-update'
payload = {
"file": "\"http:\/\/localhost\/data\/test.TestHandleSyncRequestMix.json\"",
"files": "\"[http:\/\/localhost\/data\/test.TestHandleSyncRequestMix.json, http:\/\/localhost\/data\/test.TestHandleSyncRequestMix2.json]\""
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Example response (200):
{
"status": "success",
"message": "Delta file accepted and added to the job queue",
"data": null
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Update
requires authentication
Update an article
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://dev-api.100p.xcs.be/api/v1/articles/update',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
'json' => [
'customNumber' => 'minima',
'F_1' => '"12411116"',
'F_*' => '"F_5"',
'C_*' => '"C_75015"',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request POST \
"https://dev-api.100p.xcs.be/api/v1/articles/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive" \
--data "{
\"customNumber\": \"minima\",
\"F_1\": \"\\\"12411116\\\"\",
\"F_*\": \"\\\"F_5\\\"\",
\"C_*\": \"\\\"C_75015\\\"\"
}"
const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/articles/update"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
let body = {
"customNumber": "minima",
"F_1": "\"12411116\"",
"F_*": "\"F_5\"",
"C_*": "\"C_75015\""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/articles/update'
payload = {
"customNumber": "minima",
"F_1": "\"12411116\"",
"F_*": "\"F_5\"",
"C_*": "\"C_75015\""
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Example response (200):
{
"status": "success",
"message": "Update successful",
"data": {
"id": "12411116",
"F_1": "12411116",
"F_3": "BH30-IP20-LG08-CRI90-6,1W-4K-BM45°-RFL-WHT-IDD350mADC(DALI)",
"F_5": "",
"F_80000": "BULLET HOLE 30 - IP20 - LED G08 - CRI 90 - 6,1 W - 4000K - BEAM 45°-REFLECTOR",
"F_80001": "MATT WHITE TEXTURED - INCL. DIM. DRIVER 350mA DC (DALI)",
"F_80002": "",
"F_80003": "",
"F_80007": "",
"C_75048": "BULLET HOLE",
"C_75027": "BULLET HOLE 30",
"C_75000": "INDOOR",
"C_75001": "CEILING",
"F_80006": "20/06/2022"
}
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Delete
requires authentication
Delete an article by its number "F_1" which is the id used internally (Navision)
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/articles/delete/"12411116"',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/articles/delete/"12411116"" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/articles/delete/"12411116""
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/articles/delete/"12411116"'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Articles deleted",
"data": {
"_index": "articles",
"_type": "_doc",
"_id": "12411116",
"_version": 4,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 2338,
"_primary_term": 26
}
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Search
requires authentication
Search an article by its number "F_1" which is the id used internally (Navision)
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/articles/"12411116"',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/articles/"12411116"" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/articles/"12411116""
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/articles/"12411116"'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Articles found",
"data": {
"id": "12411116",
"F_1": "12411116",
"F_3": "BH30-IP20-LG08-CRI90-6,1W-4K-BM45°-RFL-WHT-IDD350mADC(DALI)",
"F_5": "",
"F_80000": "BULLET HOLE 30 - IP20 - LED G08 - CRI 90 - 6,1 W - 4000K - BEAM 45°-REFLECTOR",
"F_80001": "MATT WHITE TEXTURED - INCL. DIM. DRIVER 350mA DC (DALI)",
"F_80002": "",
"F_80003": "",
"F_80007": "",
"C_75048": "BULLET HOLE",
"C_75027": "BULLET HOLE 30",
"C_75000": "INDOOR",
"C_75001": "CEILING",
"F_80006": "20/06/2022"
}
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Job
Job api calls. To see, flush and clear jobs in the job queue.
Job
requires authentication
Get first job. This is the first job found in the queue, same as calling jobs with (1)
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/job',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/job" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/job"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/job'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Jobs found [job]",
"data": [
{
"payload": {
"file": "http://localhost/data/test.TestHandleSyncRequestMix.json",
"tries": 1,
"timeout": 300,
"failOnTimeout": true,
"queue": "delta-file",
"middleware": [],
"chained": []
}
}
]
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Jobs
requires authentication
Get all jobs paginated. These are the jobs that still need to be handled
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/jobs',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/jobs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/jobs"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/jobs'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Jobs found [jobs]",
"data": [
{
"payload": {
"file": "http://localhost/data/test.TestHandleSyncRequestMix.json",
"tries": 1,
"timeout": 300,
"failOnTimeout": true,
"queue": "delta-file",
"middleware": [],
"chained": []
}
}
]
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Files
requires authentication
This fetches a list of files in job queue. It is meant to be used as a reference point of files that still need processing
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/files',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/files" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/files"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/files'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "files found (1)",
"data": [
"http://localhost/data/test.TestHandleSyncRequestMix.json.gz"
]
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Failed Job
requires authentication
Get first failed job. This gets the original failed job that prevents the rest from running, same as failed jobs (1)
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/failedjob',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/failedjob" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/failedjob"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/failedjob'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Failed job found",
"data": {
"errors": [
"Trying to add feature to an existing article, but the article does not exist: 12411112"
],
"payload": {
"articleData": {
"F_1": "12411112",
"F_80004": "248,28"
},
"file": "http://localhost/data/test.TestHandleSyncRequestMix.json",
"operation": "replace-article-feature",
"tries": 1,
"timeout": 60,
"failOnTimeout": true,
"queue": "delta-article",
"middleware": [],
"chained": []
}
}
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Failed Jobs
requires authentication
Get all failed jobs paginated. these are the jobs in order of first to last that failed to run. Check payload for original file and errors for exceptions that caused the issue
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/failedjobs',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/failedjobs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/failedjobs"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/failedjobs'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Failed jobs found",
"data": {
"errors": [
"Trying to add feature to an existing article, but the article does not exist: 12411112"
],
"payload": {
"articleData": {
"F_1": "12411112",
"F_80004": "248,28"
},
"file": "http://localhost/data/test.TestHandleSyncRequestMix.json",
"operation": "replace-article-feature",
"tries": 1,
"timeout": 60,
"failOnTimeout": true,
"queue": "delta-article",
"middleware": [],
"chained": []
}
}
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Failed Articles
requires authentication
This fetches a list of article numbers that have failed jobs. It is meant to be used as a reference point of articles that need to be re-evaluated and uploaded using the delta-update after a flush.
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/failedarticles',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/failedarticles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/failedarticles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/failedarticles'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Failed articles found (10)",
"data": [
"12411112",
"12411122",
"12411132",
"12411142",
"12411152",
"12411162",
"12411172",
"12411182",
"12411212",
"12411222"
]
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Failed Files
requires authentication
This fetches a list of files connected to failed jobs. It is meant to be used as a reference point of files that need to be re-evaluated and uploaded using the delta-update after a flush.
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/failedfiles',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/failedfiles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/failedfiles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/failedfiles'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Failed files found (1)",
"data": [
"http://localhost/data/test.TestHandleSyncRequestMix.json.gz"
]
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Successful Files
requires authentication
This fetches a list of successful files in job queue. It is meant to be used as a reference point of files that have been processed successfully
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/successfulfiles',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/successfulfiles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/successfulfiles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/successfulfiles'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "successful files found (1)",
"data": [
"http://localhost/data/test.TestHandleSyncRequestMix.json.gz"
]
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Clear Jobs
requires authentication
this clears all active jobs from the queue before they are finished
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/clear',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/clear" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/clear"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/clear'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Clear of jobs queue successful",
"data": null
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Clear Successful Jobs
requires authentication
this clears all successful jobs from thecustom database
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/clearsuccessful',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/clearsuccessful" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/clearsuccessful"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/clearsuccessful'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Clear of finished jobs successful",
"data": null
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error:
Flush Failed Jobs
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://dev-api.100p.xcs.be/api/v1/jobs/flush',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip, deflate, br',
'Connection' => 'keep-alive',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));curl --request GET \
--get "https://dev-api.100p.xcs.be/api/v1/jobs/flush" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip, deflate, br" \
--header "Connection: keep-alive"const url = new URL(
"https://dev-api.100p.xcs.be/api/v1/jobs/flush"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://dev-api.100p.xcs.be/api/v1/jobs/flush'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"status": "success",
"message": "Flush of failed jobs queue successful",
"data": null
}
Example response (401):
{
"status": "error",
"message": "Message describing the error",
"data": null
}
Received response:
Request failed with error: