Homux დეველოპერებისთვის
ვიზუალიზატორი თქვენს საიტზე
მიეცით მყიდველებს საშუალება, თქვენი პროდუქტი საკუთარ ოთახში ნახონ — პირდაპირ თქვენი საიტიდან. ღილაკი ემატება HTML-ის ორი ხაზით, ბმულები — კოდის გარეშე, კატალოგი კი REST API-ით სინქრონდება.
ვებ-ვიჯეტი
ღილაკი პროდუქტის გვერდზე
ბმულები
Instagram, Facebook, მეილი
REST API
კატალოგის წაკითხვა და მართვა
- 1მყიდველი აჭერს „სცადე შენს ოთახში“
- 2ვიზუალიზატორი იხსნება ფანჯარაში, თქვენს გვერდზე
- 3ტვირთავს ოთახის ფოტოს ან ირჩევს სანიმუშოს
- 4თქვენი პროდუქტი მაშინვე ედება ოთახს
ფანჯარაში მხოლოდ თქვენი პროდუქტები ჩანს. ყოველი გახსნა ჩანს თქვენს ანალიტიკაში.
<!-- 1. Once, on every page (before </body>) -->
<script src="https://homux.ge/embed/homux.js" data-company="your-handle" async></script>
<!-- 2. Where the button should appear -->
<div data-homux-try data-sku="WP-1042"></div>მზა კოდი თქვენი პროდუქტებისთვის
კომპანიის პანელში: პარამეტრები → „საიტი და API“ — თქვენი handle უკვე ჩასმულია, გახსნა →დემო
ასე გამოჩნდება თქვენს საიტზე
ქვემოთ — სადემო ონლაინ მაღაზია, რომელსაც Homux-ის სკრიპტი აქვს დამატებული. გადაერთეთ პროდუქტის გვერდსა და კატალოგს შორის, ნახეთ მობილური ვერსია, ან დააჭირეთ ღილაკს და ნახეთ, რას დაინახავს თქვენი მყიდველი.
- 1პროდუქტის გვერდზე — დიდი ღილაკი „კალათაში დამატების“ ქვეშ
<div data-homux-try data-size="lg" data-full-width …> - 2კატალოგში — პატარა ღილაკი ყველა ბარათზე
<div data-homux-try data-size="sm" data-theme="light" …> - 3ფუტერში — ბეჯი (არასავალდებულო)
<div data-homux-badge>
„ქვამო“ გამოგონილი მაღაზიაა. ყველაფერი, რაც ჩარჩოში ჩანს, მაღაზიის საკუთარი კოდია, გარდა მონიშნული ელემენტებისა — მათ Homux-ის სკრიპტი ხატავს. ღილაკები ნამდვილია: დააჭირეთ და ვიზუალიზატორი გაიხსნება ფანჯარაში, პირდაპირ მაღაზიის გვერდზე. პროდუქტების ფოტოები: FancyWalls, Homux-ის კატალოგიდან.
ვებ-ვიჯეტი
სწრაფი დაწყება
- 1
დარწმუნდით, რომ პროდუქტები Homux-ზეა
დაამატეთ ისინი პანელში ან API-ით. თუ თქვენს საიტზე პროდუქტებს კოდი (SKU) აქვთ, ჩაწერეთ იგივე კოდი Homux-ში — მაშინ ერთი შაბლონი ყველა პროდუქტზე იმუშავებს.
- 2
ჩასვით სკრიპტი ერთხელ
ყველა გვერდზე, </body>-მდე, ან საიტის „Custom code / Footer scripts“ პარამეტრში.
data-company— თქვენი Homux handle. - 3
განათავსეთ ღილაკი
იქ, სადაც ღილაკი უნდა გამოჩნდეს — მაგ. „კალათაში დამატების“ ქვეშ.
<script src="https://homux.ge/embed/homux.js" data-company="your-handle" async></script><div data-homux-try data-sku="WP-1042"></div>პლატფორმები
აირჩიეთ თქვენი პლატფორმა კოდის პანელში.
- Shopify — Online Store → Themes → Edit code. სკრიპტი theme.liquid-ში, ღილაკი — პროდუქტის სექციაში. ვარიანტის შეცვლისას განაახლეთ data-sku და ღილაკი თავად გადაერთვება.
- WooCommerce — (child) თემის functions.php ან Code Snippets პლაგინი.
- Wix · Tilda · Webflow — ერთი „Embed HTML“ ბლოკი, ორივე ხაზით ერთად: ზოგი ბილდერი ბლოკს ცალკე iframe-ში ხსნის.
- React · Next.js · Vue — სკრიპტი ერთხელ, ელემენტი სადაც გინდათ. ახალ ელემენტებს ვიჯეტი თავად ამჩნევს.
<!-- layout/theme.liquid, right before </body> -->
<script src="https://homux.ge/embed/homux.js" data-company="your-handle" async></script>
<!-- sections/main-product.liquid, near the Add to cart button -->
<div data-homux-try data-sku="{{ product.selected_or_first_available_variant.sku | escape }}"></div>JavaScript და ივენთები
სკრიპტი ქმნის window.Homux ობიექტს. ივენთები ელემენტიდან ზემოთ ვრცელდება, ამიტომ ერთი listener საკმარისია.
მეთოდები
Homux.lookup(opts)Promise<product | null>ამოწმებს, არის თუ არა პროდუქტი Homux-ზე. opts: { sku } ან { product }.Homux.open(opts)Promise<boolean>ხსნის ვიზუალიზატორის ფანჯარას თქვენივე ღილაკიდან; { mode: "tab" } — ახალ ჩანართში.Homux.close()voidხურავს ფანჯარას.Homux.scan(root?)voidხელახლა ეძებს ელემენტებს (ჩვეულებრივ საჭირო არ არის).
ივენთები
homux:loadeddocumentსკრიპტი მზადაა.homux:readyelementღილაკი გამოჩნდა. event.detail.product — პროდუქტი.homux:unavailableelementპროდუქტი Homux-ზე არ არის — ღილაკი არ ჩანს.homux:openelement · cancelableმყიდველმა დააჭირა. event.preventDefault() გახსნას შეაჩერებს.homux:closeelementვიზუალიზატორის ფანჯარა დაიხურა.
// The script loads async — wait for it once:
function withHomux(fn) {
if (window.Homux) fn(window.Homux);
else document.addEventListener('homux:loaded', () => fn(window.Homux), { once: true });
}
withHomux(async (Homux) => {
// Is this product on Homux? → product object, or null
const product = await Homux.lookup({ sku: 'WP-1042' });
// Open the visualizer window from your own button
document.querySelector('#see-in-room').addEventListener('click', () => {
Homux.open({ sku: 'WP-1042' }); // or { sku, mode: 'tab' }
});
});// Google Analytics 4: track clicks on the Homux button
document.addEventListener('homux:open', (event) => {
const p = event.detail.product;
gtag('event', 'homux_try_in_room', { item_id: p.sku || p.id, item_name: p.name });
});
// Hide your own "visualize" label when the product is not on Homux
document.addEventListener('homux:unavailable', (event) => {
event.target.closest('.visualize-box')?.remove();
});ბმულები კოდის გარეშე
ჩვეულებრივი ბმული, რომელიც ვიზუალიზატორს ამ პროდუქტით ხსნის: Instagram-ის bio და სთორის სტიკერი, Facebook, WhatsApp, Viber, მეილი. თუ პროდუქტი ვერ მოიძებნა, ბმული თქვენს Homux გვერდზე ან კატალოგზე გადაიყვანს — შეცდომაზე არასოდეს.
Query პარამეტრები
productstringHomux პროდუქტის ID.company + skustringთქვენი handle და პროდუქტის კოდი — product-ის ნაცვლად.langka | enვიზუალიზატორის ენა.
https://homux.ge/api/v1/try?product=PRODUCT_IDპროდუქტის კოდები (SKU)
- სად: პანელი → კატალოგი → პროდუქტი → რედაქტირება → „პროდუქტის კოდი (SKU)“. API-ით — sku ველი.
- კოდი კომპანიაში უნიკალურია, მაქს. 64 სიმბოლო. დიდ-პატარა ასოები არ განსხვავდება: WP-1042 = wp-1042.
- SKU არ გაქვთ? გამოიყენეთ Homux ID — პროდუქტის გვერდის მისამართის ბოლო ნაწილი:
homux.ge/ka/catalog/aBc123
API reference
შესავალი
Homux API — REST, JSON. საჯარო კატალოგის წაკითხვას გასაღები არ სჭირდება და ბრაუზერიდანაც მუშაობს (CORS). პროდუქტების დამატება, შეცვლა და წაშლა — საიდუმლო გასაღებით, მხოლოდ სერვერიდან.
პასუხი ყოველთვის { "data": … }; სიებს აქვს has_more, next_cursor და total. საჯარო პასუხები ქეშში ინახება — ცვლილებას 3 წუთამდე შეიძლება დასჭირდეს.
v1 სტაბილურია. ახალი ველები შეიძლება დაემატოს გაფრთხილების გარეშე — უცნობი ველები უბრალოდ გამოტოვეთ. არსებულის შეცვლა მხოლოდ v2-ში მოხდება.
ავტორიზაცია
გასაღებს ქმნით კომპანიის პანელში: პარამეტრები → „საიტი და API“ → API გასაღებები. გაგზავნეთ ჰედერად: Authorization: Bearer hx_live_…
გასაღები მხოლოდ სერვერზე
გასაღები მხოლოდ შექმნისას ჩანს. არასოდეს ჩასვათ ის საიტის JavaScript-ში — ბრაუზერიდან გასაღებიანი მოთხოვნა განზრახ იბლოკება. თუ გასაღები გაჟონა, გააუქმეთ და შექმენით ახალი.curl "https://homux.ge/api/v1/me" \
-H "Authorization: Bearer $HOMUX_API_KEY"შეცდომები
შეცდომას ყოველთვის აქვს მანქანისთვის წაკითხვადი code და ადამიანისთვის message. ყველა პასუხს აქვს X-Request-Id ჰედერი — მიუთითეთ ის, როცა დახმარებას ითხოვთ.
კოდები
bad_request400არასწორი პარამეტრი ან JSON.unauthorized401გასაღები აკლია, არასწორია ან გაუქმებულია.subscription_required402გამოწერა არააქტიურია — ცვლილებები შეჩერებულია.plan_limit_reached403გეგმის პროდუქტების ლიმიტი ამოიწურა.not_found · company_not_found404პროდუქტი ან კომპანია ვერ მოიძებნა.sku_taken409ეს SKU სხვა პროდუქტს აქვს (details.product_id).validation_failed422ველები არასწორია — თითოეული ახსნილია details.fields-ში.image_invalid · image_invalid_url · image_too_small · image_too_large422სურათის პრობლემა — message აღწერს, რა უნდა შეიცვალოს.image_unreachable424image_url ვერ ჩამოიტვირთა.rate_limited429ძალიან ბევრი მოთხოვნა — დაელოდეთ Retry-After წამს.
{
"error": {
"code": "validation_failed",
"message": "Some fields are invalid.",
"details": {
"fields": {
"price": "A number from 0 to 1000000 (GEL)."
}
},
"docs": "https://homux.ge/developers"
}
}ლიმიტები და გვერდები
- საჯარო წაკითხვა: 300 მოთხოვნა/წთ თითო IP-ზე. გასაღებით: 120 მოთხოვნა/წთ თითო გასაღებზე.
- გადაჭარბებისას — 429 და Retry-After ჰედერი წამებში.
- სიები: limit (1–100, ნაგულისხმევი 50) და cursor წინა პასუხის next_cursor-იდან. has_more: false — ბოლო გვერდია.
curl "https://homux.ge/api/v1/companies/your-handle/products?limit=50&cursor=Mg"{
"data": [
"…"
],
"has_more": true,
"next_cursor": "MTAw",
"total": 148
}ობიექტი
პროდუქტის ობიექტი
ველები
idstringHomux პროდუქტის ID.skustring | nullთქვენი კოდი, თუ მითითებულია.namestringპროდუქტის სახელი.categorywalls | floors | doorsოთახის ზედაპირი.typestringპროდუქტის ტიპი — იხ. ტიპები.subtype, material, stylestring | nullფილტრების მონაცემები.finishstring[]ზედაპირი, მაგ. ["Matte"].colorstring | nullსაშუალო ფერი, HEX.sizeobject | nullსურათზე ნაჩვენები ფართობის რეალური ზომა.size_labelstring | nullზომა ტექსტად, მაგ. "53 × 53 cm".priceobject | nullფასი, ზუსტად ისე, როგორც მყიდველი ხედავს.promo_textstring | nullშეთავაზების ხაზი.image_urlstringტექსტურა, ≤ 2048 px.thumbnail_urlstring480 px მინიატურა.companyobjectვისი პროდუქტია.urlsobjectმზა ბმულები.created_at, updated_atISO 8601დროის ნიშნულები.
{
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 27.99,
"compare_at": null,
"base_amount": 28,
"currency": "GEL"
},
"promo_text": null,
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
}კომპანიის მიღება
GET/v1/companies/{handle}
კომპანიის საჯარო პროფილი და პროდუქტების რაოდენობა. გასაღები არ სჭირდება.
Path პარამეტრები
handlestringსავალდებულოHomux handle, @-ის გარეშე.
რას აბრუნებს
dataobjectკომპანია, ან 404 company_not_found.
curl "https://homux.ge/api/v1/companies/your-handle"{
"data": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store",
"bio": "Wallpaper and tiles in Tbilisi",
"logo_url": "https://firebasestorage.googleapis.com/…/logo.jpg",
"website": "https://yourstore.ge",
"location": "Tbilisi",
"page_url": "https://homux.ge/ka/@your-handle",
"product_count": 148
}
}კომპანიის პროდუქტები
GET/v1/companies/{handle}/products
კომპანიის საჯარო პროდუქტები, ახლიდან ძველისკენ. გასაღები არ სჭირდება.
Query პარამეტრები
categorywalls | floors | doorsზედაპირით გაფილტვრა.typestringტიპით გაფილტვრა, მაგ. Laminate.skustringკონკრეტული SKU-ები, მძიმით (მაქს. 50).limitinteger1–100, ნაგულისხმევი 50.cursorstringnext_cursor წინა პასუხიდან.langka | enurls-ის ენა.
curl "https://homux.ge/api/v1/companies/your-handle/products?category=walls&limit=2"{
"data": [
{
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 27.99,
"compare_at": null,
"base_amount": 28,
"currency": "GEL"
},
"promo_text": null,
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
}
],
"has_more": true,
"next_cursor": "Mg",
"total": 61
}პროდუქტის მიღება
GET/v1/products/{id}
ერთი საჯარო პროდუქტი Homux ID-ით.
Path პარამეტრები
idstringსავალდებულოHomux პროდუქტის ID.
curl "https://homux.ge/api/v1/products/aBc123"{
"data": {
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 27.99,
"compare_at": null,
"base_amount": 28,
"currency": "GEL"
},
"promo_text": null,
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
}
}რამდენიმე პროდუქტის მიღება
GET/v1/products?ids=…
რამდენიმე პროდუქტი ერთი მოთხოვნით (მაქს. 50). ვერნაპოვნი ID-ები უბრალოდ გამოტოვებულია.
Query პარამეტრები
idsstringსავალდებულოID-ები მძიმით.
curl "https://homux.ge/api/v1/products?ids=aBc123,dEf456"{
"data": [
{
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 27.99,
"compare_at": null,
"base_amount": 28,
"currency": "GEL"
},
"promo_text": null,
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
}
]
}შექმნა ან განახლება SKU-თ
PUT/v1/products/by-sku/{sku}
სინქრონიზაციისთვის რეკომენდებული
ქმნის პროდუქტს ამ SKU-თ, ან ანახლებს არსებულს — განმეორებით გაშვება უსაფრთხოა. პასუხი: 201 (შეიქმნა) ან 200 (განახლდა), "created": true/false.საჭიროებს API გასაღებს.
Path პარამეტრები
skustringსავალდებულოთქვენი პროდუქტის კოდი.
Body პარამეტრები
namestring ≤ 200სავალდებულოპროდუქტის სახელი.categorywalls | floors | doorsსავალდებულოოთახის რომელ ზედაპირზე იდება.typestringსავალდებულოპროდუქტის ტიპი — იხ. ტიპები. მიიღება სლაგიც:wood-flooring.image_urlhttps URLსავალდებულო შექმნისასზედაპირის ფოტო (JPEG, PNG, WebP, AVIF, GIF; მაქს. 20 MB, 40 MP; მოკლე მხარე მინ. 200 px). იგივე URL-ის ხელახლა გაგზავნისას სურათი თავიდან არ იტვირთება.image_base64stringიგივე სურათი base64-ით, თუ საჯარო URL არ გაქვთ.pricenumberფასი ლარში (0 – 1 000 000).compare_at_pricenumberძველი, გადახაზული ფასი. price-ზე მეტი უნდა იყოს.promo_textstring ≤ 120შეთავაზების ხაზი ფასის ქვეშ.sizeobjectსურათზე ნაჩვენები ფართობის რეალური ზომა (თითო მხარე ≤ 10 მ). მიუთითეთ ერთი ფილის ან შპალერის ერთი რაპორტის ზომა, არა რულონის სიგრძე.finishstring[]ზედაპირი, მაგ. ["Matte", "Textured"] (მაქს. 10).material, style, subtypestring ≤ 60მასალა (Porcelain, Oak), სტილი (Modern), ქვეტიპი (Mosaic).
curl -X PUT "https://homux.ge/api/v1/products/by-sku/WP-1042" \
-H "Authorization: Bearer $HOMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"price": 26,
"compare_at_price": 28,
"image_url": "https://yourstore.ge/images/wp-1042-swatch.jpg"
}'{
"data": {
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 25.99,
"compare_at": 28,
"base_amount": 26,
"currency": "GEL"
},
"promo_text": null,
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
},
"created": false
}პროდუქტის შექმნა
POST/v1/products
საჭიროებს API გასაღებს. API-ით შექმნილი პროდუქტები ზუსტად ისე მუშაობს, როგორც პანელიდან ატვირთული: კატალოგში, ვიზუალიზატორში, QR ეტიკეტებსა და ანალიტიკაში.
Body პარამეტრები
namestring ≤ 200სავალდებულოპროდუქტის სახელი.categorywalls | floors | doorsსავალდებულოოთახის რომელ ზედაპირზე იდება.typestringსავალდებულოპროდუქტის ტიპი — იხ. ტიპები. მიიღება სლაგიც:wood-flooring.image_urlhttps URLსავალდებულო შექმნისასზედაპირის ფოტო (JPEG, PNG, WebP, AVIF, GIF; მაქს. 20 MB, 40 MP; მოკლე მხარე მინ. 200 px). იგივე URL-ის ხელახლა გაგზავნისას სურათი თავიდან არ იტვირთება.image_base64stringიგივე სურათი base64-ით, თუ საჯარო URL არ გაქვთ.skustring ≤ 64თქვენი პროდუქტის კოდი; კომპანიაში უნიკალური.pricenumberფასი ლარში (0 – 1 000 000).compare_at_pricenumberძველი, გადახაზული ფასი. price-ზე მეტი უნდა იყოს.promo_textstring ≤ 120შეთავაზების ხაზი ფასის ქვეშ.sizeobjectსურათზე ნაჩვენები ფართობის რეალური ზომა (თითო მხარე ≤ 10 მ). მიუთითეთ ერთი ფილის ან შპალერის ერთი რაპორტის ზომა, არა რულონის სიგრძე.finishstring[]ზედაპირი, მაგ. ["Matte", "Textured"] (მაქს. 10).material, style, subtypestring ≤ 60მასალა (Porcelain, Oak), სტილი (Modern), ქვეტიპი (Mosaic).
სურათები
- ფილა, შპალერი, ლამინატი: ზედაპირის ბრტყელი ფოტო, პირდაპირ კუთხით, თანაბარი განათებით, ჩრდილისა და წყლის ნიშნის გარეშე. იდეალურია უწყვეტი ფრაგმენტი.
- კარი: მხოლოდ კარი, სწორი კუთხით, სასურველია PNG გამჭვირვალე ფონით.
- რეკომენდებულია 1500 px ან მეტი. Homux ინახავს 2048 px ტექსტურას, 480 px მინიატურას და ორიგინალს.
გეგმის ლიმიტები
API-ით დამატებული პროდუქტები გეგმის ლიმიტში ითვლება (Starter — 150, Growth — 600, Scale — ულიმიტო). ლიმიტზე — 403 plan_limit_reached; შეჩერებული გამოწერისას — 402 subscription_required. წაკითხვა და ღილაკი ორივე შემთხვევაში მუშაობს.curl -X POST "https://homux.ge/api/v1/products" \
-H "Authorization: Bearer $HOMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"sku": "WP-1042",
"price": 28,
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"finish": [
"Matte",
"Textured"
],
"image_url": "https://yourstore.ge/images/wp-1042-swatch.jpg"
}'{
"data": {
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 27.99,
"compare_at": null,
"base_amount": 28,
"currency": "GEL"
},
"promo_text": null,
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
}
}პროდუქტის შეცვლა
PATCH/v1/products/{id}
საჭიროებს API გასაღებს. ცვლის მხოლოდ გაგზავნილ ველებს; null არასავალდებულო ველს ასუფთავებს. ველები — იგივე, რაც შექმნისას.
Path პარამეტრები
idstringსავალდებულოHomux პროდუქტის ID.
curl -X PATCH "https://homux.ge/api/v1/products/aBc123" \
-H "Authorization: Bearer $HOMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"price": 24,
"promo_text": "-15% this week",
"compare_at_price": null
}'{
"data": {
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 23.99,
"compare_at": null,
"base_amount": 24,
"currency": "GEL"
},
"promo_text": "-15% this week",
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
}
}პროდუქტის მიღება SKU-თ
GET/v1/products/by-sku/{sku}
საჭიროებს API გასაღებს. თქვენი პროდუქტი SKU-თ — დამალულიც.
curl "https://homux.ge/api/v1/products/by-sku/WP-1042" \
-H "Authorization: Bearer $HOMUX_API_KEY"{
"data": {
"id": "aBc123",
"sku": "WP-1042",
"name": "Linen Grey",
"category": "walls",
"type": "Wallpaper",
"subtype": null,
"material": "Vinyl",
"style": "Modern",
"finish": [
"Matte",
"Textured"
],
"color": "#b3b3ab",
"size": {
"width": 53,
"height": 53,
"unit": "cm"
},
"size_label": "53 × 53 cm",
"price": {
"amount": 27.99,
"compare_at": null,
"base_amount": 28,
"currency": "GEL"
},
"promo_text": null,
"image_url": "https://firebasestorage.googleapis.com/…/aBc123.jpg",
"thumbnail_url": "https://firebasestorage.googleapis.com/…/aBc123_thumb.webp",
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store"
},
"urls": {
"page": "https://homux.ge/ka/catalog/aBc123",
"try_on": "https://homux.ge/api/v1/try?product=aBc123"
},
"created_at": "2026-09-30T10:12:00.000Z",
"updated_at": "2026-10-02T08:40:00.000Z"
}
}პროდუქტის წაშლა
DELETE/v1/products/{id}
საჭიროებს API გასაღებს. შლის პროდუქტს და მის სურათებს. დაბეჭდილი QR კოდი ამ პროდუქტისთვის აღარ იმუშავებს.
curl -X DELETE "https://homux.ge/api/v1/products/aBc123" \
-H "Authorization: Bearer $HOMUX_API_KEY"{
"data": {
"id": "aBc123",
"deleted": true
}
}გასაღების შემოწმება
GET/v1/me
საჭიროებს API გასაღებს. რომელ კომპანიას ეკუთვნის გასაღები, რა გეგმაა და რამდენი პროდუქტის დამატება შეიძლება.
curl "https://homux.ge/api/v1/me" \
-H "Authorization: Bearer $HOMUX_API_KEY"{
"data": {
"company": {
"id": "Xk2pQ8…",
"handle": "your-handle",
"name": "Your Store",
"bio": "Wallpaper and tiles in Tbilisi",
"logo_url": "https://firebasestorage.googleapis.com/…/logo.jpg",
"website": "https://yourstore.ge",
"location": "Tbilisi",
"page_url": "https://homux.ge/ka/@your-handle"
},
"plan": "growth",
"write_access": true,
"products": {
"count": 148,
"limit": 600
}
}
}ვიზუალიზატორის ბმული
GET/v1/try
ბრაუზერისთვის განკუთვნილი ბმული: ითვლის გახსნას და გადაჰყავს ვიზუალიზატორზე. პარამეტრები — ბმულებში.
GET https://homux.ge/api/v1/try?product=aBc123&lang=en
HTTP/2 302
location: https://homux.ge/en/room-redesign?material=aBc123&source=widgetპროდუქტის ტიპები
wallscategoryWallpaper, Stone, Brick, Tile, Panel, Wood Cladding, Plaster, Paint, OtherfloorscategoryWood Flooring, Laminate, Vinyl, Tile, Stone, Carpet, Concrete, Resin, Rubber, Cork, Decking, Linoleum, OtherdoorscategoryHinged, Sliding, Folding, Pivot, Entry, Glass Door, Garage Door, Other
რესურსები
სინქრონიზაციის მაგალითი
სკრიპტი, რომელიც თქვენს ონლაინ მაღაზიას ღამით Homux-თან ასინქრონებს. PUT by-sku იდემპოტენტურია — განმეორებით გაშვება უსაფრთხოა.
გაყიდვიდან ამოღებული პროდუქტების წასაშლელად წაიკითხეთ თქვენი Homux პროდუქტები და წაშალეთ ის, ვისი SKU-ც თქვენს სიაში აღარ არის.
// sync-homux.mjs — run nightly (Node 18+): HOMUX_API_KEY=hx_live_… node sync-homux.mjs
const API = 'https://homux.ge/api/v1';
const headers = { Authorization: `Bearer ${process.env.HOMUX_API_KEY}`, 'Content-Type': 'application/json' };
const products = await loadMyProducts(); // ← your shop database or export
for (const p of products) {
const res = await fetch(`${API}/products/by-sku/${encodeURIComponent(p.sku)}`, {
method: 'PUT',
headers,
body: JSON.stringify({
name: p.title,
category: 'walls', // walls | floors | doors
type: 'Wallpaper', // see Product types
price: p.price,
image_url: p.swatchImageUrl, // unchanged URL → not downloaded again
size: { width: 53, height: 53, unit: 'cm' },
}),
});
if (!res.ok) {
const { error } = await res.json();
console.error(p.sku, res.status, error.code, error.message, error.details ?? '');
}
if (res.status === 429) await new Promise((r) => setTimeout(r, 30_000));
}ანალიტიკა
პანელის ანალიტიკაში ჩანს „საიტიდან გადასვლები“ — რამდენჯერ გახსნეს ვიზუალიზატორი თქვენი ღილაკიდან ან ბმულიდან, ამ თვეში და სულ.
- ბოტები, ბმულის გადახედვები (Facebook, WhatsApp…) და ერთი ვიზიტორის განმეორებითი დაჭერები 10 წუთში არ ითვლება.
- QR სკანები მხოლოდ დაბეჭდილ QR ეტიკეტებს ითვლის; რედიზაინები — როცა მყიდველი თქვენს პროდუქტს ოთახში იყენებს.
- საკუთარი ანალიტიკისთვის —
homux:openივენთი.
დახმარება
ღილაკი არ ჩანს?
- გახსენით ბრაუზერის კონსოლი (F12): data-homux-state გეტყვით მიზეზს — unavailable (პროდუქტი ვერ მოიძებნა) ან error.
- შეამოწმეთ handle და SKU:
https://homux.ge/api/v1/companies/your-handle/products?sku=WP-1042— ცარიელი data ნიშნავს, რომ ასეთი პროდუქტი არ არის. - თუ საიტს Content-Security-Policy აქვს, დაუშვით https://homux.ge — script-src-ში, connect-src-სა და frame-src-ში.
- ახლად დამატებულ ან შეცვლილ პროდუქტს გამოჩენამდე 3 წუთამდე შეიძლება დასჭირდეს.
დაგვიკავშირდით
მოგვწერეთ app.homux@gmail.com — მიუთითეთ handle და, API-ის შემთხვევაში, X-Request-Id. ინტეგრაციაში დაგეხმარებით.ცვლილებები
2026-10-10widget 1.1ღილაკი ვიზუალიზატორს ფანჯარაში ხსნის, პირდაპირ თქვენს საიტზე, მხოლოდ თქვენი პროდუქტებით, და პროდუქტი ავტომატურად ედება ოთახს. ახალი: data-open="tab", Homux.close(), homux:close.2026-10-09v1პირველი ვერსია: homux.js (ღილაკი, ბეჯი, JavaScript API), ბმულები, საჯარო კატალოგის API, კატალოგის მართვა გასაღებით, SKU ველი, საიტიდან გადასვლების ანალიტიკა.