API reference
POST /api/v1/tamper-report
პლაგინი ამ endpoint-ს მაშინ იძახებს, როცა local build-stamp verification ვერ გადის. Call განზრახ ჩუმია: plugin უკვე recovery mode-შია, ამიტომ CodeOn signal-ს ინახავს და retry storm-ს არ ქმნის.
- მეთოდი
POST- მისამართი
/api/v1/tamper-report
მოთხოვნის body
{
"plugin_id": "balance-sync",
"domain": "https://store.example.ge",
"reported_build_id": "1a8f7353-72ce-4f58-89ef-8e834f0dfc4f",
"license_key": "SMS-7X4A-9KLM-2NQR-PV5Z",
"plugin_version": "0.3.18"
}- plugin_id
- სავალდებულოა. Known CodeOn plugin id-ს უნდა ემთხვეოდეს.
- domain
- სავალდებულოა. შენახვამდე ნორმალიზდება.
- reported_build_id
- არასავალდებულოა. Forensics-ისთვის უცვლელად ინახება.
- license_key
- არასავალდებულოა. თუ valid და known არის, matching license მოინიშნება.
- plugin_version
- არასავალდებულოა. Report-თან ერთად ინახება.
Response-ის contract
endpoint HTTP 202-ს { "ok": true }-ით აბრუნებს valid reports-ზე, invalid schemas-ზე, unknown plugin IDs-ზე და internal insert failures-ის უმეტესობაზე. ეს განზრახ ასეა: tamper reporting best-effort signal-ია და არა plugin-facing error channel.
სერვერის ქცევა
- Domain, source IP, user agent, plugin ID, build ID და plugin version ნორმალიზდება და ინახება.
- Reports მიიღება მაშინაც, როცა license key აკლია ან unknown არის.
- თუ license key valid და known არის, report ამ ლიცენზიას მიებმება.
- ლიცენზია tamper reason-ით მოინიშნება, რომ admins installation review screens-ზე დაინახონ.
- ეს endpoint plugin-ს არ ხსნის და არ re-enable-ებს; recovery license validation-ით და fresh downloads-ით ხდება.