curl --request POST \
--url https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"id": "bacon",
"name": "Bacon",
"image_url": "<string>",
"disabled": false,
"out_of_stock": false,
"restrictions": [],
"price_overrides": []
}
'import requests
url = "https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers"
payload = {
"id": "bacon",
"name": "Bacon",
"image_url": "<string>",
"disabled": False,
"out_of_stock": False,
"restrictions": [],
"price_overrides": []
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: 'bacon',
name: 'Bacon',
image_url: '<string>',
disabled: false,
out_of_stock: false,
restrictions: [],
price_overrides: []
})
};
fetch('https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers', 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://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers",
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([
'id' => 'bacon',
'name' => 'Bacon',
'image_url' => '<string>',
'disabled' => false,
'out_of_stock' => false,
'restrictions' => [
],
'price_overrides' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"x-api-key: <api-key>"
],
]);
$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://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers"
payload := strings.NewReader("{\n \"id\": \"bacon\",\n \"name\": \"Bacon\",\n \"image_url\": \"<string>\",\n \"disabled\": false,\n \"out_of_stock\": false,\n \"restrictions\": [],\n \"price_overrides\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("x-api-key", "<api-key>")
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://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers")
.header("Idempotency-Key", "<idempotency-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"bacon\",\n \"name\": \"Bacon\",\n \"image_url\": \"<string>\",\n \"disabled\": false,\n \"out_of_stock\": false,\n \"restrictions\": [],\n \"price_overrides\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"bacon\",\n \"name\": \"Bacon\",\n \"image_url\": \"<string>\",\n \"disabled\": false,\n \"out_of_stock\": false,\n \"restrictions\": [],\n \"price_overrides\": []\n}"
response = http.request(request)
puts response.read_body{
"id": "bacon",
"name": "Bacon",
"price": {
"amount": 12.9,
"currency": "EUR"
},
"disabled": false,
"out_of_stock": false,
"restrictions": [],
"price_overrides": [],
"object": "modifier",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"image_url": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}Créer un modifier
curl --request POST \
--url https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"id": "bacon",
"name": "Bacon",
"image_url": "<string>",
"disabled": false,
"out_of_stock": false,
"restrictions": [],
"price_overrides": []
}
'import requests
url = "https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers"
payload = {
"id": "bacon",
"name": "Bacon",
"image_url": "<string>",
"disabled": False,
"out_of_stock": False,
"restrictions": [],
"price_overrides": []
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: 'bacon',
name: 'Bacon',
image_url: '<string>',
disabled: false,
out_of_stock: false,
restrictions: [],
price_overrides: []
})
};
fetch('https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers', 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://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers",
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([
'id' => 'bacon',
'name' => 'Bacon',
'image_url' => '<string>',
'disabled' => false,
'out_of_stock' => false,
'restrictions' => [
],
'price_overrides' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"x-api-key: <api-key>"
],
]);
$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://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers"
payload := strings.NewReader("{\n \"id\": \"bacon\",\n \"name\": \"Bacon\",\n \"image_url\": \"<string>\",\n \"disabled\": false,\n \"out_of_stock\": false,\n \"restrictions\": [],\n \"price_overrides\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("x-api-key", "<api-key>")
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://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers")
.header("Idempotency-Key", "<idempotency-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"bacon\",\n \"name\": \"Bacon\",\n \"image_url\": \"<string>\",\n \"disabled\": false,\n \"out_of_stock\": false,\n \"restrictions\": [],\n \"price_overrides\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.chataigne.ai/v1/locations/{location_id}/catalogs/{catalog_id}/modifier_groups/{modifier_group_id}/modifiers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"bacon\",\n \"name\": \"Bacon\",\n \"image_url\": \"<string>\",\n \"disabled\": false,\n \"out_of_stock\": false,\n \"restrictions\": [],\n \"price_overrides\": []\n}"
response = http.request(request)
puts response.read_body{
"id": "bacon",
"name": "Bacon",
"price": {
"amount": 12.9,
"currency": "EUR"
},
"disabled": false,
"out_of_stock": false,
"restrictions": [],
"price_overrides": [],
"object": "modifier",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"image_url": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "<string>",
"request_id": "req_8f2c…",
"param": "<string>",
"details": {}
}
}Autorisations
Clé API d’établissement ou d’organisation.
En-têtes
Clé unique qui permet de relancer cette création sans risque ; les rejeux retournent la réponse initiale.
Corps
^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"bacon"
"Bacon"
Show child attributes
Show child attributes
Indique si la ressource est masquée et ne peut pas être commandée.
Indique si la ressource est temporairement indisponible tout en restant visible.
Fenêtres de disponibilité. La ressource est disponible dès qu’une restriction correspond.
100Show child attributes
Show child attributes
Prix conditionnels. Le prix correspondant aux conditions les plus spécifiques l’emporte.
100Show child attributes
Show child attributes
Réponse
Le modifier créé.
^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"bacon"
"Bacon"
Show child attributes
Show child attributes
Indique si la ressource est masquée et ne peut pas être commandée.
Indique si la ressource est temporairement indisponible tout en restant visible.
Fenêtres de disponibilité. La ressource est disponible dès qu’une restriction correspond.
100Show child attributes
Show child attributes
Prix conditionnels. Le prix correspondant aux conditions les plus spécifiques l’emporte.
100Show child attributes
Show child attributes
modifier