WebBlocks Support Protokolü 1.0
WebBlocks CMS ve diğer ürünler, bir kurulumu bağlamak için bu protokolü kullanır kuruluma kuruluş çapında bir imkan vermeden bir destek sağlayıcıya kimlik bilgisi. WebBlocks Workbench tek bir sağlayıcıdır; ajanslar uygulayabilir kendi HTTPS kökenlerinde aynı sözleşme.
Keşif
GET /.well-known/webblocks-support, JSON'u döndürür:
{
"protocol": "webblocks-support",
"version": "1.0",
"name": "Example Support",
"api_base_url": "https://support.example.com/api/webblocks-support/v1",
"capabilities": ["ticket.create", "ticket.list", "ticket.read", "ticket.reply", "diagnostics.request", "diagnostics.consent"],
"activation_methods": ["invitation_code"]
}
Keşif URL'si ve API temel URL'si aynı genel HTTPS kaynağını kullanmalıdır. Yönlendirmelere uyulmuyor. CMS 1.0 dört biletin tümünü gerektirir yetenekleri.
Kurulum aktivasyonu
POST {api_base_url}/activations şunu kabul eder:
{
"install_ref": "random-install-uuid",
"product": "webblocks-cms",
"product_version": "1.74.0",
"site_url": "https://example.com",
"environment": "production",
"invitation_code": "WBS-ABCD-EFGH-IJKL"
}
Davetiye geçerli, kullanılmamış ve talep edilen ürün için düzenlenmiş olmalıdır. o Aktivasyon oluşturulduğunda atomik olarak tüketilir. Sağlayıcı bir Yoklama için etkinleştirme sırrı ve kullanıcıya yönelik bir referans kodu:
{
"activation_id": "act_123",
"activation_secret": "one-install-polling-secret",
"user_code": "ABCD-EFGH",
"expires_at": "2026-08-28T14:00:00Z"
}
Sağlayıcı oturum açma işlemi veya harici etkinleştirme sayfası gerekmez. sağlayıcı
operatör davet destekli isteği ve CMS anketlerini inceler
GET {api_base_url}/activations/{activation_id} ile
Taşıyıcı belirteci olarak etkinleştirme sırrı. Bekleyen bir yanıt:
{"status":"pending"}. Onaylandıktan sonra şunu döndürür:
{
"status": "active",
"credential": "installation-scoped-bearer-secret",
"plan_name": "Support",
"entitlement_expires_at": "2027-08-28T00:00:00Z"
}
Kimlik bilgisi tek bir ürün ve kurulumla sınırlı olmalıdır. Olmamalı organizasyon, proje, plan veya diğer kurulum yönetimine izin verir.
Biletleri
Tüm bilet aramaları kurulum kimlik bilgileriyle doğrulanır. Uç noktalar
api_base_url'ye göredir:
POST /ticketsGET /tickets?external_user_ref=...&install_ref=...GET /tickets/{ticket}?install_ref=...POST /tickets/{ticket}/comments- Kurulum kimlik bilgisini iptal etmek için
DELETE /installation
Ticket oluşturma şunları içerir: title, body, type, external_user_ref,
external_user_name, install_ref, product, product_version, site_url
ve environment. Sağlayıcı, projesini ve yetkisini
kimlik bilgisi; müşteri hiçbir zaman bir proje kimliği sağlamaz.
Destek talebi okumaları kimlik bilgisi ve install_ref kapsamıyla sınırlandırılmalıdır. CMS, bir talebi göstermeden önce external_user_ref değerini de kontrol eder; böylece bir yönetici, kimliğini tahmin ederek başka bir yöneticinin talebini okuyamaz.
Onaya dayalı teşhis
diagnostics.request desteğini bildiren bir sağlayıcı, bekleyen diagnostic_requests kayıtlarını GET /tickets/{ticket} yanıtına dahil edebilir. Her istek, iç yapısı istemci tarafından yorumlanmayan bir kimlik ve izin verilen kategori kümesi içerir: system_summary, recent_application_errors ve plugin_health.
Kurulum bu kategorileri bilet sahibine göstermeli ve bir
herhangi bir şeyi toplamadan veya göndermeden önce açık onay. Şununla yanıt verir:
POST /tickets/{ticket}/diagnostics/{diagnostic} ve her ikisi de
{"action":"decline"} veya {"action":"submit","snapshot":{...}}.
Anlık görüntünün sınırı 64 KiB'dir ve yalnızca istenen kategorileri içerebilir.
Protokol hiçbir zaman dosya sistemi yolunu veya rastgele komutu kabul etmez. Teşhis
koleksiyona .env, kimlik bilgileri, çerezler ve tam günlükler dahil değildir; son hata
satırlar iletimden önce sınırlanır ve yerel olarak düzenlenir. Sağlayıcılar elinde tutuyor
denetim takibi olarak istek, onay ve gönderim zaman damgaları.
Gizli işleme
Etkinleştirme ve yükleme kimlik bilgileri, sunucular arası sırlardır. onlar asla bir tarayıcıya döndürülmemeli, günlüğe kaydedilmemeli, bir site aktarımına yerleştirilmemeli veya ifşa edilmemelidir tekrar kullanıcı arayüzünde. CMS bunları uygulama anahtarıyla şifrelenmiş olarak saklar.