მთავარ შინაარსზე გადასვლა
codeon
CodeOn Core
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), რათა ადმინისტრატორებმა ინსტალაციების მიმოხილვის გვერდზე დაინახონ.
  • ეს ენდპოინტი პლაგინს არ თიშავს და თავიდან არ ააქტიურებს; აღდგენა ხდება ლიცენზიის ვალიდაციითა და ფაილების თავიდან ჩამოტვირთვით.