მთავარ შინაარსზე გადასვლა
codeon
CodeOn Core
API reference

POST /api/v1/validate-license

WordPress-ის პლაგინები ამ endpoint-ს ლიცენზიის ვალიდაციისთვის, პირველადი დომენის მისაბმელად, უფლებების ლოკალური ასლის (entitlements snapshot) გასაახლებლად და მიმდინარე build ID-ის გადასაცემად იყენებენ.

მეთოდი
POST
მისამართი
/api/v1/validate-license

მოთხოვნის ტანი (Request Body)

{
  "license_key": "SMS-7X4A-9KLM-2NQR-PV5Z",
  "site_url": "https://store.example.ge",
  "plugin_version": "0.3.10",
  "build_id": "1a8f7353-72ce-4f58-89ef-8e834f0dfc4f",
  "nonce": "optional-plugin-generated-string"
}
license_key
სავალდებულოა. უნდა აკმაყოფილებდეს CodeOn-ის საკონტროლო ჯამის (checksum) ფორმატს.
site_url
სავალდებულოა. ნორმალიზდება ერთ კონკრეტულ ჰოსტად და დომენის მისაბმელად გამოიყენება.
domain
მოძველებული ალტერნატივა (legacy alias) site_url-ისთვის. ახალმა კლიენტებმა site_url უნდა გააგზავნონ.
plugin_version
არასავალდებულოა. თუ ცარიელი ან 0.0.0 არ არის, დომენის ჩანაწერში ინახება.
build_id
არასავალდებულო UUID უნიკალური ნიშნულის მქონე (watermarked) ZIP ფაილიდან. გამოიყენება ტელემეტრიისა და დარღვევების მონიტორინგისთვის.
nonce
არასავალდებულოა. უცვლელად ბრუნდება ხელმოწერილ მონაცემებში (signed payload).

წარმატებული პასუხი (Response)

{
  "status": "active",
  "message": "ok",
  "modules": ["tbc_card"],
  "features": {
    "tbc_card": ["refund"]
  },
  "expires": "2027-05-30",
  "issued_at": "2026-05-30T09:12:00.000Z",
  "grace_period_hours": 336,
  "nonce": "optional-plugin-generated-string",
  "site_url": "https://store.example.ge",
  "signature": "base64-rsa-sha256"
}

signature ხელს აწერს კანონიკურ JSON მონაცემებს (canonical payload) თვითონ signature ველის გარეშე. პლაგინებმა ეს ციფრული ხელმოწერა აუცილებლად უნდა შეამოწმონ, სანამ status-ს, modules-ს, features-ს ან expiry-ს ენდობიან.

სტატუსების შესაბამისობა

სერვერის სტატუსიპლაგინის სტატუსიშენიშვნა
activeactiveსრულფასოვანი სამუშაო რეჟიმი.
graceactiveპლაგინი მუშაობას აგრძელებს; განახლების ან ვალიდაციის გაფრთხილება (warning) უნდა გამოჩნდეს.
expiredexpiredლოკალური საშეღავათო პერიოდის (grace period) დამუშავების შემდეგ ფასიანი ფუნქციონალი უნდა გაითიშოს.
revokedsuspendedფასიანი ფუნქციონალის დაუყოვნებლივი შეჩერება.

Domain binding

პირველი წარმატებული შემოწმებისას ლიცენზია site_url-იდან მიღებულ ნორმალიზებულ დომენზე მიებმება. იმავე დომენზე შემდგომი შემოწმებები იდემპოტენტურია. სხვა დომენი იღებს ხელმოწერილ invalid პასუხს bound_domain-ის მითითებით.

შეცდომები

HTTPResponseროდის
400invalidარასწორი JSON, აკლია ლიცენზიის კოდი / საიტის URL ან კოდის ფორმატია მცდარი.
403suspendedლიცენზია გაუქმებულია.
403invalidლიცენზია უკვე სხვა დომენზეა მიბმული.
404invalidუცნობი ლიცენზიის კოდი.
429rate limitერთ IP მისამართზე წუთში 60-ზე მეტი შემოწმება.