Referans Verileri
Ham numaraları ve kodları okunur etiketlere çeviren yedi başvuru ucu.
Genel Bakış
WISECP API'si ham değer döndürür: durum kodu, ülke numarası, para birimi numarası. Bir arayüz bunları insanın okuyacağı hâle çevirmek zorundadır ve çeviri sözlüğü bu yedi uçta durur.
Bölünme bilinçli. Kaynak uçları ham kalır, çünkü etiket dile ve zamana göre değişir; sözlük ayrı durur, çünkü nadiren değişir ve bir kez çekilip saklanabilir.
Üç uç adres zinciri kurar: ülke, il ve şehir. Zincir tek yönlü çalışır; her adım bir öncekinin numarasını ister.
Referans
Para Birimleri
Tanımlı para birimlerini numaralarıyla döndürür.
curl 'https://panel.ornek.com/api/v1/admin/reference/currencies' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/reference/currencies', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();
const byId = Object.fromEntries(data.map((c) => [c.id, c.code]));$ch = curl_init('https://panel.ornek.com/api/v1/admin/reference/currencies');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Numaralar ISO sayilari DEGILDIR: kurulumun kendi numaralari, kurulumdan kuruluma degisir.
$rows = Api::Reference()->GetCurrencies()['data'];
$code = array_column($rows, 'code', 'id'); // [4 => 'USD']Ülkeler
Ülkeleri numara, kod ve çevrilmiş adla döndürür.
curl 'https://panel.ornek.com/api/v1/admin/reference/countries?lang=en' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/reference/countries?lang=en', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();
const name = Object.fromEntries(data.map((c) => [c.id, c.name]));$ch = curl_init('https://panel.ornek.com/api/v1/admin/reference/countries?lang=en');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Diger uclar ULKE NUMARASI ister, iki harfli kodu degil; esleme burada kurulur.
$rows = Api::Reference()->GetCountries([], ['lang' => 'en'])['data'];
$idOf = array_column($rows, 'id', 'code'); // ['US' => 840]İller
Bir ülkenin illerini döndürür.
curl 'https://panel.ornek.com/api/v1/admin/reference/states?country_id=840' \
-H "Authorization: Bearer $API_KEY"const url = new URL('https://panel.ornek.com/api/v1/admin/reference/states');
url.searchParams.set('country_id', countryId);
const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const { data } = await res.json();
if (! data.length) allowFreeText();$ch = curl_init('https://panel.ornek.com/api/v1/admin/reference/states?country_id=' . $countryId);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// BOS liste normaldir: her ulkenin il kaydi yoktur, o durumda adres alani serbest metindir.
$states = Api::Reference()->GetStates([], ['country_id' => $countryId])['data'];
$freeText = ! $states;Şehirler
Bir ilin şehirlerini döndürür.
curl 'https://panel.ornek.com/api/v1/admin/reference/cities?state_id=6' \
-H "Authorization: Bearer $API_KEY"const url = new URL('https://panel.ornek.com/api/v1/admin/reference/cities');
url.searchParams.set('state_id', stateId);
const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/reference/cities?state_id=' . $stateId);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Zincir tek yonludur: sehir icin ONCE ulke, sonra il numarasi cozulmelidir.
$states = Api::Reference()->GetStates([], ['country_id' => $countryId])['data'];
$cities = Api::Reference()->GetCities([], ['state_id' => $states[0]['id']])['data'];Diller
Müşteriye açık dilleri sırasıyla döndürür.
curl 'https://panel.ornek.com/api/v1/admin/reference/languages' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/reference/languages', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();
renderLanguagePicker(data);$ch = curl_init('https://panel.ornek.com/api/v1/admin/reference/languages');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Yalniz ACIK diller gelir; kapali dilleri de gormek icin dil yonetim ucunu kullanin.
$open = Api::Reference()->GetLanguages()['data'];
$all = Api::Languages()->GetLanguages()['data'];Ödeme Döngüleri
Faturalama döngüsü kodlarını okunur etiketleriyle eşler.
curl 'https://panel.ornek.com/api/v1/admin/reference/cycles?lang=en' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/reference/cycles?lang=en', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();
const label = Object.fromEntries(data.map((c) => [c.code, c.label]));$ch = curl_init('https://panel.ornek.com/api/v1/admin/reference/cycles?lang=en');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Liste ETIKET kaynagidir, gecerlilik kapisi degil: bir urunun hangi donguleri sattigi ayri sorudur.
$labels = array_column(Api::Reference()->GetCycles()['data'], 'label', 'code');
$sold = Api::Products()->GetProduct(['id' => $pid])['data']['prices'] ?? [];Durum Kodları
Bir varlık türünün durum kodlarını etiketleriyle eşler.
client ya da product. Verilmezse müşteri alınır.curl 'https://panel.ornek.com/api/v1/admin/reference/statuses?entity=client&lang=en' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/reference/statuses?entity=client', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();
const label = Object.fromEntries(data.statuses.map((s) => [s.value, s.label]));$ch = curl_init('https://panel.ornek.com/api/v1/admin/reference/statuses?entity=client');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Yalniz IKI tur vardir: fatura, siparis ve talep durumlari bu ucta YOK, kendi makalelerinde.
$out = Api::Reference()->GetStatuses([], ['entity' => 'client'])['data'];
$map = array_column($out['statuses'], 'label', 'value');Tuzaklar
Para birimi numarası kurulumun kendi kaydını gösterir; iki kurulumda aynı para birimi farklı numara taşıyabilir. Numarayı koda gömmeyin, bu listeden çözün. Ülke numaraları da aynı kuralı izler; taşınabilir olan kod, numara değil.
Her ülkenin il kaydı yoktur; böyle bir ülkede il ucu boş liste döner ve bu beklenen davranış. Adres formu o durumda seçim yerine serbest metin sunmalı. Boş listeyi hata sayan bir arayüz o ülkelerde adres kaydını tümüyle engeller.
Durum ucu müşteri ve ürün durumlarını verir. Fatura, sipariş, hizmet ve destek talebi durumları burada bulunmaz; onların kod listeleri kendi makalelerinde durur. Bilinmeyen bir tür istemek hata döndürür ve yanıtın ayrıntısı desteklenen listeyi gösterir.
Dil parametresi verilmezse etiketler panelin geçerli diliyle döner. Bir arka plan işi ya da rapor üreticisi için bu dil öngörülemez olabilir. Sonucu saklayacaksanız dili her zaman açıkça yazın.
Bu listeler her istekte çekilmek için değildir. Ülke ve şehir verisi neredeyse hiç değişmez, para birimi ve dil ise ayar değiştiğinde değişir. Uygulama açılışında bir kez çekip bellekte tutmak hem hızlı hem de kotanızı boşa harcamaz.
İ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.