API reference
POST /api/v1/validate-license
WordPress plugins ამ endpoint-ს license validation-ისთვის, პირველი domain binding-ისთვის, local entitlement snapshot-ის განახლებისთვის და current build ID-ის გაგზავნისთვის იყენებს.
- მეთოდი
POST- მისამართი
/api/v1/validate-license
მოთხოვნის 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 format უნდა გაიაროს.
- site_url
- სავალდებულოა. ერთ host-ად ნორმალიზდება და domain binding-ისთვის გამოიყენება.
- domain
- legacy alias site_url-ისთვის. ახალმა clients-მა site_url უნდა გააგზავნოს.
- plugin_version
- არასავალდებულოა. თუ ცარიელი ან 0.0.0 არ არის, domain binding-ზე ინახება.
- build_id
- არასავალდებულო UUID watermarked ZIP-იდან. გამოიყენება telemetry-სა და abuse review-ში.
- 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 canonical JSON payload-ს აწერს ხელს signature field-ის გარეშე. Plugin-ებმა ეს signature უნდა შეამოწმონ, სანამ status-ს, modules-ს, features-ს ან expiry-ს ენდობიან.
სტატუსების mapping
Domain binding
პირველი წარმატებული validation ლიცენზიას site_url-იდან მიღებულ ნორმალიზებულ დომენზე აბამს. იგივე დომენზე შემდეგი validation-ები idempotent არის. სხვა დომენი იღებს signed invalid response-ს bound_domain-ით.