Eklenti Modülleri
Kurulu eklenti modüllerini listeleyen, ayarlayan, deneyen ve kaldıran yedi uç.
Genel Bakış
Eklenti modülleri kurulumu genişleten parçalardır: muhasebe entegrasyonu, sohbet, çeviri. Bu yedi uç onları listeler, ayarlar, dener, kendi metotlarını çalıştırır ve kaldırır.
Her modül farklı şeyler destekler. Detay ucundaki yetenek listesi neyin mümkün olduğunu söyler: ayarı var mı, bağlantı denemesi sunuyor mu, hangi metotları çağrılabilir. Metot adını tahmin etmek yerine bu listeden okuyun.
Referans
Eklentileri Listeleme
Kurulu eklenti modüllerini döndürür.
meta altında ayrı döner.curl -G 'https://panel.ornek.com/api/v1/admin/tools/addons' \
-H "Authorization: Bearer $API_KEY" \
-d status=enabledconst url = new URL('https://panel.ornek.com/api/v1/admin/tools/addons');
url.searchParams.set('status', 'enabled');
const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const body = await res.json();$url = 'https://panel.ornek.com/api/v1/admin/tools/addons?' . http_build_query(['status' => 'enabled']);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Magaza modulleri KURULU listede degil, meta altinda ayri gelir.
$response = Api::Tools()->GetAddons([], ['include_premium' => 1]);
$installed = $response['data'];
$buyable = $response['meta']['premium'] ?? [];Eklenti Detayı
Bir eklentinin ayarlarını, form tanımını ve neler yapabildiğini döndürür.
curl 'https://panel.ornek.com/api/v1/admin/tools/addons/Parasut' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Cagirilabilir metotlarin listesi BURADAN gelir; metot adini tahmin etmeyin.
$module = Api::Tools()->GetAddon(['module' => 'Parasut'])['data'];
$methods = $module['capabilities']['methods'];Durumu Değiştirme
Eklentiyi etkinleştirir ya da devre dışı bırakır.
1 etkinleştirir, 0 devre dışı bırakır.curl -X PUT 'https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/status' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"status":1}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/status', {
method: 'PUT',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 1 }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/status');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['status' => 1]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Etkinlestirmek modulun kendi kurulum adimlarini calistirir: tablo acabilir, kanca kaydedebilir.
Api::Tools()->UpdateAddonStatus(['module' => 'Parasut', 'status' => 1]);Ayarları Kaydetme
Modülün ayarlarını yazar ve isterseniz durumunu da aynı istekte değiştirir.
curl -X PUT 'https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/settings' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"fields":{"api_key":"xxxx"},"status":1}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/settings', {
method: 'PUT',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
fields: { api_key: secret },
status: 1,
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/settings');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'fields' => ['api_key' => $secret],
'status' => 1,
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Detaydan okudugunuz sifre alanlari MASKELIDIR: oldugu gibi geri gonderirseniz maskeyi kaydedersiniz.
$module = Api::Tools()->GetAddon(['module' => 'Parasut'])['data'];
$fields = $module['settings'];
unset($fields['api_key']); // dokunulmayacaksa hic gonderme
$fields['webhook_url'] = $url;
Api::Tools()->UpdateAddonSettings(['module' => 'Parasut', 'fields' => $fields]);Bağlantıyı Deneme
Modülün kayıtlı ayarlarıyla karşı servise ulaşıp ulaşmadığını dener.
curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/test-connection' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/test-connection', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/test-connection');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Deneme KAYITLI ayarlari kullanir: once kaydedin, sonra deneyin.
Api::Tools()->UpdateAddonSettings(['module' => 'Parasut', 'fields' => $fields]);
$test = Api::Tools()->TestAddonConnection(['module' => 'Parasut']);Modül Metodu Çalıştırma
Eklentinin kendi metotlarından birini çalıştırır.
curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/methods/sync' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/methods/sync', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut/methods/sync');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bos donus BASARISIZLIK sayilir: metot bir sey dondurmuyorsa 'method_failed' alirsiniz.
$module = Api::Tools()->GetAddon(['module' => 'Parasut'])['data'];
if (in_array('sync', $module['capabilities']['methods'], true)) {
Api::Tools()->RunAddonMethod(['module' => 'Parasut', 'method' => 'sync']);
}Eklentiyi Silme
Modülü kaldırır ve dosyalarını diskten siler.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/addons/Parasut' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut', {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/addons/Parasut');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bu uc modulun DIZININI de siler: geri donmek icin modulu yeniden yuklemeniz gerekir.
// Gecici olarak durdurmak istiyorsaniz durumu kapatin, silmeyin.
Api::Tools()->UpdateAddonStatus(['module' => 'Parasut', 'status' => 0]);Tuzaklar
Detay ucu şifre tipindeki alanları maskeli döndürür. Ayarları okuyup olduğu gibi geri yazarsanız gerçek şifrenin yerine maskeyi kaydedersiniz ve modül karşı servise bağlanamaz. Değişmeyecek şifre alanlarını gövdeden tamamen çıkarın.
Silme ucu modülü yalnız kapatmaz: kendi kaldırma adımını çalıştırır ve dosyalarını diskten siler. Geri dönmek modülü yeniden yüklemeyi gerektirir. Bir modülü geçici olarak durdurmak istiyorsanız durumunu kapatın.
Bağlantı denemesi gövde almaz; modülün zaten kayıtlı ayarlarıyla çalışır. Yeni bir anahtarı denemek istiyorsanız önce kaydetmeniz gerekir, yani deneme başarısız olursa yanlış ayar çoktan yazılmış olur.
Modül metodu çalıştırma ucu, metot bir şey döndürmediğinde method_failed verir. Yani gerçekten çalışmış ama sonuç üretmemiş bir metot da hata gibi görünür; modülün ne döndürdüğünü bilmeden bu kodu kesin başarısızlık saymayın.
Satın alınabilir modülleri istediğinizde onlar ana listeye karışmaz; ayrı bir alanda döner. Ana listedeki her satır kuruludur, o yüzden "kurulu mu" alanına bakarak ayırmaya çalışmayın.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.