Ana içeriğe geç

REST

Platform API belirteci oluşturmak için API ile bağlanma bölümünden başlayın. Herkese açık REST temel URL'si https://reconstruct.dev/api/v1/platform şeklindedir. Aşağıdaki yollar bu URL'ye göredir.

Platform türlerini ve ortamları GET /capture-options ile keşfedin; kimliklerini sabit kodlamayın. Katalog platform seçenekleri platform türü (desktop/mobile) için view, ortamı için implementation kullanır. Masaüstü web, web-extension, macos, windows, linux; mobil web, ios, android destekler. Veri istemeden önce her seçeneğin captured bayrağını kontrol edin. MCP'de bu alanlar platform ve environment olarak adlandırılır; MCP sayfasının view alanı tam kaydedilmiş cihaz profili anahtarıdır. MCP seçimi bölümüne bakın.

Her istekte Authorization: Bearer <token> gönderin. Katalog uç noktaları şunlardır:

Yöntem ve yolAmaç
GET /catalogs?pageSize=10&pageToken=...Katalogları listeleyin. pageSize ve pageToken isteğe bağlıdır.
GET /capture-optionsPlatform türü kimlikleri, etiketler, ortam seçenekleri, varsayılanlar ve gönderim için requestPlatforms dahil desteklenen seçenekler. Kimlik doğrulama veya kullanım ölçümü yoktur; yakalama içeriği içermez.
GET /catalogs/{catalogId}?version=...Yayımlanmış kataloğun ekranlarını, platformlarını, dillerini ve sürümlerini okuyun.
GET /catalogs/{catalogId}/insights?locale=en&view=desktop&implementation=webYayımlanmış sürümün teknolojilerini, işleme bilgilerini, yazı tipi ailelerini, metin stillerini, medya varlıklarını ve renk temalarını okuyun.

JSON yanıtı camelCase alan adları kullanır. GET /catalogs, catalogs ve başka sonuçlar varsa nextPageToken döndürür. Bu belirteci sonraki istekte pageToken olarak geçirin. Katalog ayrıntısı catalogId, name, kind ve description içerir.

locale, view ve implementation isteğe bağlıdır. view, desktop veya mobile; implementation, web, web-extension, windows, macos, linux, ios veya android kabul eder. Katalog ayrıntıları kullanılabilir birleşimleri platforms[] içinde döndürür; ekranlar kendi implementation değerlerini taşır. Teknoloji, tipografi ve medya bu birleşim ve dil kapsamındadır. technologyInventory: true, görünüm bazında algılama eksik olduğunda sürüm düzeyinde teknoloji envanterini belirtir. Öykünülmüş iPhone'daki Web yakalamaları mobile + web olarak kalır. Eski bir yakalamada sayfa ayrıntısı yoksa yanıt sürüm düzeyindeki yazı tipi ve varlık envanterini kullanır ve pageCount: 0 döndürür. Varlık bağlantıları özgün kaynaklarını korur. Kaydedilmiş kaynaklar aşağıdaki dosya işlemiyle okunabilir.

Katalog filtreleri ve sürümler​

ListCatalogs, query, sort (newest, name-asc, name-desc, screens, versions), screens (with/without), versions (single/multiple) ve tekrarlanan platforms, technologies, renderings, categories, languages alanlarını kabul eder. Platform filtre kimlikleri görünüm ve uygulamayı birleştirir; örneğin desktop:web. Yanıtın filters alanındaki kimlikleri kullanın; aynı filtrenin seçenekleri alternatiftir, farklı filtreler birlikte uygulanır. nextPageToken izlerken filtreleri ve sıralamayı değiştirmeyin.

GetCatalog, GetCatalogInsights ve GetCatalogFile, isteğe bağlı version kabul eder. Boş değer en son yayımlanan yakalamayı seçer. Katalog ayrıntısı seçili version ile yayımlanmış tüm versions[] değerlerini döndürür; latestVersion ve latestCapturedAt yine en yeni yakalamayı tanımlar. Tutarlı veri için seçili sürümü sonraki içgörü ve dosya çağrılarına geçirin. Taslak ve bilinmeyen sürümler 404 döndürür.

İçgörüler ayrıca section kabul eder: tech stack, typography, colors, themes veya assets (tümü için atlayın). colorThemes[] adlandırılmış paletler içerir. platforms[].captured kullanılabilir platform seçeneklerini tanımlar; detectedLocales[] keşfedilen dilleri, locales[] ise yakalanmış dilleri içerir.

Bileşen ölçümleri​

componentSizing[], yakalanmış ölçümleri anlamsal bileşen türüne göre gruplar. Components sekmesinde bir bileşeni açarak ekran görüntülerini, yakalanmış boyutları, iç boşluğu, köşe yarıçapını, kenarlıkları, gölgeleri ve etkileşim durumlarını inceleyin. Genel kapsayıcılar bileşen ölçümlerine dahil edilmez.

dimensionContexts[] sahiplik bağlamı ekler: bileşen türü, CSS özelliği, özgün değer/kısaltma, toplam sayı ve en fazla üç kaynak örneği. Örnekler sayfayı, görünümü, yakalamaya göre yolu, kaynak öğe kimliğini/etiketini/açıklamasını, bilinen üst öğeyi ve en fazla üç doğrudan alt öğeyi tanımlar (childCount toplam sayılarını verir). Bunlar o sayfa/görünüm/sürümün ham yakalama kimlikleridir; yeniden numaralanmış MCP katman kimlikleri değildir. Örnek görünümü tam saklanmış anahtardır (örneğin laptop); katalog filtre görünümü ise desktop veya mobile olur. Eksik kimlikler -1 şeklindedir. Sayılar yalnızca yakalanmış öğeleri kapsar; sayılar veya örnek listeleri sitenin tamamını kapsadığını iddia etmez.

