KIRAME Yuklanmoqda...
KIRAME v2.1
Shaxsiy Domen / Embed

Do'konni O'z Domeningizga Ko'chiring

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.

Do'koningizga ulaning

Shaxsiy domen sozlamalarini ko'rish uchun hisobingizga kiring yoki do'kon yarating.

Kirish

Eng oddiy yo'l — 2 qator kod

Mijoz saytining istalgan joyiga quyidagini qo'shing — vitrina to'liq ishlaydi (savat, buyurtma, QR to'lov). HTML, WordPress, Shopify, Tilda — hammasida bir xil.

index.html
<div id="aura-store"></div>
<script src="http://kirame.uz/api/embed.php?key=EMBED_KALIT"></script>
Yoki iframe bilan (balandlikni h= bilan boshqaring)
<iframe src="http://kirame.uz/api/embed.php?key=EMBED_KALIT&view=iframe" style="width:100%;height:900px;border:0" ></iframe>

REST API — 8 tilda namunalar

Mahsulotlar ro'yxatini o'z saytingizda ko'rsatish uchun JSON API: GET http://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}'

Shaxsiy Domen Setup — 3 qadam

1

Kalitni oling

Yuqoridagi status kartasidan EMBED_KALIT ni nusxalang (Pro/Enterprise avtomatik beriladi).

2

Saytiga kod qo'shing

Yuqoridagi 2 qatorli HTML yoki API namunalaridan birini ishlating. Hosting istalgan (shared, VPS, static).

3

Domen yo'naltirish (DNS)

o'z-domen.uz ni Kirame serveriga CNAME bilan yo'naltiring yoki proxy (Cloudflare) orqali ulang. Qo'llab-quvvatlash yordam beradi.

Xavfsizlik — nima ochiq, nima yopiq

Mijoz kodida nima ko'rinadi?

Faqat 32 belgili embed kaliti. API manzillari, SQL, DB parollar, server kod — hech biri ochiq turmaydi. Vitrina iframe izolyatsiyasida ishlaydi.

Kalit xavfsizligi

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.

Ma'lumot xavfsizligi

JSON API faqat ommaviy ma'lumotni beradi (mahsulot nomi, narx, rasm). Buyurtmalar, mijozlar, moliya — hech qachon embed API dan o'tmaydi.

Nima embed qilib bo'lmaydi?

Portal, kassa, hisobotlar — faqat savdo vitrinasi embed qilinadi. Boshqaruv interfeyslari har doim Kirame serverida qoladi.