API referansı
Kredi
Mesaj kredisi bakiyenizi, etkin paketlerinizi, kullanım istatistiğinizi ve kredi hareketlerinizi görün.
#CreditTransaction nesnesi
idintegerHareket kimliği.typestringHareket türü (ör.consume).amountintegerKredi miktarı.balance_beforeintegerÖnceki bakiye.balance_afterintegerSonraki bakiye.sourcestring · boş olabilirKaynak (ör.api).reference_typestring · boş olabilirReferans türü.reference_idstring · boş olabilirReferans kimliği.notestring · boş olabilirAçıklama.created_atstringZaman.
CreditTransaction nesnesi
{
"id": 90211,
"type": "consume",
"amount": 1,
"balance_before": 9876,
"balance_after": 9875,
"source": "api",
"reference_type": "reserve",
"reference_id": "api_reserve:4f2a9c1e7b3d5a60",
"note": "REST API rezervasyon (gönderim öncesi)",
"created_at": "2026-10-10 10:15:03"
}#Bakiyeyi getir
GET
/credit/balanceGüncel mesaj kredisi bakiyesini ve son 30 günün özetini döndürür.
status: bakiye 0 ise exhausted, 5 ve altıysa low, aksi hâlde active.Ek kapsam gerekmez.
curl -X GET "https://api.verimerkezi.app/wa/credit/balance" \
-H "Authorization: Bearer $VM_API_KEY"const res = await fetch("https://api.verimerkezi.app/wa/credit/balance", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.VM_API_KEY}`,
},
});
const data = await res.json();import os, requests
res = requests.get(
"https://api.verimerkezi.app/wa/credit/balance",
headers={"Authorization": f"Bearer {os.environ['VM_API_KEY']}"},
)
data = res.json()<?php
$ch = curl_init("https://api.verimerkezi.app/wa/credit/balance");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("VM_API_KEY"),
],
]);
$data = json_decode(curl_exec($ch), true);Yanıt 200
{
"ok": true,
"balance": 9875,
"total_purchased": 10000,
"total_used": 125,
"total_refunded": 0,
"active_packages": 1,
"last_consume_at": "2026-10-10 10:15:03",
"low_threshold": 5,
"status": "active"
}#Etkin paketleri listele
GET
/credit/packagesHesabınızdaki etkin kredi paketlerini döndürür. Paketler yakın bitiş tarihinden başlayarak tüketilir.
Ek kapsam gerekmez.
package_slug ve source değerleri örnektir.curl -X GET "https://api.verimerkezi.app/wa/credit/packages" \
-H "Authorization: Bearer $VM_API_KEY"const res = await fetch("https://api.verimerkezi.app/wa/credit/packages", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.VM_API_KEY}`,
},
});
const data = await res.json();import os, requests
res = requests.get(
"https://api.verimerkezi.app/wa/credit/packages",
headers={"Authorization": f"Bearer {os.environ['VM_API_KEY']}"},
)
data = res.json()<?php
$ch = curl_init("https://api.verimerkezi.app/wa/credit/packages");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("VM_API_KEY"),
],
]);
$data = json_decode(curl_exec($ch), true);Yanıt 200
{
"ok": true,
"packages": [
{
"id": 42,
"package_slug": "profesyonel",
"package_name": "Profesyonel",
"credits_purchased": 10000,
"credits_used": 125,
"credits_remaining": 9875,
"activated_at": "2026-05-27 14:33:21",
"expires_at": "2027-05-27 14:33:21",
"source": "purchase"
}
],
"count": 1
}#Kullanım istatistiğini getir
GET
/credit/usageSeçilen gün sayısı için kredi kullanım özetini, kaynak kırılımını ve günlük seriyi döndürür. Kapsam:
reports:readby_source ve daily_usage içerikleri örnektir.Sorgu parametreleri
daysintegeristeğe bağlıGün sayısı (1–365).Varsayılan:30
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 403 | insufficient_scope | Anahtarda reports:read kapsamı yok. |
curl -X GET "https://api.verimerkezi.app/wa/credit/usage?days=30" \
-H "Authorization: Bearer $VM_API_KEY"const res = await fetch("https://api.verimerkezi.app/wa/credit/usage?days=30", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.VM_API_KEY}`,
},
});
const data = await res.json();import os, requests
res = requests.get(
"https://api.verimerkezi.app/wa/credit/usage?days=30",
headers={"Authorization": f"Bearer {os.environ['VM_API_KEY']}"},
)
data = res.json()<?php
$ch = curl_init("https://api.verimerkezi.app/wa/credit/usage?days=30");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("VM_API_KEY"),
],
]);
$data = json_decode(curl_exec($ch), true);Yanıt 200
{
"ok": true,
"period_days": 30,
"balance": 9875,
"total_purchased": 10000,
"total_used": 125,
"total_refunded": 0,
"by_source": {
"api": 120,
"panel": 5
},
"daily_usage": {
"2026-10-09": 14,
"2026-10-10": 6
},
"last_consume_at": "2026-10-10 10:15:03"
}#Kredi hareketlerini listele
GET
/credit/transactionsKredi hareketlerini yeniden eskiye, imleçle sayfalı döndürür. Kapsam:
reports:readSorgu parametreleri
limitintegeristeğe bağlıSayfa boyutu (1–200).Varsayılan:50cursorstringisteğe bağlıOpak imleç.typestringisteğe bağlıHareket türü süzgeci (ör.consume).sourcestringisteğe bağlıKaynak süzgeci (ör.api).
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 403 | insufficient_scope | Anahtarda reports:read kapsamı yok. |
curl -X GET "https://api.verimerkezi.app/wa/credit/transactions?limit=50" \
-H "Authorization: Bearer $VM_API_KEY"const res = await fetch("https://api.verimerkezi.app/wa/credit/transactions?limit=50", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.VM_API_KEY}`,
},
});
const data = await res.json();import os, requests
res = requests.get(
"https://api.verimerkezi.app/wa/credit/transactions?limit=50",
headers={"Authorization": f"Bearer {os.environ['VM_API_KEY']}"},
)
data = res.json()<?php
$ch = curl_init("https://api.verimerkezi.app/wa/credit/transactions?limit=50");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("VM_API_KEY"),
],
]);
$data = json_decode(curl_exec($ch), true);Yanıt 200
{
"ok": true,
"transactions": [
{
"id": 90211,
"type": "consume",
"amount": 1,
"balance_before": 9876,
"balance_after": 9875,
"source": "api",
"reference_type": "reserve",
"reference_id": "api_reserve:4f2a9c1e7b3d5a60",
"note": "REST API rezervasyon (gönderim öncesi)",
"created_at": "2026-10-10 10:15:03"
}
],
"next_cursor": "eyJpZCI6NTAsImsiOiJpZCIsImQiOiJkZXNjIn0",
"has_more": true
}