Katalog ölçümleri her bileşenin ayrıntısında sunar. Padding öğenin içinde, margin çevresindedir; margin her zaman komşusuna olan mesafe değildir. Gap değerleri kapsayıcılara aittir; listelenen alt öğeler örnektir, ölçülmüş komşu çiftleri değildir. Boyutlandırma bileşenin kendisini tanımlar. Özgün birimleri ve kısaltmaları koruyun. Ayrı MCP get_spacing ve get_sizing araçları tek sayfa/görünüm için sayfalı bağlam veya özet sunar.

Fonts sekmesi özgün yazı tipi dosyalarını ZIP olarak indirir; boyut ve dil kullanımı JSON indirmeleri textStyles[] ve fonts[].locales verilerinden türetilir. Bunlar istemcide oluşturulan dosyalardır, ek @export uç noktaları değildir. Keşfedilmiş diller (detectedLocales) o dillerin ekran görüntülerinin yakalandığını garanti etmez.

Depolanmış dosyalar ve dışa aktarımlar​

GET /catalogs/{catalogId}/files/{path}, JSON BinaryFileResponse döndürür: data base64 biçimindedir, contentType çözümlenen baytları tanımlar. Yollar screens[] alanından gelir (imagePath, fullPagePath, sectionPaths[], videoPath, interactionVideoPath). Ekranlar eksik yakalamaları captureLimited ile işaretler.

Aynı yol, arşivlenmiş özgünler için @asset/{hash}, @font/{hash} ve @model/{hash} kabul eder; hash, özgün kaynak URL'sinin veya veri URL'sinin UTF-8 biçimindeki SHA-256 özetinin küçük harfli onaltılık gösterimidir. ZIP dışa aktarımları döndürmek için @export/assets, @export/fonts, @export/colors, @export/screenshots, @export/components, @export/languages, @export/technologies ve @export/spacing-sizing değerlerini de kabul eder. Boşluk/boyut arşivi, seçili sürüm, sayfa sayısı, toplu dimensions, componentSizing ve bağlamsal dimensionContexts içeren spacing-sizing.json dosyasını içerir. Seçili yakalamanın dosyaları ve dışa aktarımları için version kullanın. Normal JSON yakalama dosyaları bu işlemle sunulmaz.

Çağıran kullanıcı işlemleri​

Yöntem ve yolAmaç
POST /requestsurl ve subject ile requestType: PRODUCT_REQUEST_TYPE_ADD veya catalogId ile requestType: PRODUCT_REQUEST_TYPE_UPDATE gönderin.
GET /requests, GET /requests/{requestId}Çağıranın gönderimlerini sayfalayın; kararları, güvenlik kontrollerini ve yakalama ilerlemesini inceleyin.
GET /me/appearance, PUT /me/appearanceTakma adı okuyun/güncelleyin.
GET /me/avatar, PUT /me/avatar, DELETE /me/avatarAvatarı okuyun, yükleyin (data base64 olarak) veya kaldırın.
GET /tokens, POST /tokens, DELETE /tokens/{id}Kişisel belirteçleri yönetin; oluşturma işlemi name, scopes (api, mcp) ve expiresInDays (1–365) kabul eder. Gizli değer bir kez döndürülür.
GET /me/profile, PUT /me/profileHesap profilinizi okuyun/güncelleyin (profile nesnesi).
GET /me/credentials, GET /me/sessions, DELETE /me/sessions/{id}Kimlik bilgilerini/oturumları inceleyin ve bir oturumu sonlandırın.

Hesap, görünüm, avatar ve belirteç yönetimi işlemleri giriş yapmış kullanıcının oturum belirtecini gerektirir; kişisel API belirteçleri bu işlemleri yetkilendirmez. Kataloglar ve istekler api kapsamlı kişisel belirteç kabul eder. WatchCatalogs ve WatchRequests akışları gRPC/gRPC-Web üzerinden kullanılabilir ve REST yolu yoktur.

Örnekler​

Ürün gönderimleri aynı temel URL altında POST /requests, GET /requests ve GET /requests/{request_id} kullanır. requestType: PRODUCT_REQUEST_TYPE_ADD için oluşturma, url ve subject gerektirir; catalogId isteğe bağlıdır. PRODUCT_REQUEST_TYPE_UPDATE için mevcut catalogId verin; sunucu adı ve kaynak URL'sini çözümler. İstekler kalıcı olarak saklanır ve yalnızca sahipleri erişebilir. Yakalama öncesi incelenir, gerekçeyle onaylanabilir veya reddedilebilir. Bilinen güvensiz siteler otomatik reddedilir. REST ve gRPC aynı istek işlemlerini sunar.

Normalleştirilmiş arayüz verileri​

Sahne veri biçimi, durumlar, kaynaklar ve kanıtlar dahil platformdan bağımsız arayüz çıktılarını tanımlar. Mevcut normalleştirilmiş dışa aktarım MCP get_interface_scene üzerinden alınır; bu katalog API'si ayrı bir Scene işlemi tanımlamaz.