Retrieve one product
curl --request GET \
--url https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_id}import requests
url = "https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_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}/invoicing/products/{product_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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}/invoicing/products/{product_id}"
req, _ := http.NewRequest("GET", url, nil)
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}/invoicing/products/{product_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"source_ref": {
"id": "<string>",
"model": "<string>"
},
"name": "<string>",
"unit_price": 123,
"tax_id": "<string>",
"code": "<string>",
"unit": "<string>",
"category": "<string>",
"currency": "<string>",
"description": "<string>",
"cost": 0,
"available_quantity": 0
}{
"message": "Error while trying to perform your request",
"status": "error"
}{
"message": "The product doesn't exist in the invoicing system.",
"status": "error",
"error_code": "ERROR_PRODUCT_NOT_FOUND"
}{
"message": "Validation error",
"status": "error",
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Products
Retrieve one product
Returns a specific product or service from the invoicing system by its unique identifier.
GET
/
consumers
/
{consumer_id}
/
invoicing
/
products
/
{product_id}
Retrieve one product
curl --request GET \
--url https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_id}import requests
url = "https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_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}/invoicing/products/{product_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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}/invoicing/products/{product_id}"
req, _ := http.NewRequest("GET", url, nil)
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}/invoicing/products/{product_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/invoicing/products/{product_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"source_ref": {
"id": "<string>",
"model": "<string>"
},
"name": "<string>",
"unit_price": 123,
"tax_id": "<string>",
"code": "<string>",
"unit": "<string>",
"category": "<string>",
"currency": "<string>",
"description": "<string>",
"cost": 0,
"available_quantity": 0
}{
"message": "Error while trying to perform your request",
"status": "error"
}{
"message": "The product doesn't exist in the invoicing system.",
"status": "error",
"error_code": "ERROR_PRODUCT_NOT_FOUND"
}{
"message": "Validation error",
"status": "error",
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Learn more:
- What is a product? ↗
Response
Successful Response
Technical id in Chift
Technical id in the target software
Show child attributes
Show child attributes
Name
Unit price
Technical id of the tax in Chift
Reference/code
Unit of measure matching target software name
Category matching target software name
Currency matching target software name
Description
Cost of the product
Available quanity of the product in stock. Will only be used for products that have an inventory (services will always be 0)