Kirame vitrinasi o'z serverida ishlaydi — siz faqat 1 qator kod bilan uni shaxsiy domeningizda ko'rsatasiz. API kalitlari, kod va ma'lumotlar ochiq turmaydi: hammasi server tomonda himoyalangan.
Shaxsiy domen sozlamalarini ko'rish uchun hisobingizga kiring yoki do'kon yarating.
Mijoz saytining istalgan joyiga quyidagini qo'shing — vitrina to'liq ishlaydi (savat, buyurtma, QR to'lov). HTML, WordPress, Shopify, Tilda — hammasida bir xil.
<div id="aura-store"></div> <script src="http://www.kirame.uz/api/embed.php?key=EMBED_KALIT"></script>
<iframe src="http://www.kirame.uz/api/embed.php?key=EMBED_KALIT&view=iframe" style="width:100%;height:900px;border:0" ></iframe>
Mahsulotlar ro'yxatini o'z saytingizda ko'rsatish uchun JSON API:
GET http://www.kirame.uz/api/embed.php?key=KEY&format=json
<?php
// Kirame — mahsulotlarni olish
$key = 'EMBED_KALIT';
$url = 'https://kirame.uz/api/embed.php?key=' . urlencode($key) . '&format=json';
$data = json_decode(file_get_contents($url), true);
if ($data['success']) {
foreach ($data['products'] as $p) {
echo $p['name'] . ' — ' . $p['sale_price'] . PHP_EOL;
}
}
import requests\n\nkey = "EMBED_KALIT"\nr = requests.get(\n "https://kirame.uz/api/embed.php",\n params={"key": key, "format": "json"},\n timeout=10,\n)\ndata = r.json()\nif data["success"]:\n for p in data["products"]:\n print(p["name"], "—", p["sale_price"])
const key = "EMBED_KALIT";\n\nfetch(`https://kirame.uz/api/embed.php?key=${key}&format=json`)\n .then((r) => r.json())\n .then((data) => {\n if (data.success) {\n data.products.forEach((p) => console.log(p.name, "—", p.sale_price));\n }\n });
package main\n\nimport (\n\t"encoding/json"\n\t"fmt"\n\t"net/http"\n)\n\ntype embedResp struct {\n\tSuccess bool `json:"success"`\n\tProducts []struct {\n\t\tName string `json:"name"`\n\t\tSalePrice float64 `json:"sale_price"`\n\t} `json:"products"`\n}\n\nfunc main() {\n\tkey := "EMBED_KALIT"\n\tresp, err := http.Get("https://kirame.uz/api/embed.php?key=" + key + "&format=json")\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\n\tvar data embedResp\n\tjson.NewDecoder(resp.Body).Decode(&data)\n\tif data.Success {\n\t\tfor _, p := range data.Products {\n\t\t\tfmt.Println(p.Name, "—", p.SalePrice)\n\t\t}\n\t}\n}
import java.net.http.*;\nimport java.net.URI;\n\npublic class AuraEmbed {\n public static void main(String[] args) throws Exception {\n String key = "EMBED_KALIT";\n HttpClient client = HttpClient.newHttpClient();\n HttpRequest req = HttpRequest.newBuilder()\n .uri(URI.create("https://kirame.uz/api/embed.php?key=" + key + "&format=json"))\n .build();\n HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());\n System.out.println(resp.body()); // JSON — Jackson/Gson bilan parse qiling\n }\n}
using System;\nusing System.Net.Http;\nusing System.Text.Json;\nusing System.Threading.Tasks;\n\nclass AuraEmbed {\n static async Task Main() {\n var key = "EMBED_KALIT";\n using var http = new HttpClient();\n var json = await http.GetStringAsync(\n $"https://kirame.uz/api/embed.php?key={key}&format=json");\n using var doc = JsonDocument.Parse(json);\n foreach (var p in doc.RootElement.GetProperty("products").EnumerateArray()) {\n Console.WriteLine(p.GetProperty("name").GetString());\n }\n }\n}
require "net/http"\nrequire "json"\n\nkey = "EMBED_KALIT"\nuri = URI("https://kirame.uz/api/embed.php?key=#{key}&format=json")\ndata = JSON.parse(Net::HTTP.get(uri))\n\nif data["success"]\n data["products"].each { |p| puts "#{p['name']} — #{p['sale_price']}" }\nend
import 'dart:convert';\nimport 'package:http/http.dart' as http;\n\nFuture<void> main() async {\n const key = 'EMBED_KALIT';\n final resp = await http.get(Uri.parse(\n 'https://kirame.uz/api/embed.php?key=$key&format=json'));\n final data = jsonDecode(resp.body);\n if (data['success'] == true) {\n for (final p in data['products']) {\n print('${p['name']} — ${p['sale_price']}');\n }\n }\n}
# Kirame — mahsulotlarni olish\ncurl "https://kirame.uz/api/embed.php?key=EMBED_KALIT&format=json"\n\n# Chiroyli ko'rinish (jq bilan)\ncurl -s "https://kirame.uz/api/embed.php?key=EMBED_KALIT&format=json" | jq '.products[] | {name, sale_price}'
Yuqoridagi status kartasidan EMBED_KALIT ni nusxalang (Pro/Enterprise avtomatik beriladi).
Yuqoridagi 2 qatorli HTML yoki API namunalaridan birini ishlating. Hosting istalgan (shared, VPS, static).
o'z-domen.uz ni Kirame serveriga CNAME bilan yo'naltiring yoki proxy (Cloudflare) orqali ulang. Qo'llab-quvvatlash yordam beradi.
Faqat 32 belgili embed kaliti. API manzillari, SQL, DB parollar, server kod — hech biri ochiq turmaydi. Vitrina iframe izolyatsiyasida ishlaydi.
Kalit 32 hex belgi (128-bit entropiya). Xavola bo'lsa qo'llab-quvvatlash orqali bekor qilinadi va yangi kalit generatsiya qilinadi — eski embed darhol to'xtaydi.
JSON API faqat ommaviy ma'lumotni beradi (mahsulot nomi, narx, rasm). Buyurtmalar, mijozlar, moliya — hech qachon embed API dan o'tmaydi.
Portal, kassa, hisobotlar — faqat savdo vitrinasi embed qilinadi. Boshqaruv interfeyslari har doim Kirame serverida qoladi.