WebBlocks Support-Protokoll 1.0
WebBlocks CMS und andere Produkte verwenden dieses Protokoll, um eine Installation zu verbinden an einen Support-Anbieter, ohne dass die Installation organisationsweit erfolgt Berechtigung. WebBlocks Workbench ist ein Anbieter; Agenturen können dies umsetzen gleichen Vertrag auf ihrem eigenen HTTPS-Ursprung.
Entdeckung
GET /.well-known/webblocks-support gibt JSON zurück:
{
"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"]
}
Die Erkennungs-URL und die API-Basis-URL müssen denselben öffentlichen HTTPS-Ursprung verwenden. Weiterleitungen werden nicht befolgt. CMS 1.0 erfordert alle vier Tickets Fähigkeiten.
Installationsaktivierung
POST {api_base_url}/activations akzeptiert:
{
"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"
}
Die Einladung muss gültig, unbenutzt und für das angeforderte Produkt ausgestellt sein. Es wird atomar verbraucht, wenn die Aktivierung erstellt wird. Der Anbieter gibt eine zurück Aktivierungsgeheimnis für die Abfrage und einen benutzerseitigen Referenzcode:
{
"activation_id": "act_123",
"activation_secret": "one-install-polling-secret",
"user_code": "ABCD-EFGH",
"expires_at": "2026-08-28T14:00:00Z"
}
Kein Provider-Login oder eine externe Aktivierungsseite ist erforderlich. Der Anbieter
Der Betreiber überprüft die durch Einladung unterstützte Anfrage und die CMS-Umfragen
GET {api_base_url}/activations/{activation_id} mit dem
Aktivierungsgeheimnis als Inhabertoken. Eine ausstehende Antwort ist
{"status":"pending"}. Nach der Genehmigung wird Folgendes zurückgegeben:
{
"status": "active",
"credential": "installation-scoped-bearer-secret",
"plan_name": "Support",
"entitlement_expires_at": "2027-08-28T00:00:00Z"
}
Die Anmeldeinformationen müssen auf ein Produkt und eine Installation beschränkt sein. Es darf nicht Organisation, Projekt, Plan oder andere Installationsverwaltung ermöglichen.
Tickets
Alle Ticketaufrufe werden mit den Installationsberechtigungsnachweisen authentifiziert. Die Endpunkte
sind relativ zu api_base_url:
POST /ticketsGET /tickets?external_user_ref=...&install_ref=...GET /tickets/{ticket}?install_ref=...POST /tickets/{ticket}/commentsDELETE /installationzum Widerrufen der Installationsberechtigung
Ticketerstellung umfasst title, body, type, external_user_ref,
external_user_name, install_ref, product, product_version, site_url
und environment. Der Anbieter leitet sein Projekt und seine Berechtigung daraus ab
Berechtigung; Der Kunde liefert niemals eine Projekt-ID.
Ticket-Lesezugriffe müssen durch Zugangsdaten und install_ref begrenzt werden. Vor der Anzeige prüft das CMS außerdem external_user_ref, sodass ein Administrator durch Erraten der ID kein Ticket eines anderen Administrators lesen kann.
Einwilligungsbasierte Diagnose
A Anbieterwerbung diagnostics.request kann ausstehende Informationen enthalten
diagnostic_requests in GET /tickets/{ticket}. Jede Anfrage enthält eine
undurchsichtige ID und eine Gruppe von Kategorien auf der Zulassungsliste: system_summary,
recent_application_errors und plugin_health.
Die Installation muss diese Kategorien dem Ticketeigentümer anzeigen und eine erhalten
ausdrückliche Genehmigung einholen, bevor Sie etwas abholen oder versenden. Es antwortet mit
POST /tickets/{ticket}/diagnostics/{diagnostic} und entweder
{"action":"decline"} oder {"action":"submit","snapshot":{...}}.
Der Snapshot ist auf 64 KiB begrenzt und darf nur die angeforderten Kategorien enthalten.
Das Protokoll akzeptiert niemals einen Dateisystempfad oder einen beliebigen Befehl. Diagnose
Die Sammlung schließt .env, Anmeldeinformationen, Cookies und vollständige Protokolle aus. aktueller Fehler
Zeilen werden vor der Übertragung lokal begrenzt und geschwärzt. Anbieter behalten
die Zeitstempel der Anfrage, Einwilligung und Übermittlung als Audit-Trail.
Geheime Handhabung
Aktivierungs- und Installationsanmeldeinformationen sind Server-zu-Server-Geheimnisse. Sie Sie dürfen niemals an einen Browser zurückgegeben, protokolliert, in einen Site-Export eingefügt oder offengelegt werden wieder in der Benutzeroberfläche. CMS speichert sie verschlüsselt mit seinem Anwendungsschlüssel.