API reference
POST /api/v1/tamper-report
პლაგინი ამ endpoint-ს მაშინ მიმართავს, როცა ლოკალური build-stamp-ის შემოწმება ვერ ხერხდება. მოთხოვნა განზრახ უხმოა: პლაგინი უკვე აღდგენის რეჟიმშია, ამიტომ CodeOn-ი სიგნალს ინახავს და განმეორებითი მოთხოვნების ტალღას (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
- სავალდებულოა. CodeOn-ის პლაგინის ცნობილ ID-ს უნდა ემთხვეოდეს.
- domain
- სავალდებულოა. შენახვამდე ნორმალიზდება.
- reported_build_id
- არასავალდებულოა. ანალიზისთვის (forensics) უცვლელად ინახება.
- license_key
- არასავალდებულოა. თუ ვალიდური და ცნობილია, შესაბამისი ლიცენზია მოინიშნება.
- plugin_version
- არასავალდებულოა. ანგარიშთან ერთად ინახება.
პასუხის კონტრაქტი
Endpoint-ი HTTP 202-ს { "ok": true }-ით აბრუნებს ვალიდურ რეპორტებზე, არასწორ სქემებზე, უცნობი პლაგინის ID-ებზე და მონაცემთა შიდა ჩაწერის შეცდომების უმეტესობაზე. ეს განზრახ არის ასე მოწყობილი: tamper reporting ცალმხრივი, best-effort სიგნალია და არა პლაგინისთვის შეცდომების გადაცემის არხი.
სერვერის ქცევა
- დომენი, წყაროს IP, user agent, პლაგინის ID, build ID და პლაგინის ვერსია ნორმალიზდება და ინახება.
- რეპორტები მიიღება მაშინაც, როცა ლიცენზიის კოდი მითითებული არ არის ან უცნობია.
- თუ ლიცენზიის კოდი ვალიდური და ნაცნობია, რეპორტი ამ ლიცენზიას მიებმება.
- ლიცენზია მოინიშნება ჩარევის მიზეზით (tamper reason), რათა ადმინისტრატორებმა ინსტალაციების მიმოხილვის გვერდზე დაინახონ.
- ეს ენდპოინტი პლაგინს არ თიშავს და თავიდან არ ააქტიურებს; აღდგენა ხდება ლიცენზიის ვალიდაციითა და ფაილების თავიდან ჩამოტვირთვით.