title: POST /api/products/:id description: Vytvoření nebo akce nad produktem se známým ID.
POST /api/products/:id
- URL:
/api/products/68b5b692be9080affaa098c3 - Metoda: POST
- Autorizace: dle projektu
- Content-Type:
application/json
Tento endpoint použijte k vytvoření produktu s předem daným ID nebo ke spuštění vlastní akce nad produktem. Pokud vaše instalace podporuje standardní vytváření, zvažte také POST /api/products bez ID.
Tělo požadavku
Přijímá objekt Product. Minimálně užitečná pole:
basic.product_name— string (povinné)basic.product_desc— stringbasic.location— stringadditional.price— numberadditional.caution— numberadditional.time_unit— string, např.dayadditional.selectedTerm— ID podmínek, které se mají aplikovat. Musí odpovídat některému zbasic.rent_owner.terms.termsArray[].id.settings.published— booleansettings.slug— stringgallery.images[]— volitelné objekty obrázků
Příklad:
{
"internal_name": "Example Product",
"basic": {
"product_name": "Example Product",
"product_desc": "Example description ...",
"location": "Example City"
},
"additional": {
"price": 500,
"caution": 1000,
"time_unit": "day",
"selectedTerm": "qjnagbx6h1j"
},
"settings": {
"published": true,
"slug": "vycepni-zarizeni-pipa-lindr-as-40-2-kohout-zwxfkxo"
}
}Poznámka: V uvedeném příkladu additional.selectedTerm odkazuje na položku v basic.rent_owner.terms.termsArray.
Úspěšná odpověď
- Stav:
201 Created(nebo200 OKpři provedení akce) - Tělo: vytvořený/ovlivněný objekt Product
{
"id": "68b5b692be9080affaa098c3",
"createdAt": "2025-09-01T15:06:58.847Z",
"updatedAt": "2025-09-01T15:07:09.125Z",
"internal_name": "Example Product",
"basic": {
"product_name": "Example Product",
"product_desc": "Example description ...",
"location": "Example City"
},
"additional": {
"price": 500,
"caution": 1000,
"time_unit": "day",
"selectedTerm": "qjnagbx6h1j"
},
"settings": {
"published": true,
"slug": "vycepni-zarizeni-pipa-lindr-as-40-2-kohout-zwxfkxo"
}
}Chyby
400 Bad Requestpři validační chybě401/403při neautorizovaném/zakázaném přístupu409 Conflictpokud ID již existuje a upsert není povolen
Ukázka chybové odpovědi:
{
"errors": [
{
"message": "Validation failed: basic.product_name is required",
"field": "basic.product_name"
}
]
}Poznámky
- Pokud vaše konfigurace Rentall používá hooky nebo přístupová pravidla, výsledné tvary odpovědí a status kódy se mohou lišit. Pro přesné chování vždy vycházejte z konfigurace vašeho projektu.
Příklady
curl
curl -s -X POST \
-H "Authorization: Bearer $RENTALL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"internal_name":"Example Product",
"basic":{"product_name":"Example Product","location":"Example City"},
"additional":{"price":500,"caution":1000,"time_unit":"day","selectedTerm":"qjnagbx6h1j"},
"settings":{"published":true,"slug":"example-product"}
}' \
https://rentall.cz/api/products/68b5b692be9080affaa098c3