API
API yang disediakan sejoli + addon sejoli license memungkinkan Anda mengaktifkan kode lisensi dari jarak jauh, memeriksa apakah kode tersebut valid (dan tidak expired), dan juga mengambil informasi tentang versi plugin/theme/app. API ini dapat diimplementasikan dengan sebagian besar perangkat lunak/app, bukan hanya Plugin dan Theme WordPress.
Permintaan API yang tersedia
activation_license→ Digunakan untuk mengaktifkan kode lisensi dari jarak jauhdeactivate_license→ Digunakan untuk menonaktifkan kode lisensi dari jarak jauhcheck_license→ Digunakan untuk memeriksa dari jarak jauh apakah kode lisensi diaktifkan, valid, dan tidak kedaluwarsaget_version→ Digunakan untuk mengambil informasi versi terbaru suatu produk dari jarak jauh
Masing-masing metode di bawah ini bekerja dengan cara yang sama. URL situs web tempat Anda menginstal plugin Sejoli + Sejoli License Manage akan bertindak sebagai titik akhir API. Semua permintaan ke API dilakukan sebagai permintaan GET atau POST dan ikuti format ini:
https://YOURSITE.com/?sejoli_action={request type}&item_name={slug product
}&license=0000072651-CCS5T-TNZ1L-JEXN3-1O0CSD&url={url web diinput lisensi}
Permintaan tersebut memerlukan tiga parameter dan memiliki satu parameter opsional:
sejoli_action→ Ini adalah jenis permintaan (lihat di bawah)item_name→ Merupakan nama directory/folder plugin atau theme.lisensi→ Ini adalah kode lisensi yang Anda gunakan untuk melakukan tindakanurl→ (opsional) Ini adalah URL situs asal permintaan API
Parameter url tidak terbatas pada URL. Misalnya perangkat lunak desktop dapat menggunakan parameter url untuk ID Sistem atau teks unik apa pun.
Aktifkan Kode Lisensi
Untuk mengaktifkan lisensi dari jarak jauh, URL yang akan Anda gunakan adalah:
https://YOURSITE.com/?sejoli_action=activate_license&item_name=element-widgets
&license=0000072651-CCS5T-TNZ1L-JEXN3-1O0CSD&url=http://licensedsite.com
Parameter lisensi diatur ke kode lisensi yang ingin Anda aktifkan.
Respons atas permintaan ini adalah objek JSON. Jika lisensi telah berhasil diaktifkan maka responnya adalah:
{
"success": true,
"license": "valid",
"item_id": false (or Item ID if passed)
"item_name": "Sejoli Product Name",
"license_limit": 0,
"site_count": 2,
"expires": "2020-06-30 23:59:59",
"activations_left": "unlimited",
"checksum": "<md5 checksum>",
"payment_id": 12345,
"order_parent_id": 0,
"customer_name": "John Doe",
"customer_email": "john@sample.org"
}
Jika lisensi tidak valid dan gagal diaktifkan, responsnya adalah:
{
"success": false,
"license": "invalid",
"item_id": false (or Item ID if passed)
"item_name": "Sejoli Product Name",
"error": "expired",
"expires": "2020-04-28 23:59:59",
"license_limit": 0,
"site_count": 1,
"activations_left": "unlimited",
"checksum": "<md5 checksum>",
"payment_id": 12345,
"order_parent_id": 0,
"customer_name": "John Doe",
"customer_email": "john@sample.com"
}
Kemungkinan kesalahan:
missing → Lisensi tidak ada
missing_url → URL tidak disediakan
disabled → Kunci lisensi dicabut
no_activations_left → Tidak ada aktivasi tersisa
expired → Lisensi telah kedaluwarsa
key_mismatch → Lisensi tidak berlaku untuk produk ini
id_item_id → ID Item tidak valid
item_name_mismatch → Lisensi tidak berlaku untuk produk ini
site_inactive → Situs tidak aktif untuk lisensi ini
invalid → Kunci lisensi tidak cocok
valid → Lisensi valid
Periksa apakah Lisensinya valid
Memeriksa apakah suatu lisensi valid dan tidak expired sangat mirip dengan aktivasi. Permintaan ini biasanya dilakukan jika Anda perlu memastikan bahwa suatu lisensi masih berlaku setelah diaktifkan. Lisensi akan habis masa berlakunya setelah satu tahun (secara default), jadi inilah yang akan Anda gunakan untuk memeriksa apakah lisensi telah habis masa berlakunya.
Untuk memeriksa lisensi dari jarak jauh, URL yang akan Anda gunakan adalah:
https://YOURSITE.com/?sejoli_action=check_license&element-widgets
&license=0000072651-CCS5T-TNZ1L-JEXN3-1O0CSD&url=http://licensedsite.com
Parameter lisensi diatur ke kode lisensi yang ingin Anda periksa. Respons atas permintaan ini adalah objek JSON. Jika lisensinya aktif dan masih berlaku maka responnya adalah:
{
"success": true,
"license": "valid",
"item_id": false, (or Item ID if passed)
"item_name": "Sejoli Product Name",
"checksum": "",
"expires": "2020-06-30 23:59:59",
"payment_id": 12345,
"order_parent_id": 0,
"customer_name": "John Doe",
"customer_email": "john@example.org",
"license_limit": 0,
"site_count": 2,
"activations_left": "unlimited",
}
Jika lisensinya tidak valid, responsnya adalah:
{
"success": false,
"license": "invalid",
"item_id": false, (or Item ID if passed)
"item_name": "Sejoli Product Name",
"expires": "2014-10-23 00:00:00",
"license_limit": 0,
"site_count": 1,
"activations_left": "unlimited",
"checksum": "checksum",
"payment_id": 54224,
"order_parent_id": 0,
"customer_name": "John Doe",
"customer_email": "john@sample.com",
}
Kemungkinan status lisensi:
disabled→ Kunci lisensi dicabutexpired→ Lisensi telah kedaluwarsakey_mismatch→ Lisensi tidak berlaku untuk produk iniid_item_id→ ID Item tidak validitem_name_mismatch→ Lisensi tidak berlaku untuk produk ini
Mendapatkan informasi versi
Mengambil informasi versi memungkinkan Anda mengambil data tentang nomor versi terbaru dari jarak jauh, termasuk log perubahan dan tautan unduh untuk file pembaruan.
Untuk mendapatkan informasi versi kode lisensi:
https://YOURSITE.com/?sejoli_action=get_version&element-widgets
&license=0000072651-CCS5T-TNZ1L-JEXN3-1O0CSD&url=http://licensedsite.com
Responsnya akan berupa objek JSON yang terlihat seperti ini:
{
“new_version”: “1.0.0”,
“version”: “1.0.0”,
“name”: “Element Widgets (3 Domain)”,
“slug”: “element-widgets”,
“requires”: 6.1,
“requires_php”: 7.4,
“url”: “https://membership.com/product/element-widgets-3-domain/?changelog=1”,
“last_updated”: “2024-10-17 14:02:15”,
“homepage”: “https://membership.com/product/element-widgets-3-domain/”,
“package”: “https://membership.com/sejoli-sl/package_download/MTcyOTMwNDIwNjowMDAwMDcyNjUxLUNDUzVULVROWjFMLUpFWE4zLTFPMENEOjcyNjpkMjAwNjQxNDdkZDZmMmQwZjU5OWVjNjhkMmIxOGMwYTpodHRwc0AvL3Byb2plY3RzLmxvY2FsOjA=”,
“download_link”: “https://membership.com/sejoli-sl/package_download/MTcyOTMwNDIwNjowMDAwMDcyNjUxLUNDUzVULVROWjFMLUpFWE4zLTFPMENEOjcyNjpkMjAwNjQxNDdkZDZmMmQwZjU5OWVjNjhkMmIxOGMwYTpodHRwc0AvL3Byb2plY3RzLmxvY2FsOjA=”,
“sections”: “a:2:{s:11:\”description\”;s:0:\”\”;s:9:\”changelog\”;s:0:\”\”;}”,
“banners”: “a:2:{s:4:\”high\”;s:0:\”\”;s:3:\”low\”;s:0:\”\”;}”,
“icons”: “a:0:{}”
}
Catatan mengenai tanggapan:
- Jika tidak ada kode lisensi yang diberikan dalam permintaan
get_version, informasi versi tetap dikembalikan; namun, nilai url paket dan unduhan akan kosong. Sebaliknya, jika kode lisensi diberikan tetapi bukan milikitem_namedalam permintaan, respons kesalahan akan dikembalikan dengan alasan sebagai nilai pesan. Download_linkakan disertakan jika file ada terlepas dari status lisensinya. Namun pengunduhan tidak akan berfungsi kecuali lisensinya aktif. Hal ini memungkinkan situs yang lisensinya telah habis masa berlakunya, untuk memperbaruinya, namun tidak perlu menunggu cache pembaruan dihapus sebelum mendapatkan pembaruan.- Properti section adalah array berseri yang mencakup deskripsi produk lengkap dan log perubahan.
Bagaimana cara mencegah akses ke perangkat lunak, plugin, atau theme saya jika lisensinya sudah habis masa berlakunya atau dinonaktifkan?
Status lisensi ini tidak mempengaruhi perangkat lunak/app, hanya menunjukkan status lisensinya. Terserah pengembang untuk membaca status itu untuk melakukan sesuatu. Misalnya, jika lisensi sudah Kedaluwarsa, perangkat lunak/app dapat memilih untuk berhenti bekerja atau memilih untuk memunculkan peringatan.
Satu pengecualian untuk hal ini adalah ketika melihat lisensi yang kedaluwarsa atau dinonaktifkan melekat pada unduhan, tautan unduhan, termasuk tautan get_version, tidak akan berfungsi. Oleh karena itu, pembaruan tidak lagi berfungsi melalui respons get_version.