curl --request GET \
--url https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}', 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.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "<string>",
"capability": "<string>",
"source_id": "<string>",
"scope": {},
"status": "<string>",
"target_id": "<string>",
"booked_as": "<string>",
"attempts": 123,
"last_error_code": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"succeeded_at": "2023-11-07T05:31:56Z",
"target": {},
"history": [
{
"action": "<string>",
"details": {},
"chainexecution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"last_at": "2023-11-07T05:31:56Z",
"occurrences": 123
}
],
"links": [
{
"relation": "needs",
"kind": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_id": "<string>",
"scope": {},
"status": "<string>"
}
],
"issues": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "open",
"kind": "configuration",
"owner": "consumer",
"code": "ERROR_SYNC_MISSING_MAPPING_VALUE",
"title": "<string>",
"description": "<string>",
"message": "<string>",
"cause": {},
"scope": {},
"occurrences": 123,
"first_seen_at": "2023-11-07T05:31:56Z",
"last_seen_at": "2023-11-07T05:31:56Z",
"resolved_at": "2023-11-07T05:31:56Z",
"objects_count": 123,
"actions": [
"<string>"
]
}
]
}What a consumer's sync did to one object
Its state, what happened to it (each step with its execution), the objects it needed and those that needed it, and the open issues holding it up. kind is the object’s type, e.g. supplier_invoice.
curl --request GET \
--url https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}', 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.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/objects/{kind}/{object_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "<string>",
"capability": "<string>",
"source_id": "<string>",
"scope": {},
"status": "<string>",
"target_id": "<string>",
"booked_as": "<string>",
"attempts": 123,
"last_error_code": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"succeeded_at": "2023-11-07T05:31:56Z",
"target": {},
"history": [
{
"action": "<string>",
"details": {},
"chainexecution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"last_at": "2023-11-07T05:31:56Z",
"occurrences": 123
}
],
"links": [
{
"relation": "needs",
"kind": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source_id": "<string>",
"scope": {},
"status": "<string>"
}
],
"issues": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "open",
"kind": "configuration",
"owner": "consumer",
"code": "ERROR_SYNC_MISSING_MAPPING_VALUE",
"title": "<string>",
"description": "<string>",
"message": "<string>",
"cause": {},
"scope": {},
"occurrences": 123,
"first_seen_at": "2023-11-07T05:31:56Z",
"last_seen_at": "2023-11-07T05:31:56Z",
"resolved_at": "2023-11-07T05:31:56Z",
"objects_count": 123,
"actions": [
"<string>"
]
}
]
}Authorizations
This access token needs to be included in each of your request to the Chift API.
Path Parameters
Query Parameters
ISO 639-1 code of the language of the texts (en, fr, nl, de, es; any case), falling back to English. Without it, translation keys.
Response
Successful Response
The object's id: read it with GET …/objects/{kind}/{id}.
The object's type, e.g. 'supplier_invoice'.
Key of the capability that handles it.
Its id in the source.
What identifies it beside its source id, for a sync keying its objects on something the consumer runs several of: {"location_id": "paris"}. Empty otherwise.
Show child attributes
Show child attributes
Where it stands, e.g. 'pending', 'success', 'failed', 'skipped', 'never_retry'.
What it was booked as in the target. Null until then.
Key of the mode that booked it.
How many times it failed.
The code of its last failure.
When the sync first saw it.
When it last changed.
When it was booked.
What it was booked as, as the target answered.
What happened to it, the oldest first.
Show child attributes
Show child attributes
The objects it needed, and those that needed it.
Show child attributes
Show child attributes
The open issues holding it up.
Show child attributes
Show child attributes